1樓:匿名使用者
如何利用matlab ,用尤拉方法解這個微分方程組?
求解思路:1、用function函式體,自定義微分方程組函式,其函式格式為。
function f = func(t,x)
。微分方程組表示式。
end2、確定t的範圍及步長,如t=0~10
t0=0; %起始點。
tf=10; %終止點。
n=100; %等份。
h=(tf-t0)/n; %步長。
3、確定x的初值,如x0=[0,0];
4、呼叫尤拉方法函式,求解微分方程組的數值解。即。
t,x]=euler(@(t,x)func(t,x),t0,x0,tf,h)
5、使用plot繪圖函式,繪製t-x(t)和 t-s(t)關係曲線圖。
6、程式設計後,可以得到如下結果。
如何使用matlab求解複雜的微分方程組
2樓:二中混過
這說明此微分方程沒有顯示解,應用數值方法求解,例如ode45等函式就一個例子(選自matlab幫助文件)
解入下微分方程組。
1,建立方程組函式。
function dy = rigid(t,y)dy = zeros(3,1); a column vector
dy(1) =y(2) *y(3);
dy(2) =y(1) *y(3);
dy(3) =y(1) *y(2);
2,求解並繪圖。
t,y] =ode45(@rigid,[0 12],[0 1 1]);
plot(t,y(:,1),'t,y(:,2),'t,y(:,3),'結果。
matlab中怎樣寫微分方程組
3樓:匿名使用者
以下列例子,來說明怎樣寫微分方程組。
解 1、建立m-檔案如下:
function dy=rigid(t,y)dy=zeros(3,1);
dy(1)=y(2)*y(3);
dy(2)=-y(1)*y(3);
dy(3)=;
2、取t0=0,tf=12,輸入命令:
t,y]=ode45('rigid',[0 12],[0 1 1]);
plot(t,y(:,1),'t,y(:,2),'t,y(:,3),'
圖中,y1的圖形為實線,y2的圖形為「*」線,y3的圖形為「+」線。
4樓:devil冷月
需要將微分方程離散化。
matlab解微分方程組?
5樓:匿名使用者
題主給出的微分方程組是一個典型的混沌系統(lourenz),該系統具有強烈的初值依賴性和和不可**性。為了求解此問題,我們可以來考慮:
首先,自定義求解微分方程組的函式,即。
function dy=func(t,y)
dy=zeros(3,1);
dy(1)=10*(y(1)+y(2));dx/dt
dy(2)=20*y(1)-y(2)-y(1)*y(3); dy/dt
dy(3)=y(1)*y(2)-8*y(3); dz/dt
其二,確定初值,由於當x(0)=0,y(0)=0,z(0)=0 該系統是無法觸發的,只有當x(0,y(0),z(0)略大於0該系統才會觸發。這裡我們取。
y0=[1e-6,1e-6,1e-6]
其三,確定時間範圍,因電腦的關係,暫取t=[0,2]
其四,使用ode45函式,求解t、x、y、z值。
其五,根據x、y、z值,使用plot3函式繪製x(t),y(t),z(t)相點陣圖。
按上述流程完善**,並執行後得到如下結果。
用matlab求解微分方程組 15
6樓:匿名使用者
題主給出的微分方程組,可以這樣求解:
1、根據題意,該微分方程組可以使用ode45函式來求解。
2、完善自定義微分方程組的函式,即。
function dy = odefun(t,y)
a,b,c,d,e,f都為引數。
a=;b=;c=;d=;e=;f=; 為解題而設定。
dy(1)=y(3)*c-y(1)*d;
dy(2)=-a*y(3)*e-b*y(3)*f+y(1)*d;
dy(3)=y(2)*y(3)*e*a+y(2)*y(3)*f*b-y(3)*c;
3、確定邊界條件,即y0=[0,0,0];
4、確定時間區間,即tspan=[0 1];
5、使用ode45函式,得到其數值解。即。
t,y]=ode45(@odefun,tspan,y0)
6、使用plot函式,顯示t-y1,y2,y3的函式曲線關係。即。
plot(t,y)
xlabel('t');ylabel('x(t),y(t),z(t)')
legend('x(t)',y(t)',z(t)')
7、執行結果。
如何用matlab求解微分方程組的解析解
7樓:匿名使用者
如何用matlab求解微分方程組的解析解?為了說明問題。特列舉一個例子。
例:x"(t)+2x'(t)=x(t)+2y(t)-exp(-t),y'(t)=4x(t)+3y(t)+4exp(-t)
對於線性微分方程組,一般可以用dsolve()函式求解直接得到其解析解,其計算過程如下:
syms t x(t) y(t) %宣告變數
d2x=diff(x,2); 求x(t)的二階導數
dx=diff(x,1); 求x(t)的一階導數
dy=diff(y,1) ;求y(t)的一階導數
[x,y]=dsolve(d2x+2*dx==x+2*y-exp(-t),dy==4*x+3*y+4*exp(-t)) 解微分方程
pretty(x) %顯示x(t)的表示式
pretty(y) %顯示y(t)的表示式
執行結果如下圖所示。
目標函式有兩個未知變數,怎麼用matlab求最優解
z x 1.8 x 1 400 x 2 2 1.8 x 1 2 146.24 x 1 1270 50 x 2 3.24 x 1 3 262.872 x 1 2 3771 x 1 82375 100 x fmincon x z x 0 0 0 0 得到的結果為 x 35.6887 195.5207 其...
用Matlab程式設計,已知兩個點的座標,怎麼求直線的方程啊
墨汁諾 k b 2 a 2 b 1 a 1 k是係數 b a 2 k a 1 b是常數。方程 y k x b 設點1 x1,y1 點2 x2,y2 a polyfit x1,x2 y1,y2 1 則方程為y a 1 x a 2 例如 function qiuzhixian varargin 求通過一...
用SPSS怎麼做兩個連續變數之間的相關,或者說變數對另變數的影響作用大小
先做相關,再做線性迴歸,1.相關 雙變數 2.迴歸 線性 用spss怎麼做兩個連續變數之間的相關 先做相關,再做線性迴歸 1.相關 雙變數 2.迴歸 線性 兩個都是連續變數可以點相關然後點雙變數,選pearson,把變數選入。相關分析完,再進行迴歸分析,看你用哪個變數 哪個,點回歸點線性 進行分析 ...