用matlab擬合一組資料,要求得出函式表示式

2021-07-02 23:33:20 字數 6307 閱讀 5766

1樓:匿名使用者

用matlab擬合一組資料,得到函式的表示式我的資料是

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

至於具體怎麼得到x與y的函式關係,在matlab上的具體操作,可能性太多,這組資料可以擬合出無數多種函式結果。

如果什麼函式形式都不給出的話,下面以11次多項式舉例來擬合你的資料:

1.用多項式擬合

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

p=polyfit(x,y,11)

xx=linspace(9,39,100)

yy=polyval(p,xx)

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

title(poly2str(p,'x'));

2.如果是正態分佈

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

2樓:匿名使用者

你好!以下是擬合**和擬合結果:

clc;clear all

x=[1.096 2.193 3.289 4.385 5.481 6.577 7.673 8.769...

9.865 10.961 12.057 13.153 14.249 15.345 16.441...

17.537 18.633 19.729 20.825 21.921 23.017 24.113...

25.209 26.305 27.401 28.497 29.593 30.689 31.785...

32.881 33.977 35.073 36.169 37.265 38.361...

39.457];

y=[2.15 2.27 2.49 2.73 3.02 3.3 3.57 3.88 4.22 4.57...

4.88 5.2 5.48 5.75 5.97 6.17 6.27 6.32 6.27...

6.17 6 5.77 5.5 5.23 4.9 4.58 4.27 3.95 3.62...

3.32 2.98 2.7 2.48 2.3 2.17 2.13];

p=polyfit(x,y,4);%四次擬合

plot(x,y,'r--')

hold on

y1=polyval(p,x);%得出擬合結果

plot(x,y1,'b-')

xlabel('x')

ylabel('y')

legend('擬合前','擬合後')

3樓:木生子識時務

至少給一個擬合的型別吧,是多項式擬合還是其他什麼擬合?

用matlab擬合一組資料,要求得出函式表示式

4樓:匿名使用者

^根據給定的資料bai,我們可以假定

du函式表示式為

y=b1+b2*x+b3*x^zhi2+b4*x^3+b5*x^4;

所以上述函dao數版可以用matlab的regress()多權元線性迴歸分析函式來擬合。實現過程如下:

a=[1.75,0.26;2.

25,0.32;2.5,0.

44;2.875,0.57;2.

686,0.50;2.563,0.

46];

x=a(:,1),y=a(:,2)

x=[ones(length(y),1),x,x.^2,x.^3,x.^4];

b=regress(y,x)

x1=linspace(1.5,3,50);

y1=b(1)+b(2)*x1+b(3)*x1.^2+b(4)*x1.^3+b(5)*x1.^4;

plot(x,y,'k*',x1,y1,'r-')

grid on

xlabel('x'),ylabel('y')

執行結果

5樓:昱婷漫步

從資料描bai

點圖來看,它可以用多項式du來擬合zhi

**:clear all;

clc;

close all;

