如何在matlab中根據有限的資料點得到函式公式

2022-02-18 06:55:27 字數 4116 閱讀 6005

1樓:匿名使用者

根據資料,可得到擬合函式

y=p1*x^2 + p2*x + p3

式中:p1 =    0.000296

p2 =  -0.0002655

p3 =       1.633

資料值       擬合值

1.6338       1.6339

1.6336       1.6336

1.6334       1.6333

1.6332       1.6331

1.633        1.633

1.6328       1.6328

1.6326       1.6328

1.6327       1.6327

1.6328       1.6327

1.6329       1.6328

1.6329       1.6329

1.6331       1.6331

如何在matlab中根據有限的資料點得到函式

2樓:從不吃魚的貓

樓上的方法是大學的方法。。。對你來說,先假設是一次函式,y=ax+b。如果不對的話,再假設升級二次函式,y=ax^2+bx+c,如果還不對還可以假設y=a/x。

你學過的函式都可以假設,然後代入資料求解引數。你這個不就是一個一次函式嗎?

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

3樓:匿名使用者

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

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

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

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

下面是嘗試用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)是標準差

4樓:

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

如何用matlab將一組散點資料擬合成一個對數函式 30

5樓:匿名使用者

x=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];

y=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];

ba=[log10(x(:)),ones(size(x(:)))]\y(:); %如果你的lgs是以自然對數為底的話,請用log函式代替log10,下面作圖也是一樣的.

a=ba(2)

b=ba(1)

plot(x,y,'*',x,a+b*log10(x),'r-')legend('原始資料','擬合值')

6樓:匿名使用者

x=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];

y=[0.625 0.455 0.41 0.39 0.26 0.15 0.03 0.01 -0.01 -0.05 -0.06];

x=x';y=y';

st_ = [0.1 0.7];

ft_ = fittype('a+b*log(x)' ,...

'dependent',,'independent',,...

'coefficients',);

cf_ = fit(x,y,ft_ ,'startpoint',st_)

plot(x,y,'o')

hold on,

plot(cf_,'fit',0.95)

7樓:

xdata=[0.06 0.15 0.24 0.32 0.45 0.55 0.67 0.76 0.85 0.95 1];

ydata=[0.625 0.455 0.

41 0.39 0.26 0.

15 0.03 0.01 -0.

01 -0.05 -0.06];

x0=[1;1];

fun=@(x,xdata) x(1)+x(2)*log(xdata);

x=lsqcurvefit(fun,x0,xdata,ydata);

xn=0:0.01:1;

scatter(xdata,ydata,'x');

hold on

plot(xn,x(1)+x(2)*log(xn),'g');

如何用matlab資料擬合函式

8樓:依然特雷西

1、匯入資料的x,y座標。

2、輸入指令cftool 彈出擬合介面。

3、點選data鍵。

4、分別載專入屬對應的x值和y值。

5、點選fitting...鍵。

6、點選new fittings,彈出擬合方程選擇的框。

7、這裡有很多多項式,指數方程,傅立葉方程可以選擇。

9樓:寒輕煙

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

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

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

4、需要注意的是,儲存檔案的位置要與當前搜尋路徑的位置保持一致。這可以通過右鍵編輯視窗的檔案,在彈出的下拉框中選擇。

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

10樓:匿名使用者

附件1通道2通道3高度0.30.91.52.12.70.30.91.52.12.7距空調位置2.4(m)專溫度(

°c)13131730302729293029風速(屬m/s)0.60.60.

91.11.10.

40.60.70.

80.9距空調位置5(m)溫度(°c)13132530303029313230風速(m/s)0.40.

40.50.60.

60.40.50.

60.70.6距空調位置7.

2(m)溫度(°c)13131930302731315231風速(m/s)0.40.20.

20.20.20.

40.60.60.

60.5注:測試區伺服器均處工作狀態,任務量基本均

11樓:機械動力學

matlab有好多方法來擬合函式,比如對數擬合、指數擬合、多項式擬合。建議你看一下講解matlab函式擬合的書籍。就你給的資料看,多項式擬合(polyfit)比較適合且比較簡單。

如何在matlab中輸入希臘字母

matlab中用轉義符來輸入希臘字母的方法上標用 指數 下標用 下劃線 希臘字母等特殊字元用 加拼音 如 alpha beta gamma theta theta gamma delta delta xi xi elta epsilong zeta miu nu tau lamda lamda pi...

矩陣中元素是均是變數如何在matlab中定義它請高

參考 n 5 x sym zeros n for i 1 n for j 1 n cmd sprintf sym x i i i,j x i,j eval cmd endend x執行來結果 源x x11,x12,x13,x14,x15 x21,x22,x23,x24,x25 x31,x32,x33...

請問如何在Excel中根據當前時間和入職日期計算員工工齡

材料 工具 excel2010 1 開啟excel 如下表,已知員工的入職時間,要求計算除員工的工齡。2 滑鼠選中工齡一列,單擊右鍵,選擇 設定單元格格式 3 在設定單元格格式中選擇 數值 小數位數選擇 1 即保留一位小數。4 在工齡c2單元格輸入公式 today b2 365,輸入完成後選擇上方的...