這個例子展示了如何用MATLAB建立和求解三種不同類型的微分方程 。 MATLAB提供了幾種數值算法來求解各種各樣的微分方程 。
需要這些哦
matlab軟件
電腦
方式/
1初值問題
范德波德莫是界說范德波爾方程的函數 。
type vanderpoldemo
2按“Enter”鍵 。
如圖1所示 。

3方程被寫當作一個二階一階賦格 。 對于參數Mu的分歧值 , 對它們進行計較 。 為了加速積分速度 , 我們按照參數μ的值來選擇合適的求解器 。
對于μ=1 , 肆意一個MATLAB的ODE解算器都能有用地求解范德波爾方程 。 下面利用的ODE45求解器就是這樣一個例子 。 方程在[0,20]域內求解 。
tspan = [0, 20];
y0 = [2; 0];
Mu = 1;
ode = @(t,y) vanderpoldemo(t,y,Mu);
[t,y] = ode45(ode, tspan, y0);
% Plot of the solution
plot(t,y(:,1))
xlabel('t')
ylabel('solution y')
title('van der Pol Equation, \mu = 1')
4按“Enter”鍵 。
得圖2所示 。

5對于較大的μ量級 , 問題變得棘手 。 快速積分需要特別的數值方式 。 ODe15S、ODe23S、ODe23T和ODe23Tb能有用地解決剛性問題 。
這里是一個解決范德波爾方程的μ=1000利用ODe15S 。
tspan = [0, 3000];
y0 = [2; 0];
Mu = 1000;
ode = @(t,y) vanderpoldemo(t,y,Mu);
[t,y] = ode15s(ode, tspan, y0);
plot(t,y(:,1))
title('van der Pol Equation, \mu = 1000')
axis([0 3000 -3 3])
xlabel('t')
ylabel('solution y')
6按“Enter”鍵 。
得圖3所示 。

7邊值問題
Bvp4C求解常微分方程邊值問題 。
示例函數TWOODE有一個微分方程 , 它被寫當作二階一階ODEs系統 。
type twoode
8TWOBC的鴻溝前提 。
type twobc
9在利用Bvp4C之前 , 我們必需為我們想要在網格上暗示的解決方案供給一個猜測 。 然后求解器調整網格以細化解決方案 。
BVPINIT以求解器Bvp4C所需的形式調集了最初的猜測 。 對于初始網格[0 1 2 3 4]和常量猜測的y(x)=1 , y'(x)=0 , 像這樣挪用BVPINIT:
solinit = bvpinit([0 1 2 3 4],[1; 0]);
10有了這個初步的猜想 , 我們就可以解決Bvp4C的問題 。
溶液溶膠(如下圖) , 然后用DEVAL計較并繪制 。
sol = bvp4c(@twoode, @twobc, solinit);
xint = linspace(0, 4, 50);
yint = deval(sol, xint);
plot(xint, yint(1,:),'b');
xlabel('x')
ylabel('solution y')
hold on
11按“Enter”鍵 。
得圖4所示 。

12這個特別的邊值問題正好有兩個解 。 獲得的另一個解是對
y(x) = -1, y'(x) = 0
像以前一樣繪圖 。
solinit = bvpinit([0 1 2 3 4],[-1; 0]);
sol = bvp4c(@twoode,@twobc,solinit);
xint = linspace(0,4,50);
yint = deval(sol,xint);
plot(xint,yint(1,:),'r');
猜你喜歡
- excel怎么繪制復合條餅圖
- 怎么找回四六級準考證號
- excel怎么快速拆分文本
- matlab中怎么使用圖與矩陣
- 電腦版釘釘怎么下載直播視頻
- matlab怎么使用稀疏矩陣
- 電腦版釘釘怎么查看直播數據
- matlab中如何表示“稀疏矩陣的圖形“
- 魔獸世界8.3部落怎么前往納沙塔爾
- 貓發情幾天配種 母貓發情怎么解決
