matlab的多项式拟合,函数求导,画函数曲线
给一列数据。拟合出该数据的函数曲线。多项式拟合。然后画出函数曲线来。以及给出函数形式。求导。再画出导数的曲线。以及给出导数函数形式。matlab代码:clcclose allclear%% 给出一列数xx = 1:100;yy = xx.^3 - xx.^2;first = 1;%数的首尾last = 100;figure,plot(x...
·
给一列数据。
拟合出该数据的函数曲线。多项式拟合。
然后画出函数曲线来。以及给出函数形式。
求导。
再画出导数的曲线。以及给出导数函数形式。
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('函数的导数的值'); %画点的图
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)