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,輸入完成後選擇上方的...