1樓:匿名使用者
以下**在7.1版以上均可執行。
將以下**儲存為m檔案:
function yy = zzz700createfit(x, y, n)
xdata = x(:);
ydata = y(:);
% set up fittype and options.
ft = fittype( ['fourier',num2str(n)'] );
opts = fitoptions( ft );
opts.display = 'off';
% fit model to data.
[fitresult, gof] = fit( xdata, ydata, ft, opts );
% 擬合後的點的y座標
yy = fitresult(xdata);
在命令視窗輸入:
% 輸入x,y,n
x = 0:0.1:2*pi;
y = rand(length(x),1);
n = 6;
% 輸出為擬合後的點的y座標
yy = zzz700createfit(x, y, n)
2樓:出津鮑逸美
第二個圖裡定義域是[0,100],第一個圖定義域是[0,5000]畫出來當然不一樣。。
3樓:
問題說明白啊……
要不要傅立葉變換?
還是直接對x,y座標進行擬合
4樓:匿名使用者
%對殘差值進行傅立葉變換 y=fft(pval); %對殘差序列進行傅立葉變換 m=希望能有高手給予些許指點,在此拜謝orz 你是學測繪的嗎,我也是
matlab擬合工具箱用傅立葉逼近對某條曲線擬合???
5樓:
第二個圖裡定義域是[0,100],第一個圖定義域是[0,5000]畫出來當然不一樣。。
如何利用matlab對資料進行曲線擬合
有matlab大神知道,下面這個曲線怎麼擬合
6樓:匿名使用者
從得到的圖形來判斷,該資料符合fourier (傅立葉)函式。fourier模型,可以用nlinfit非線性迴歸函式來解決。解決方法如下:
i=[10:1:18];
max=[21.43,23.87,26.655,31.449,36.229,42.417,46.412,50.463,51.869];
a0=[0.64912 0.73172 0.64775 0.45092];
x=i;
y=max;
fun=@(a,x)a(1) + a(2)*cos(x*a(4)) + a(3)*sin(x*a(4))
[a,r] = nlinfit(x,y,fun,a0)
y1=fun(a,x);
plot(x,y,'r.',x,y1,'k-','linewidth',2)
xlabel('i'),ylabel('max');
legend('原始資料點','擬合函式曲線')
用matlab怎麼實現曲線擬合?
7樓:小飛6yi蔨
1 多項式函式擬合:a=polyfit(xdata,ydata,n)
其中n表示多項式的最高階數,xdata,ydata為將要擬合的資料,它是用陣列的方式輸入.輸出引數a為擬合多項式 的係數
多項式在x處的值y可用下面程式計算.
y=polyval(a,x)
2 一般的曲線擬合:p=curvefit(『fun』,p0,xdata,ydata)
其中fun表示函式fun(p,data)的m函式檔案,p0表示函式的初值.curvefit()命令的求解問題形式是
若要求解點x處的函式值可用程式f=fun(p,x)計算.
例如已知函式形式 ,並且已知資料點 要確定四個未知引數a,b,c,d.
使用curvefit命令,資料輸入 ;初值輸 ;並且建立函式 的m檔案(fun.m).若定義 ,則輸出
又如引例的求解,matlab程式:
t=[l:16]; %資料輸人
y=[ 4 6.4 8 8.4 9.28 9.5 9.7 9.86 10.2 10.32 10.42 10.5 10.55 10.58 10.6] ;
plot(t,y,』o』) %畫散點圖
p=polyfit(t,y,2) (二次多項式擬合)計算結果:p=-0.0445 1.0711 4.3252 %二次多項式的係數
由此得到某化合物的濃度y與時間t的擬合函式。
matlab畫出的曲線怎麼擬合函式
8樓:匿名使用者
擬合步驟:
1、求(獲)得一系列x,y對應值
x=[...]
y=[...]
2、根據畫出的曲線,,設定擬合函式
fun=inline('a(1)+a(2)*exp(a(3)*x','a','x')
3、初定x0的初值
x0=[0 0 0]
4、用擬合函式求出擬合係數
a=lsqcurvefit(fun,x0,x,y) 或 a= nlinfit(x,y,fun,x0)
用cftool的結果與實際是有較大的誤差。你不仿用二種獲得的擬合函式,將已知值x代人,得到的yi,那個更接近已知值y。
一般用cftool工具箱,來判斷擬合函式可能的形式。
在matlab中如何根據擬合圖得到函式?
9樓:我叫王土土豆
在matlab中根據擬合圖得到函式步驟如下:
1、常用的模型有多項式模型、冪函式模型、指數函式模型等。
2、設出函式,用命令「plot」繪出影象作為對比。
3、準備好散點資料,用命令「plot」繪出散點作為對比。
4、呼叫函式「fit」,引數包括散點資料和曲線擬合模型。
5、按回車鍵即可完成曲線擬合,p1、p2、p3為多項式前面的係數。
10樓:中國人看好中國
告訴你最簡單的辦法吧
在命令框中輸入cftool
開啟擬合工具箱,用這個進行擬合
當然,還有專門的指令來進行這個工作
多項式擬合polyfit、曲線擬合lsqcurvefit要知道這些函式的使用方法可以在命令框中輸入help polyfit或者help lsqcurvefit
你就可以看到關於這些函式的詳細介紹和使用語法瞭如果還有其他問題,可以進行追問,我會耐心解答
matlab裡傅立葉級數擬合出來的曲線的引數是a0 = -1.584e+006 (-7.424e+008, 7.393e+008) 的。
11樓:匿名使用者
95%的置信區間區間值
12樓:匿名使用者
請問你是用的cftool命令嗎,在對話方塊中進行擬合的?
MATLAB傅立葉級數的程式怎麼寫
有現成的函式解傅立葉變換 fft或ifft 老大 給個公式 那個是變數那是輸出 matlab怎麼進行傅立葉級數 你上面的程式,f series函式是否有定義?若無定義,或定義不準確都有可能出錯 將傅立葉係數的計算 輸出a0,an,bn 以及函式影象的繪製編到m檔案中 function a0,an,b...
高數傅立葉級數問題,高數傅立葉級數問題
直接也可以bai,但是這道題跟dusinx是奇函式有關zhi系。因為需要做奇拓延。你dao會發專現積分外面的屬係數變成了原來的2倍,就是進行了奇拓延。而等於0的情況,也是根據sinx的影象性質在派的偶數倍無論怎樣都是0不需要奇拓延 高數傅立葉級數問題 5 你可以認為這是周期函式在相應有限區間內的擬合...
傅立葉級數是什麼,傅立葉級數有什麼用啊?
一 傅立葉級數的三角函式形式 設f t 為一非正弦周期函式,其週期為t,頻率和角頻率分別為f 1。由於工程實際中的非正弦周期函式,一般都滿足狄裡赫利條件,所以可將它成傅立葉級數。即 其中a0 2稱為直流分量或恆定分量 其餘所有的項是具有不同振幅,不同初相角而頻率成整數倍關係的一些正弦量。a1cos ...