最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

MATLAB求高階微分方程數(shù)值解

2022-05-27 08:26 作者:e小白官方  | 我要投稿

e小白網(wǎng)址:www.e-xiaobai.com

注:MATLAB不能直接求高階微分方程的數(shù)值解,需要變量替換,將其轉(zhuǎn)化為一階微分方程組。

例1

首先,要將二階微分方程降為一階微分方程組,如下圖所示:


首先,編寫wf1.m文件

function dy=wf1(x,y)
dy=zeros(2,1);
dy(1)=y(2);
dy(2)=2*x/(1+x^2)*y(2);
end

再調(diào)用


%例1
%dsolve('(1+x^2)*D2y=2*x*Dy','y(-3)=2,Dy(-3)=4','x')%求得解析解
%(2*x*(x^2 + 3))/15 + 34/5%解析解,即為y
%(2*x^2)/5 + 2/5%解析解求導(dǎo),即為y'
[x,y1]=ode45('wf1',[-3,4],[2,4]);%數(shù)值解
%注意:y1變量中有兩列值,第1列為y1的值,即為題目中y的值。
%第2列為y2的值,即為題目中y'的值。
y2=(2.*x.*(x.^2 + 3))/15 + 34/5;
y3=(2.*x.^2)/5 + 2/5;
figure(1)
subplot(2,1,1)
plot(x,y1(:,1),'r*',x,y2,'b+')
title('y的數(shù)值解和解析解')
legend('y數(shù)值解','y解析解')
subplot(2,1,2)
plot(x,y1(:,2),'r*',x,y3,'b+')
title('y的一階導(dǎo)數(shù)的數(shù)值解和解析解')
legend('y的一階導(dǎo)數(shù)的數(shù)值解','y的一階導(dǎo)數(shù)的解析解')

例2


該一階微分方程組的二階微分方程形式為:

首先,編寫wf2.m文件

function dydx=wf2(t,y)
dydx=zeros(2,1);
dydx(1)=y(2);
dydx(2)=1000*(1-y(1)^2)*y(2)-y(1);
end

再調(diào)用


%例2
%剛性方程組
%使用 ode45 以及默認(rèn)的相對(duì)和絕對(duì)誤差容限(分別為 1e-3 和 1e-6)解算此方程組特別慢,需要好幾分鐘才能完成解算和繪制。
[t,y] = ode15s('wf2',[0 3000],[2 0]);
plot(t,y(:,1),'-o')


MATLAB求高階微分方程數(shù)值解的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宣武区| 台南县| 顺义区| 大庆市| 赣榆县| 讷河市| 宁陵县| 兖州市| 石泉县| 沛县| 四子王旗| 榆中县| 玉田县| 莲花县| 宁安市| 邛崃市| 治多县| 双江| 固阳县| 伊川县| 茶陵县| 西畴县| 安康市| 武威市| 特克斯县| 高雄市| 彭阳县| 腾冲县| 甘洛县| 鄱阳县| 曲麻莱县| 潞西市| 区。| 大埔区| 东宁县| 浙江省| 仪陇县| 湖口县| 永川市| 大田县| 南川市|