如何用matlab求解二阶微分方程,以及程序实例

 我来答
lhmhz
高粉答主

推荐于2017-12-15 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:16996

向TA提问 私信TA
展开全部

1、对于求数值解的微分方程,你可以用ode45()函数求解。如求下列微分方程

func。m   %自定义微分方程的函数

function z = func(t,y)

z =[y(2);(1-y(1)^2)*y(2)-y(1)];

main。m  %主程序

clear all;close all;clc

y0 = [0.25;0];

h = 0.1;

a = 0;

b = 20;

[t1 y1] = ode45(@func,y0,h,a,b)

2、对于求解析解的微分方程,你可以用dsolve()函数求解。如求微分方程x*y''+x﹡(y')^2-y'=0的解析解,可以下列步骤计算

>> syms y(x)

>>Dy = diff(y);D2y = diff(y, 2);

>>dsolve(x*D2y+x*(Dy)^2-Dy==0,'x')

刺友互
高粉答主

2019-06-21 · 每个回答都超有意思的
知道答主
回答量:3979
采纳率:100%
帮助的人:67.9万
展开全部

1、首先看一下matlab求解方程的方法,首先指明所解方程的变量,然后指明方程,未知数和限制条件,最后求解方程。

2、在matlab命令行窗口中输入syms x [x,params,conds]=solve(sin(x)==1,'ReturnConditions', true) ,按回车键可以得到方程解。

3、转换一下,可以看到sin(x)=1方程的解是如下图所示 。

4、也可以求解下面的一个方程。

5、输入syms a b c y x;[x,y]=solve([a*x^2+b*y+c==0,a*x+2*y==4],[x,y])。

6、按回车键可以得到方程解。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阎辉门曼云
2019-03-27 · TA获得超过3830个赞
知道小有建树答主
回答量:3105
采纳率:31%
帮助的人:208万
展开全部
dsolve('D2y=x','x')
ans
=
x^3/6
+
C2*x
+
C3
D2y的意思就是y的二阶微分项
不明白你的问题什么意思,要输入的话直接定义符号变量输入
syms
D2x
x
D2x=x;
如果是矩阵,那就用矩阵表示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式