請教matlab程式設計高手如何用matlab自定義函式擬合

時間 2021-07-02 23:33:06

1樓:匿名使用者

實現**:

clc,clear all,close alla1=?;a2=?;b1=?;b2=?;d=?;s=?; %需要已知

lambda=[.....]; %資料t=[.....]; %資料

n=a1./lambda.^2+a2;

alpha=10^(b1./lambda.^2+b2);

a=16*n^2*s;

b=(n-l)^3*(n+s^2);

c=2*(n^2-l*(n^2-s^2));

d=(n-l)^3*(n-s^2);

phi=4*pi*n*d./lambda;

x=exp(-alpha*d);

a(1)=n;a(2)=alpha;

func=@(a,lambda)(a.*x./(b-c*x*cos(phi)+d.*x.^2));

a0=rand(1,2)

a= nlinfit(lambda,t,func,a0);

或a=lsqcurvefit(func,a0,lambda,t)vpa(a,10)

上述**,需要你提供資料來驗證。

2樓:西瓜了西瓜綺

x=[65.31 44.88 39.

92 34.73 29.51 24.

17 18.20 12.33 6.

02 0.64];y=[0.98 2.

02 2.89 2.87 2.

81 5.02 5.11 4.

75 5.584 5.17];fun=inline('a(1)*x+a(2).

/x+a(3)','a','x');b=[-1 0 1]a = nlinfit(x,y,fun,b);vpa(a,10)a=a(1),b=a(2),c=a(3) a= -....

如何用matlab將10個點擬合出一條曲線?求詳細步驟、解題思路!萬分感謝

3樓:知者智者也

首先將你的資料放在工作空間,然後在命令視窗鍵入cftool 可開啟曲線擬合工具箱,純圖形介面操作,很簡單的,你按照提示點幾下滑鼠就行了。

4樓:匿名使用者

如果只是bai平面上的10個點,du就在命令窗zhi口輸入cftool,敲回dao車,開啟平面曲線擬版合工具箱;

如果是空權間中的10個點,就在命令視窗中輸入sftool,敲回車,開啟空間曲線擬合工具箱;

使用擬合工具箱是比較簡單的辦法,你也可以自己在命令框裡使用matlab命令完成曲線擬合,polyfit二項式擬合,lsqcurvefit曲線擬合,regress一元迴歸,即使沒有工具箱,matlab也可以通過各種命令完成任務,不要像樓上一樣偷懶哦

求matlab高手畫函式影象,影象給出來了 曲線名稱叫相軌線,編出來了的麻煩回個程式設計的** 萬分感謝!!!!! 80

5樓:李繼華

先寫函式檔案bai如下

function ani=animal(t,x)

ani=[14*x(1)*(1-1/28*x(1)-1/14*x(2));

16*x(2)*(1-1/32*x(2)-1/16*x(1))];

以下du

是函式檔案呼叫代zhi碼

////////////////////////////////////////

[t,x]=ode45('animal',[0,8],[1,1]); %畫相軌

dao線

plot(x(:,1),x(:,2),'b')

hold on

[t,x]=ode45('animal',[0,8],[14,16]); %畫相軌線

plot(x(:,1),x(:,2),'r')

grid on

xlabel('甲種群密度回

答x1');

ylabel('乙種群密度x2');

title('甲乙種群相軌線');

以下是執行結果:

本人matlab新手,求教指數積分函式的性質,並通過matlab如何畫出指數積分函式ei曲線圖,萬分感謝!

6樓:匿名使用者

補充說明幾點,供**:

(1)之所以回答這個問題,是因為樓上最初只給了結果而沒給**(在我昨天下午提交回答之後發現樓主有追問,樓上也已貼出**),對於新手而言不能算是解決問題的好方式,而且我簡單做了一下覺得結果也有點可疑(下面再說)。

(2)和我的**比較,樓上所給**的效率比較低,在我的電腦上執行大約需要7分鐘時間,而我的**只需要1分鐘左右。上面所說的執行時間只有相對的參考意義,和電腦硬體、軟體環境都有關係。

(3)比執行時間更重要的一點是,樓上的做法採用多個plot疊加,這樣會佔用大量資源,在控制代碼太多時應慎用(如本例,相當於畫了5000條線)。

(4)說一下為什麼當初覺得樓上的結果可疑:從後來貼出的**可見,是由於用axis函式把縱座標範圍設為-0.6~1之間(相當於區域性放大),導致了曲線的形狀差別。

有點不明白樓上為什麼要這樣設定——僅僅為了曲線好看一點?我覺得,正確應該比好看更加重要吧?

以下為7月13日下午回答的內容。

1、指數積分函式的性質有很多,不知道樓主所指的是什麼?

中文

英文

2、指數積分函式不是初等函式,在matlab軟體中,它屬於一個特殊數學函式(special mathematical function),可以用mfun來進行計算。

3、就樓主的問題而言,可使用下面的**計算:

r0=1.95;

a=0.875;

t=1:5000;

k=1./mfun('ei',-r0^2./(4*a*t));

plot(t,k,'linewidth',2,'clipping','off');

xlabel('t');

ylabel('k');

繪圖結果:

7樓:匿名使用者

1、用matlab表示指數積分函式的語句

k=1/mfun('ei',x)

2、上述函式表示的k—t曲線圖

請問matlab非線性迴歸方程得出的係數如何計算顯著性水平?萬分感謝 5

8樓:紫月開花

用matlab做線性及非線性迴歸的主要函式有:1、線性迴歸 函式(解決線性迴歸問題),如regress()、polyfit(),主要書寫格式為 a= regress(y,x) %擬合線性迴歸函式的係數,a係數 p=polyfit(x,y,n); %擬合多項式的係數,n最大項數為9 2、非線性迴歸函式(解決非線性迴歸問題),如lsqnonlin()、lsqcurvefit()、nlinfit (),主要書寫格式為 a =lsqnonlin(自定義函式,初值),a係數 a=lsqcurvefit(自定義函式,初值,自變數,因變數),a係數 a = nlinfit(自變數,因變數,自定義函式,初值),a係數 3、比較詳細的內容,可以通過help()幫助函式來查詢。

matlab高手請教,matlab高手請教

1 2問題覺得你可能沒有問好。已經n個點的座標。你想要曲線方程,至少得說明一下曲線方程的形式如何 3問 x 20,18,16,14,12,10,8,6,4,2,0,2,4,6,8,10,12,14,16,18,20 y 0.98106,0.88756,0.79372,0.68870,0.60286,...

如何用matlab程式設計計算該組公式的離散點

題主給出的一組公式要求x i y i 值 離散點 通過分析可以按下列思路來實現。1 根據 0 的範圍,求出 theta 0 pi 20 pi n 50 r 5 u sqrt n 2 cos theta 2 sin theta mx n cos theta my u sin theta 2 根據x e...

matlab軟體如何程式設計的,MATLAB軟體如何程式設計的

matlab 程式的檔案 是以.m檔案的形式呈現的。將matlab 編寫進.m檔案內然後執行即可。例子 建立一個 helloworld.m 檔案內包括內容如下 fprintf hello world 使用快捷鍵f5直接執行,然後可以在控制檯下看到列印的 hello world jack little...