1樓:匿名使用者
直接使用polyfit函式,這個函式是用來實現多項式擬合的,你的函式可以看做是一個一次多項式,y與sin(x)的一次多項式
x=[1,2,3,4,5,6,7,8,9,10];
y=[7,3,6,8,2,4,10,16,2,8];
p=polyfit(sin(x),y,1)a=p(1)
c=p(2)
2樓:
%nlinfit 非線性引數擬合
clc;clear;
x=[1,2,3,4,5,6,7,8,9,10];
y=[7,3,6,8,2,4,10,16,2,8];
myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');
beta=nlinfit(x,y,myfunc,[0 0]);
a=beta(1)
c=beta(2)
%test the model
%x=[1,2,3,4,5,6,7,8,9,10];
%y=2*sin(x)+3;
% myfunc=inline('beta(1)*sin(x)+beta(2)','beta','x');
% beta=nlinfit(x,y,myfunc,[0 0]);
% a=beta(1)
% c=beta(2)
怎樣用matlab對資料進行曲線擬合 曲線的函式表示式給定具體系數未知 謝謝
3樓:匿名使用者
我只知道線性擬合,希望對您有幫助。比如
>> p=polyfit(x,y,n) %其中x,y為資料向量,n為擬合次數(通常都取5或6)
若滿意請採納! ^.^
4樓:匿名使用者
先用plot(x,y,‘b-’)畫出資料趨勢圖,再確定曲線擬合的方程形式(雙曲線、冪函式曲線、負指數曲線、s型曲線、指數曲線、對數曲線),然後用最小二乘法,確定擬合曲線方程的係數。
5樓:匿名使用者
匿名函式呼叫,把inline那一行改為,應該就okmyfunc=@( beta, x) -beta(1)*max(x).*exp(-pi*(x-beta(2)).^2/beta(3).
^2);
2樓基本上已經說到點上
了,內但是轉換成(max(y))也是不可行的。容num2str的變數為常數。例如
for n = 1:12
eval(['m' num2str(n) ' = magic(n)'])
end最好還是寫成具體的函式形式。
或者單個函式 function y=f(x)或者匿名函式 fun=@(x) x.^2
6樓:匿名使用者
匿名函bai數呼叫,把inline那一行改為,du應該就zhiok
myfunc=@( beta, x) -beta(1)*max(x).*exp(-pi*(x-beta(2)).^2/beta(3).^2);
2樓基本上已經說到點上了,dao但是轉換成(max(y))也是內不可行的。num2str的變數為容常數。例如
for n = 1:12
eval(['m' num2str(n) ' = magic(n)'])
end最好還是寫成具體的函式形式。
或者單個函式 function y=f(x)或者匿名函式 fun=@(x) x.^2
如何用matlab資料擬合函式?
7樓:閻海瑤奇建
matlab有好多方法來擬合函式,比如對數擬合、指數擬合、多項式擬合。建議你看一下講解matlab函式擬合的書籍。就你給的資料看,多項式擬合(polyfit)比較適合且比較簡單。
幫我用matlab用最玄乘法擬合人口指數增長模
t 2004 2012 x 714.33 720.22 730.51 759.67 780.37 798.62 833.89 843.23 857.97 模型一 指數增長模型。y log x a polyfit t,y,1 r a 1 x0 exp a 2 x1 x0 exp r t 模型二 阻滯增...
matlab畫函式影象問題,用matlab怎麼畫基本的函式影象
x 10 0.001 10 plot x,sin x x 10 0.001 10 plot x,exp x 隱函式有點麻煩,你需要把具體的函式給我,我幫你畫 y 163380 1.60000 t.2 266667 t.2 t.2 t.2 1 1 t 這一句改成這樣就成了。如果看不清楚,可以把所有都改...
怎麼用matlab繪製隱函式,怎樣用matlab繪製隱函式影象
隱函式作圖命令 ezplot 用法有 ezplot fun ezplot fun,min,max ezplot fun,xmin,xmax,ymin,ymax ezplot funx,funy ezplot funx,funy,tmin,tmax ezplot figure handle ezplo...