matlab的多項式擬合,函式求導,畫函式曲線

2021-10-01 07:35:00 字數 1143 閱讀 2839

給一列資料。

擬合出該資料的函式曲線。多項式擬合。

然後畫出函式曲線來。以及

給出函式形式。

求導。再畫出導數的曲線

。以及給出導數函式形式。

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('函式的導數的值'); %畫點的圖

MATLAB多項式及多項式擬合

多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...

matlab多項式與非多項式擬合

擬合標準 1 原始資料向量與擬合向量之間的距離最小,該距離的度量一般使用誤差平方和表示,即均方誤差 r q y 22 2 當均方誤差最小時,說明構造的擬合向量與原始向量最為接近,這種曲線擬合的方法稱為最小二乘法 3 計算均方誤差最小時的擬合係數,可以通過微積分中求解極值的方法實現 多項式擬合 1 多...

MATLAB下的多項式擬合

本文只進行線性多項式的擬合,至於非線性的擬合不會涉及,參考文獻為 matlab從入門到放棄 多項式格式如下 a為各項係數,x為自變數,n為階。先說說兩個會用到的函式 polyfit x,y,n 擬合引數的 普通求取法 呼叫格式 poly a,xp,s 在xp指定點上計算擬合函式值yp及半頻寬dyp ...