x=2016:1:2020;
y=[2189.3,2190.1,2191.7,2194.4,2195.4];
m2=polyfit(x,y,2);
m3=polyfit(x,y,3);
m5=polyfit(x,y,5);
disp('二次拟合'),f2=poly2str(m2,'x');
disp('三次拟合'),f3=poly2str(m3,'x');
disp('五次拟合'),f5=poly2str(m5,'x');
x1=2016:1:2020;
y2=polyval(m2,x1);
y3=polyval(m3,x1);
y5=polyval(m5,x1);
wch2=abs(y-polyval(m2.x1))./y;
wch3=abs(y-polyval(m3.x1))./y;
wch5=abs(y-polyval(m5.x1))./y;
poly(x,y,'rp',x1,y2,'b-',x1,y3,'k-',x1,y5);
legend('二次拟合','三次拟合','五次拟合')
x = 2016:1:2020;
y = [2189.3, 2190.1, 2191.7, 2194.4, 2195.4];
m2 = polyfit(x, y, 2);
m3 = polyfit(x, y, 3);
m5 = polyfit(x, y, 5);
disp('二次拟合');
f2 = poly2str(m2, 'x');
disp(f2);
disp('三次拟合');
f3 = poly2str(m3, 'x');
disp(f3);
disp('五次拟合');
f5 = poly2str(m5, 'x');
disp(f5);
x1 = 2016:1:2020;
y2 = polyval(m2, x1);
y3 = polyval(m3, x1);
y5 = polyval(m5, x1);
wch2 = abs(y - polyval(m2, x1)) ./ y;
wch3 = abs(y - polyval(m3, x1)) ./ y;
wch5 = abs(y - polyval(m5, x1)) ./ y;
plot(x, y, 'rp', x1, y2, 'b-', x1, y3, 'k-', x1, y5, 'g-');
grid minor
legend('原始数据', '二次拟合', '三次拟合', '五次拟合');
答案:
首先需要确认MATLAB的安装是否正常,如果安装完成后运行无反应,可能是因为缺少一些必要的软件或者需要设置环境变量。可以尝试按照以下步骤进行:
确认MATLAB的文件夹中是否有对应处理器的数值运算优化文件,例如atlas_Athlon.dll、atlas_P4.dll等。
右击我的电脑,选择属性,在“高级”选项卡中点击“环境变量”。
在系统变量下面添加如下内容(按“新建”):
变量名: BLAS_VERSION 变量值: E:\MatlabX\bin\win32\atlas_Athlon.dll
如果程序中涉及到多项式拟合和绘图的部分,可以使用MATLAB自带的工具完成一部分的多项式拟合操作和观察残差,例如Tools-Basic Fitting。
如果需要在没有安装MATLAB的计算机上运行应用程序,需要携带一些库文件。可以放在MATLAB安装目录的extern\lib\win32中,或者使用mglinstaller.exe来安装。
如果遇到窗口无法弹出的问题,可能是因为需要安装特定的编译器,或者需要更改MATLAB的图形设置。可以尝试按照参考资料段落5中的方法进行。
最后,如果在MATLAB的使用过程中遇到了其他问题,可以参考参考资料中的其他段落或者在社区中咨询其他MATLAB专家。