用matlab编写程序求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图

由实验给出下列数据表x0.00.10.20.30.50.81.0y1.00.410.500.610.912.022.46试求以幂函数作基函数的3次、4次多项式的最小二乘曲... 由实验给出下列数据表
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
试求以幂函数作基函数的3次、4次多项式的最小二乘曲线拟合,画出数据散点图及拟合曲线图,并预测x=0.7处的近似值.
展开
 我来答
古阳幽月
推荐于2017-11-24
知道答主
回答量:11
采纳率:0%
帮助的人:5.4万
展开全部
>> 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');
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式