❶ matlab傅里葉擬合
以下代碼在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)
希望對你能有所幫助。
❷ origin怎麼進行傅立葉擬合
擬合的時候,設置一下計算rsquare和p,擬合後再到報表(worksheet)中查找。一般圖上這個表能顯示rsquare,但不輸出p。結果中的Adj.R^2與R^2含義還是不太一樣的,不過在自變數不多的情況(你只用了一個X)下是一樣的;皮爾森的R值在-1和1之間,-1代表完全負相關,1代表完全正相關,0為完全不相關,就是P值。
❸ matlab擬合工具箱用傅里葉逼近對某條曲線擬合
第二個圖里定義域是[0,100],第一個圖定義域是[0,5000]畫出來當然不一樣。。
❹ 怎樣調用matlab中cftool工具箱傅里葉擬合的結果,也就是系數a0--b7
菜單File--》Generate M-file,運行導出的m文件,就可以在工作空間里調用系數a0--b7。
❺ 傅里葉級數展開 曲線擬合
用 nlinfit()擬合函數,來擬合出系數a,b,c,w.。
x=[]
y=[]
myfun=inline('a(1)+a(2)*sin(a(3)*x)+a(4)*cos(a(3)*x)','a''x')
[a,r,J]=nlinfit(x,y,myfun,rand(1,4));
❻ matlab 裡面有多項式擬合,有沒有三角函數擬合還請高人賜教!
matlab裡面有三角函數擬合,也就是常說的傅里葉展開,得到的是sinx和cosx的多項式函數。你可以使用擬合工具箱來做,還有很多其他的擬合方法,如指數、插值、高斯等。
❼ 利用傅里葉展開來擬合周期曲線,要求可以延拓至任意個周期。求malab程序。
使用cftool工具箱,選擇fourier fitting 就好了。擬合的曲線可以延展到任意周期。
❽ 如何用Matlab對室外溫度波進行傅里葉級數擬合,階次可以任意設定,求matlab源程序呀,有重謝
用Matlab對室外溫度波進行傅里葉級數擬合可以這樣來處理。
1、首先,建立自定義函數,有關傅里葉級數的函數表達式
function y=func(a,n,x) %a——擬合系數,n——階數,x——自變數
y=傅里葉級數的函數表達式
end
2、必須有x、y對應的數據(十組以上)
3、用擬合函數nlinfit()求擬合系數
[a,r]=nlinfit(x,y,@(a)func(a,n,x),a0) %a——擬合系數,r——殘差,a0——初值
當r約等於0,可以認為擬合是合理的。
❾ 請問如何用傅里葉級數擬合多組數據matlab,謝謝
傅里葉級數擬合多組數據。用matlab可以這樣實現。
1、首先應已知x,y對應數據
2、自定義傅里葉級數擬合函數,如
fun=@(a,x)a(1) + a(2)*cos(x*a(4)) + a(3)*sin(x*a(4));
這里,a0——a(1),a1——a(2),b1——a(3),w——a(4)
3、用nlinfit函數來擬合a0,a1,b1,w系數,nlinfit使用格式
[a,r] = nlinfit(x,y,fun,a0)
這里a0是初值,a是擬合值向量,r是殘值(即y-yi)
4、為了說明問題,舉例如下
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)
運行上述代碼得到如下結果。

❿ matlab傅里葉曲線擬合
以下代碼在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)