为了和Excel联动,可以在工具目录打开这个xlam的文件 接着在excel里面就会出现这个 https://www.mathworks.com/help/matlab/ref/load.html?s_tid=srchtitle_load_1 一般来说,第一个语法形式是要用的最基础的写法 可以看到是加载两种文件 加载文件时的名字 太离谱了,数据得自己输入 names types x y answer Sally Typy1 3.1 45 Yes Tom Type1 2.5 20 No Joy Type3 0.51 1 No Lily Type2 2.1 80 Uncertain 我们把这个文件放到Matlab的文件夹里面 写一个函数就开始提示了 这里说不推荐使用,先看看 [A,B,C,...] = textread(filename,format) 以指定的 format 将数据从文件filename 读入到 A、B、C 等变量中,直到整个文件读取完毕。将 filename 和 format输入指定为字符向量或字符串标量。textread 对于读取已知格式的文本文件非常有用。textread 可处理固定格式文件和任意格式文件。 textread 可对输入中的字符组进行匹配和转换。每个输入字段都定义为一组连续延伸的非空白字符,这些字符延伸到下一个空白字符或分隔符,或者到达最大字段宽度时停止。重复的分隔符为有效字符,而重复的空白字符视为一个字符。 format 输入,指定为字符向量或字符串向量,用于确定返回参数的数量和类型。返回参数的数量是 format 的内容所指示的项目数。format 支持部分转换设定符和 C 语言 fscanf例程约定。下表列出了 format 的值。format 中的空白字符将被忽略。 各种读取格式 读取时时对应的 也可以使用内置的导入器 支持的文件内容丰富 文本文件可以在右侧预览 在最上面可以看到数据的类型 生成的调用函数 老实讲,matlab太好用了。。。喂你吃饭 这是生成脚本 %% 根据格式读取数据列。 % 该调用基于生成此代码所用的文件的结构。如果其他文件出现错误,请尝试通过导入工具重新生成代码。 dataArray = textscan(fileID, formatSpec, endRow, 'Delimiter', delimiter, 'TextType', 'string', 'ReturnOnError', false, 'EndOfLine', '\r\n'); 根据格式读取数据列,太贴心了 这个函数可以读取你在截切版中复制的数据 太牛了 >> x=[1 2 3 4 5 6 7 8 9]; >> y=[9 7 6 3 -1 2 5 7 20]; >> p=polyfit(x,y,3) p =
0.1481 -1.4030 1.8537 8.2698
>> xi=0:.2:10; >> yi=polyval(p,xi); >> plot(xi,yi,x,y,'r*'); 数据拟合 多项式拟合,返回降幂排列的多项式系数 函数的第三个参数是拟合的最高次幂 一般拟合前先看看大致情况 用工具箱拟合 需要我们设置这些个参数 怎么说呢,这些参数的拟合是动态拟合的 我们这里提前看答案了,知道三次就拟合的比较好看 Linear model Poly3: f(x) = p1*x^3 + p2*x^2 + p3*x + p4 Coefficients (with 95% confidence bounds): p1 = 0.1481 (0.03346, 0.2628) p2 = -1.403 (-3.141, 0.335) p3 = 1.854 (-5.824, 9.531) p4 = 8.27 (-1.093, 17.63)
Goodness of fit: SSE: 14.19 R-square: 0.9494 Adjusted R-square: 0.919 RMSE: 1.685
最终结果,95的信度 结果相当漂亮了 x=[0;0.4;1.2;2;2;2.8;3.6;4.4;5.2;6;7.2;8;9.2;10.4;11.6;12.4;13.6;14.4;15]; y=[1;0.85;0.29;-0.27;-0.53;-0.4;-0.12;0.17;0.28;0.15;-0.03;-0.15;-0.071;0.059;0.08;0.032;-0.015;-0.02]; 数学模型这种事情,肯定是拿人口模型开刀: 一开始就是长的这样 然后做对数变换,其实就是一种放缩我觉得 这个也是 几种常见的拟合方法 指数拟合 幂函数拟合 知乎一位朋友对对数这个东西的解释 https://www.zhihu.com/question/22012482 |
|