Matlab 用“x=0:0.3:15; y=0.25*x+20*sin(x);”产生的数据,求出函数y的3阶和7阶拟合多项式,画出曲线。

Matlab利用“x=0:0.3:15;y=0.25*x+20*sin(x);”产生的数据,求出函数y=0.25*x+20*sin(x)的3阶和7阶拟合多项式,并画出相应... Matlab 利用“x=0:0.3:15; y=0.25*x+20*sin(x);”产生的数据,求出函数y=0.25*x+20*sin(x)的3阶和7阶拟合多项式,并画出相应的曲线。 展开
 我来答
lhmhz
高粉答主

2017-06-30 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17008

向TA提问 私信TA
展开全部

实现代码:

clc,clear

x=0:0.3:15;

y=0.25*x+20*sin(x);

p3=polyfit(x,y,3)  %3阶拟合多项式系数

str = ['y=',num2str(p3(1)),'x^3',num2str(p3(2)),'x^2',num2str(p3(3)),'x+',num2str(p3(4))];

fprintf('%s\n',str);

xi3=0:0.1:15;

yi3=polyval(p3,xi3);

p7=polyfit(x,y,7)  %7阶拟合多项式系数

str = ['y=',num2str(p7(1)),'x^7+',num2str(p7(2)),'x^6',num2str(p7(3)),'x^5+',num2str(p7(4)),'x^4+',num2str(p7(5)),'x^3',num2str(p7(6)),'x^2+',num2str(p7(7)),'x',num2str(p7(8))];

fprintf('%s\n',str);

xi7=0:0.1:15;

yi7=polyval(p7,xi7);

plot(x,y,xi3,yi3,xi7,yi7)

xlabel('x'),ylabel('y');

legend('y=0.25x+20sin(x)曲线','y的3阶拟合多项式','y的7阶拟合多项式')

运行结果

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式