MATLAB在数学建模中的应用 读书笔记1
matlab读取/保存excel文件
file=xlsread('文件路径',第几个sheet,'读入数据的范围')
例如:data = xlsread('e:anaconda_code\A.csv',1,'A1:B4')
xlswrite(('e:anaconda_code\A.csv',data,1,'A1:B4') data是写入的数据
matlab与txt交互
读取:load('***.txt')
保存:
a = linspace(3,30,8);
save d:\exper.txt a -ascii 把变量 a 以ascii码储存在D盘的exper.txt文件中
更常用的:
书P6有介绍,需要的时候去看
matlab导入数据 GUI操作:
直接点击“导入数据” 然后选中需要的数据导入就行
数据拟合:
代码:
多项式拟合:polyfit(X,Y,N) N是拟合的最高次幂
polyval(P,XI) XI是要求的点的横坐标,P是polyfit返回的多项式的值
拟合数据和原始数据的对照>> 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);
>> xi = 0:.2 :10
>> yi=polyval(P,xi);
>> plot(xi,yi,x,y,'r*');
GUI操作(R2016B):
点开APP的curve Fitting
X data Ydata选择拟合的数据
右侧选择用什么拟合这里使用多项式拟合 最高阶为3.
custom equation可以自己写方程拟合
exponential是指数函数
每一个下面都有Equation告诉你用的是什么函数然后最小二乘拟合打开Fit Options 会发现 里面有一个撸棒性的选项,个人猜测是为了防止过拟合选择不同的拟合方法https://blog.csdn.net/meng4411yu/article/details/8851187根据这篇文章大概猜测,默认off是最小二乘法,但是数据的噪声多了之后,需要正则化,所以选用Bisquare做稳健回归估计。
显示误差最后点Fit选项的Save to workspace