用matlab判斷哪個一次函式擬合程度最好? 15

2025-02-26 16:15:09 字數 3960 閱讀 3043

用matlab判斷哪個一次函式擬合程度最好?

1樓:網友

如何用matlab判斷哪個一次函式。

擬合程悄歷度最好?這個問題可以這樣來判斷:

第一步:將壓力資料賦值給變數xi,電壓資料賦值給變數yi,即。

xi=[2 4 6 8 10]; 壓力(mpa)yi=[ ;電啟洞搜壓(mv)

第二步:建立一次函式係數的x向量組,即。

y=yi;x=[xi ones(size(y))]第三步:使用最小二乘法迴歸函式regress,求出y=a*x+b函式的係數a和b,即。

p,bint,r,rint,stats] =regress(y,x);

a=p(1);b=p(2);

第顫沒四步:求出迴歸方程。

的相關係數r^2,即。

r^2=stats(1)

第五步:繪製試驗擬合曲線。

即。x=linspace(2,10,50);

y=a*x+b;

plot(xi,yi,'kp;,x,y,'r-';

grid on

xlabel('x(mpa)')ylabel('y(mv)')legend('試驗資料點','擬合曲線')最後,執行上述**,可知試驗資料符合,y=<>

2樓:網友

擬合的好不好,當然是看殘差的大小,你把殘差算出來就可以判斷了,越小越好。

matlab擬合函式?

3樓:網友

題主給出中國人口**問題(二),可以使用英國經濟學家馬爾薩斯提出的malthus模型來擬合與**。其步驟:

第一步,自定義malthus模型函式(指數函式),如。

func=@(k,t)n0*exp(d*(t-t0))

這裡,n0=;t0=1954;

第二步,利用1954-2005年的資料,分別使用lsqcurvefit函式,求出係數d。即。

d,resnorm,residual,exitflag]=lsqcurvefit(func,a0,t,n);

第三步,計算擬合值,即。

x1=func(d,t);

第四步,計算相關係數r^2,即。

r2=r2_fun(x,x1);

第五步,**2010年和2030年的人口數,即。

xhat=func(d,2010);

disp(['**2010年人口數為',num2str(xhat),'千萬'])

xhat=func(d,2030);

disp(['**2030年人口數為',num2str(xhat),'千萬'])

第六步,使用plot函式繪製,中國人口數的統計資料與**模型曲線對比圖,即。

