matlab的多项式拟合,函数求导,画函数曲线

 

给一列数据。

拟合出该数据的函数曲线。多项式拟合。

然后画出函数曲线来。以及给出函数形式。

求导。

再画出导数的曲线。以及给出导数函数形式。

 

matlab代码:

clc
close all
clear


%% 给出一列数
xx = 1:100;
yy = xx.^3 - xx.^2;
first = 1;  %数的首尾
last = 100;
figure,plot(xx,yy,'b--o');   %先画出看看长什么样
%%
nn=3;   %拟合的多项式的最高次幂。***************!!!!!!!!!!!

p1 = polyfit(xx,yy,nn); %多项式拟合系数。返回p为幂次从高到低的多项式系数向量p
equation = poly2sym(p1);            %拟合的函数

disp('拟合函数为:');disp(char(['y=',poly2str(p1,'x')])); %显示出拟合式子的样子
figure,fplot(equation,[first last]);title('函数');  %直接画函数曲线

yy_fit =  polyval(p1, xx); %直接求值。返回对应自变量x在给定系数P的多项式的值y。
figure,plot(xx, yy_fit,'m--*');  title('函数值'); 



f_equation=diff(equation);  %求式子equation导数。f_equation公式。

p2 = sym2poly(f_equation);   %导数那个式子的系数
yy_derivative =  polyval(p2, xx);  %导数那个式子的值

disp('导函数为:');disp(char(['y=',poly2str(p2,'x')])); %显示出导函数的样子
figure,fplot(f_equation,[first last]);title('函数的导函数');  %直接画函数曲线
figure,plot(xx, yy_derivative,'r--o');title('函数的导数的值'); %画点的图



 

  • 8
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值