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擬合一組資料得到函式的表示式
這個太難了,或者說是有太多的不確定性 因為連乙個大概的函式形式都沒有給出來 也就是說可能性太多,這組資料可以擬合出無數多種函式結果 如果什麼函式形式都不給出的話,或者用多項式擬合吧 下面是嘗試用11次多項式擬合你的資料 x 9,11,13,15,17,19,21,23,25,27,29,31,33,...
如何使用 MATLAB 進行威布林函式擬合曲線
執行你的程式產生隨機數,然後輸入weibplot y 可以看是否符合weibull分布,輸入wblfit y 得出兩個數,第乙個是尺度引數,第二個是形狀引數。還有weibull分布隨機數可以直接用wblrnd a,b,c,d 指令吧,a形狀引數,b尺度引數,c行數,d列數。首先是產生威布林分布隨機數...
用matlab進行曲線擬合多項式擬合
文庫精選 內容來自使用者 beyond1215 matlab學習 多項式擬合 1 1 polyfit函式 matlab的polyfit函式用於多項式擬合,其語法為 p polyfit x,y,k 其中,x,y分別是橫縱座標向量,它們不僅元素個數相同,而且同為行向量或同為列向量。k為非負整數,是待擬合...