plot(t,x,'*t,x1,'+

第七步,標註圖例,即。

legend('統計資料','malthus模型')

第八步,編寫標題,即。

title='中國人口數的統計資料與malthus模型曲線對比';

第九步,標註座標軸名稱,即。

xlabel('年份');ylabel('人口(千萬)')

最後,編寫程式,並執行可以得到如下結果。

其他問題與上述過程類似。

關於matlab 資料擬合 ,沒有經驗公式,不知道是幾次的函式,該如何擬合?

4樓:

不管是什麼程式(matlab或是excel),你必須得告許程式目標擬合公式的形式。這裡的形式,是指你的公式是多項式型、對數型、三角形或其它的形式,但是這個公式裡面有待定的係數,而這個係數就是通過擬合得到的。

還有就是資料擬合,一般採用最小二乘的方法,這種方法並不是所有形式的公式都可以擬合。如果你的公式比較複雜,比如上說是乙個積分形式,並且這個積分還不能顯示的積出來,需要數值積分才可以積出來的話,用最小二乘法就不行了,這時,matlab是沒有現成的函式來進行擬合的,這時就需要自己程式設計序來實現,比如可以運用「**分割法」、「powell優化」等方法來實現。

但,如你所提的問題,多項式是可以擬合的,多項式擬合也是最基本的資料擬合。可是呢,你又不知這個多項式是多少次的,這時候就需要根據你對已有資料觀察加以判斷了。你可以先假定是n次的,然後根據擬合的效果看是否需要更改。

資料擬合並沒有標準答案,只要你擬合出來的曲線和已有的資料符得相對比較好就行了。

5樓:思考再深一點

擬合本來就是個未知到確定的過程,只有乙個目的就是要使我們的資料和擬合後的函式之間的差距越小越好,所以我們要觀察擬合後函式與已知資料之間的方差大不大。

也可以通過繪圖的方式來觀察,首先假定函式為較低的次數,繪製圖形,然後不斷提高函式的次數,觀察函式圖象與已知資料點之間位置的變化情況,根據擬合後y『與已知y0的差值情況確定最優次數。這種方法適用於polyfit的方法;還有一種就是已知函式形式,然後將資料對擬合成你想要的形式,命令為fit函式,但這個擬合完成後還是要觀察擬合情況,你要調整係數值知道擬合與你的資料最接近為止。

6樓:李碧燕

乙個乙個試,即(x,y,1)(x,y,2)(x,y,3)……試試幾個之後,在同乙個圖表上輸出這些方法擬合之後的數值看看那個與原圖再接近,選擇接近那個!

7樓:網友

有這個模組。在start裡面。

matlab如何選擇合適的擬合函式?

8樓:當代教育科技知識庫

1、首先啟動matlab,選擇器,再新建乙個命令檔案。

2、然後在器視窗中輸入圖示的**。

3、然後我們點選介面上方選單欄裡的儲存圖示進行儲存。

5、最後再命令列視窗處輸入dxsnh,並敲入鍵盤上的enter建。可以看出階數越高,曲線與擬合點擬合得越好。

9樓:網友

用cftool擬合工具箱,可以快速得到你要的擬合函式。

expotential指數逼近。

fourier傅立葉逼近。

gaussian 高斯逼近。

interpolant 插值逼近。

polynomial 多項式逼近。

power冪函式逼近。

擬合結果的確定,主要要看r-square相關係數是否最接近1,rmse均方根誤差是否比較小。

matlab如何選擇合適的擬合函式?

10樓:

摘要。matlab如何選擇合適的擬合函式?

輸入這個。**。

有理函式擬合。

用lsqcurvefit

x=[1 2 3 4 5 6 7 8 9];y=[9 7 6 3 -1 2 5 7 20];p= polyfit(x, y, 3) %三階多項式擬合xi=:10; yi= polyval(p, xi); 求讓塌耐坦春對應y值衫脊plot(xi,yi,x,y,'r*')

matlab擬合函式?

11樓:網友

首先,把給出的向量方程,改寫為

a1*x+a2*y+a3=-(x²+y²)

z(x,y)=-(x²+y²)=a1*x+a2*y+a3

然後,我們用regress最小二乘法迴歸函式來擬合a1、a2、a3的係數

x=[。。資料

y=[。。資料

z=-(x²+y²);

x=[x y ones(n,1)];n=x或y資料的個數

a= regress(z,x); 求出係數a1,a2和a3

此時,我們就可以得到如下係數:

a1=a(1),a2=a(2)和a3=a(3)

怎麼判斷一次函式大小,指數函式與一次函式如何判斷大小

函式中有變數,是不能判斷大小的,要當變數相等時,才能比較 指數函式與一次函式如何判斷大小 先問你學過導數否?把兩個函式相減得到一個新函式,求導,找出最小值 最大值 與o比較。導數做起來簡單但是不好輸入我就不舉例了.如果沒有學過導數.那就只有少數的可以比較了.大部分的我也不會比較.一次函式中的k和b的...

初二數學一次函式,初二數學一次函式怎樣判斷在第幾象限

告訴你方法比只告訴答案重要,雖然你也許懂的,本人就班門弄斧一下,見笑了。一次函式算與座標軸的交點方法 與x軸交點是令方程y為零,算出x的值,本題中算出的x 1 2,所以與x軸交點為 1 2,0 與y軸交點是令x為零,算出y值,本題算得y 2,所以與y軸交點為 0,2 其實二次函式算與座標軸的交點也是...

一次函式如何解,一次函式怎麼解

通常的解法是題目告知兩個座標設 x1,y1 x2,y2 設函式為y kx b 分別將以上兩個座標帶入截2元一次方程 一次函式相關知識如下 i 定義與定義式 自變數x和因變數y有如下關係 y kx b k,b為常數,k 0 則稱y是x的一次函式。特別地,當b 0時,y是x的正比例函式。ii 一次函式的...