matlab想用ode45求解一个二阶常微分方程

matlab想用ode45求解一个二阶常微分方程,边界条件是y(0)=某值,y(10)=某值,我该怎么做,我看了很多例子都是给出y(0)=某值,y'(0)=某值作为起始条... matlab想用ode45求解一个二阶常微分方程,边界条件是y(0)=某值,y(10)=某值,我该怎么做,我看了很多例子都是给出y(0)=某值,y'(0)=某值作为起始条件的,我想换成两端的约定。 展开
 我来答
lhmhz
高粉答主

2020-04-10 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7263 获赞数:17001

向TA提问 私信TA
展开全部

想用ode45求解一个二阶常微分方程,但边界条件是y(0)=某值,y(10)=某值,这应该怎么去求解?

1、首先我们应该理清ode函数应用条件,由于二阶常微分方程的解有两个变量(y和y'),一般来说,给出的初始条件为 y(0)=某值和y'(0)=某值,这类问题是适合用ode函数求解。

2、对于题主提出另一种初始条件(同一变量的),即y(0)=某值,y(10)=某值,则不能用ode函数,而应使用bvp4c四阶边界值问题 求解函数,求解格式

sol = bvp4c(odefun,bcfun,solinit)

3、下面举例说明bvp4c函数使用方法

求微分方程 y′′+y=0,y(0)=0,y(π/2)=2。

第一步:自定义微分方程函数,其内容

function dydx = bvpfcn(x,y)

dydx = [y(2) -y(1)];

第二步:自定义微分方程边界条件函数,其内容

function res = bcfcn(ya,yb)

res = [ya(1), yb(1)-2];

第三步:创建初始估计值函数

function g = guess(x)

g = [sin(x), cos(x)];

第四步:使用bvpinit函数,得出边界值问题求解器的初始估计值

第五步:使用bvp4c函数求解方程

sol = bvp4c(@bvpfcn, @bcfcn, solinit);

第六步:使用plot函数

对解进行绘图

plot(sol.x, sol.y, '-o')

4、完善上述代码,运行结果如下。

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式