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進行曲線擬合多項式擬合
文庫精選 內容來自使用者 beyond1215 matlab學習 多項式擬合 1 1 polyfit函式 matlab的polyfit函式用於多項式擬合,其語法為 p polyfit x,y,k 其中,x,y分別是橫縱座標向量,它們不僅元素個數相同,而且同為行向量或同為列向量。k為非負整數,是待擬合...
matlab中的指數曲線擬合問題,我有函式,他的格式是y exp x
華工大學生 樓上的分析很好,不過他先入為主了.就是說先給定了a值,然後來按擬合,確實是截距為0的,但實際資料卻不是這麼好.就按他給的例子,我分析並寫了下面的 你執行一下就有更深的體會 a 0.3145 x 0.3 0.01 3 y exp x a plot x,y ly log y lx x ran...
matlab畫散點圖並擬合函式曲線
畫法如下 在輸入欄分別輸入x y matlab的開始選單start toolboxes cirve fitting cirve fitting tool,點data選擇x和y資料,對應自己的資料,點cirve fitting tool介面的fitting按鈕,裡面好幾個可以擬合的函式。可以自動生成曲...