matlab進行離散點的曲線擬合

2021-06-17 21:10:03 字數 726 閱讀 8504

ployfit是matlab中基於最小二乘法的多項式擬合函式。最基礎的用法如下:

c=polyfit(x,y,n)

其中:x : 需要擬合的點的橫座標

y:需要擬合的點的縱座標

n:以n階多項式進行擬合

c:返回的n+1個擬合係數。

y'=polyval(c,x')

其中:c:n+1個擬合係數

y':根據x'(橫座標)和擬合係數算出來的縱座標

x=0:0.1:1;

y=[-0.447 1.978 3.28 6.16 7.08 7.34 7.66 9.56 9.48 9.30 11.2];

c=polyfit(x,y,2);

z=polyval(c,x);

plot(x,y,'r*',x,z,'b');%n=2階顯示擬合結果

hold on

d=polyfit(x,y,4);

m=polyval(d,x);

plot(x,m,'r')%n=4階進行擬合的曲線結果

hold on

d=polyfit(x,y,10);

m=polyval(d,x);

plot(x,m,'g')%n=10階進行擬合的曲線結果

%經過上述實驗n越大,即擬合階數越大,曲線越接近離散點,但曲線越不平滑

matlab由離散點繪製光滑曲線並額外標註點

最近專業選修課在學matlab,因為之前做課程專案用過,所以學著還是蠻順利的。直到最近需要做一張圖,將存在一張excel表裡的資料畫出來,並且標註一些不在定義域裡的點。乍一看要求還沒太明白,就先把data.xlsx裡的資料讀出來 data xlsread data.xlsx x data 1 8,1...

MATLAB 離散點的圓弧擬合

最近做專案,會遇到很多資料擬合的問題,通常在網上搜尋時會看到很多 乙個個嘗試有對有錯,下面根據專案進展情況總結一下用到的相關知識。都是由本人親測,雖然簡單但是絕對正確的 首先是圓弧擬合的 由離散點擬合 t1為二維矩陣,t1的第一行為x軸的資料點,t1的第二行為y軸的資料點,用 表示為 t1 1,x,...

MATLAB 使用 Matlab 進行曲線擬合

在matlab中,用polyfit函式來求得最小二乘擬合多項式的係數,再用polyval函式按所得的多項式計算所給點上的函式近似值。x linspace 0,2 pi,20 y sin x p polyfit x,y,3 y1 polyval p,x plot x,y,o x,y1,legend r...