x=[1.75,2.25,2.5,2.875,2.686,2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

plot(x,y,'r*')

[p,s]=polyfit(x,y,5)  %引數改為1就是線性擬dao合

y1=polyval(p,x)

hold on;

plot(x,y1,'b.')

五次版多項式擬合生成的權函式值與原資料基本重合:

五次多項式,從最高次項的係數到常數項,依次為p的值,所以:

y=-3.8276x^5+ 47.6583x^4 -235.8777x^3+579.6790x^2 -706.4245x+341.2326

6樓:匿名使用者

程式如下:

x=[1.75,2.25,2.5,2.875,2.686,2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

plot(x,y,'g.','markersize',25);%%%有這個是先描點,看出大致是什麼圖,這裡看到像二次曲線的回。答

hold on ;

p3=polyfit(x,y,2);

%%%%%%下面這個是擬合後的p3公式,式子為什麼是這個可以由上面擬合程式得出,放在一個圖裡面看效果

x2=0:0.5:4;

y2=0.1701*x2.^2-0.4965*x2+0.6027;

plot(x2,y2,'b');

7樓:匿名使用者

資料bai不多哈

clc;clear all

x=[1.75, 2.25, 2.5, 2.875, 2.686, 2.563];

y=[0.26,0.32,0.44,0.57,0.50,0.46];

p=polyfit(x,y,3);%四次

du擬合

zhiplot(x,y,'r--')

hold on

y1=polyval(p,x);%得出

dao擬合結

回果plot(x,y1,'b-')

xlabel('x')

ylabel('y')

legend('擬合前

答','擬合後')

8樓:科技數碼答疑

擬合函式表示式是咋麼的,是多項式還是指數,是1次函式還是二次函式??

關於用matlab擬合一組資料,得到函式的表示式

9樓:匿名使用者

這個太難了,或者說是有太多的不確定性

因為連一個大概的函式形式都沒有給出來

也就是說可能性太多,這組資料可以擬合出無數多種函式結果

如果什麼函式形式都不給出的話,或者用多項式擬合吧

下面是嘗試用11次多項式擬合你的資料

x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];

y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];

p=polyfit(x,y,11);

xx=linspace(9,39,100);

yy=polyval(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

title(poly2str(p,'x'));

如果是正態分佈

x=[9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39];

y=[9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9];

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

其中得到的p是有3個數的向量

函式形式是

p(1)*exp(-(x-p(2)).^2./2/p(3)^2)

p(1)是幅度,p(2)是中心橫座標,p(3)是標準差

10樓:

如果沒有模型的話只能畫出圖來看它像什麼。。。要不就一個個模型去試驗

用matlab擬合一組資料,函式的表示式是什麼?

11樓:匿名使用者

用matlab擬合一組資料,得到函式的表示式我的資料是

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

至於具體怎麼得到x與y的函式關係,在matlab上的具體操作,可能性太多,這組資料可以擬合出無數多種函式結果。

如果什麼函式形式都不給出的話,下面以11次多項式舉例來擬合你的資料:

1.用多項式擬合

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

p=polyfit(x,y,11)

xx=linspace(9,39,100)

yy=polyval(p,xx)

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

title(poly2str(p,'x'));

2.如果是正態分佈

x=(9,11,13,15,17,19,21,23,25,27,29,31,33,35,37,39)

y=(9,12,18,21,12,26,29,36,50,101,192,245,233,117,28,9)

fun=@(p,x) p(1)*exp(-(x-p(2)).^2./2/p(3)^2);

p=nlinfit(x,y,fun,[250 32 10]);

xx=linspace(9,39,100);

yy=fun(p,xx);

plot(x,y,'o');hold on

plot(xx,yy,'r');hold off

legend('資料','擬合','location','northwest');

matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。matlab可以進行矩陣運算、繪製函式和資料、實現演算法、建立使用者介面、連線其他程式語言的程式等,主要應用於工程計算、控制設計、訊號處理與通訊、影象處理、訊號檢測、金融建模設計與分析等領域。

用matlab擬合一組資料要求得出函式表示式

根據給定的資料bai,我們可以假定 du函式表示式為 y b1 b2 x b3 x zhi2 b4 x 3 b5 x 4 所以上述函dao數版可以用matlab的regress 多權元線性迴歸分析函式來擬合。實現過程如下 a 1.75,0.26 2.25,0.32 2.5,0.44 2.875,0....

怎麼用matlab對一組已知資料畫正態分佈曲線

1 ezplot f,a,b a y x.2 3 ezplot y,1,3 2 fplot fun a,b 比如 fplot sin x 0,2 pi 當然還有一種就是 plot 二維圖的繪製 1.plot x,y,2.餅圖pie x,扇區矩陣 3.誤差估計圖errorbar x,y,e 4.散點圖...

如何在matlab中將一組資料隨機抽樣,並且抽樣的結果要有重複呢

l 10 資料長度 disp 原始資料 arr 1 l 生成資料 sampleindex randi l,20,1 隨機抽樣運算元,隨機採20個樣本 disp 隨機取樣出的資料 arr sampleindex 一個小的demo程式,希望能對你有所啟發 怎麼用matlab對資料進行多次簡單隨機抽樣 設...