用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图
答案:1 悬赏:40 手机版
解决时间 2021-04-08 08:45
- 提问者网友:容嬷嬷拿针来
- 2021-04-07 13:13
用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图
最佳答案
- 五星知识达人网友:由着我着迷
- 2021-04-07 14:36
>> x=[0.0 0.1 0.2 0.3 0.5 0.8 1.0];%输入数组
>> y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];
>> f1=inline(poly2sym(polyfit(x,y,3)));%polyfit拟合得到系数,poly2sym由系数得到多项式,inline转换内联函数
>> f2=inline(poly2sym(polyfit(x,y,4)));
>> plot(x,y,'*');%绘散点图
>> for i=1:7%text给各点做坐标标注,num2str转换数值为字符,strcat字符串连接
text(x(i),y(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y(i)),')'));
end;
>> xlabel('x');%给x轴做标注
>> ylabel('y');
>> figure;%打开新的绘图窗口
>> y1=f1(x);%用拟合得到的式子求y值,如果想要拟合曲线更光滑,可将x的值更细化
>> y2=f2(x);
>> plot(x,y1,'-r*');%绘3次拟合曲线图
>> for i=1:7
text(x(i),y1(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y1(i)),')'));
end;
>> xlabel('x');
>> ylabel('y');
>> figure;
>> plot(x,y2,'-bo');%绘3次拟合曲线图
>> for i=1:7
text(x(i),y2(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y2(i)),')'));
end;
>> xlabel('x');
>> ylabel('y');
>> y=[1.0 0.41 0.50 0.61 0.91 2.02 2.46];
>> f1=inline(poly2sym(polyfit(x,y,3)));%polyfit拟合得到系数,poly2sym由系数得到多项式,inline转换内联函数
>> f2=inline(poly2sym(polyfit(x,y,4)));
>> plot(x,y,'*');%绘散点图
>> for i=1:7%text给各点做坐标标注,num2str转换数值为字符,strcat字符串连接
text(x(i),y(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y(i)),')'));
end;
>> xlabel('x');%给x轴做标注
>> ylabel('y');
>> figure;%打开新的绘图窗口
>> y1=f1(x);%用拟合得到的式子求y值,如果想要拟合曲线更光滑,可将x的值更细化
>> y2=f2(x);
>> plot(x,y1,'-r*');%绘3次拟合曲线图
>> for i=1:7
text(x(i),y1(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y1(i)),')'));
end;
>> xlabel('x');
>> ylabel('y');
>> figure;
>> plot(x,y2,'-bo');%绘3次拟合曲线图
>> for i=1:7
text(x(i),y2(i)+0.1,strcat('(',num2str(x(i)),',',num2str(y2(i)),')'));
end;
>> xlabel('x');
>> ylabel('y');
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |