如何用matlab求解微分方程并画图 80

Dy/Dx=ycos(x)/(1+2y^2),y(0)=1这道题怎么用matlab求解并画出图啊... Dy/Dx=ycos(x)/(1+2y^2),y(0)=1
这道题怎么用matlab求解并画出图啊
展开
 我来答
电子数码小百科NW
2020-02-15 · TA获得超过6493个赞
知道答主
回答量:15
采纳率:0%
帮助的人:4048
展开全部

1、找到关于求解常微分方程的习题。

2、这里用matlab求解,主要用到的就是“dsolve”,具体的格式如下,但是不仅仅局限下面两种,其中eq就是代表方程式,而con为初始条件。

3、这里的“x”关于x的函数。知道语法就可以进行计算了。

4、在matlab中输入如下,dsolve('D2y+2*Dy+exp(x)=0','x'),并直接回车就可以显示计算结果了。

5、框中为最终求解的通解。

Sievers分析仪
2024-10-13 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
dukinkin
2016-05-06 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:936万
展开全部

由于方程比较复杂,解析解不能用初等函数表示

只是要获得图像的话,用数值计算的办法可能更方便


fun=@(t,y) 1.44*(10^9)*(1-y).*exp(-109170./(8.314*t));

[T,Y] = ode23t(fun,500:600,0);

DY=fun(T,Y);

AX=plotyy(T,Y,T,DY);

set(get(AX(1),'Xlabel'),'String','T');

set(get(AX(1),'Ylabel'),'String','\alpha');

set(get(AX(2),'Ylabel'),'String','d\alpha/dT');


T是自变量,Y是变量也就是alpha

DY是,Y对T的导数

得到得到结果如下图



从图像看出,在T=500时,alpha=0

大概在T=600时,d(alpha)/dT趋向于0,alpha趋向于1不变

但是由于是数值解,在T不断增加的时候,d(alpha)/dT会在0附近振荡

所以T的取值不宜取得太大,这里取500到600之间

而采用ode23t函数,减少振荡


实际上,当T增大到一定值的时候,d(alpha)/dT趋向于0,

函数趋向于保持恒定值,所以后续的振荡是不合理的

取一定的区间如上图,已经可以很好地得到函数的变化趋势了

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
learneroner
高粉答主

推荐于2017-12-15 · 关注我不会让你失望
知道大有可为答主
回答量:1.1万
采纳率:91%
帮助的人:6582万
展开全部

dsolve()求解微分方程后,使用ezplot()作图,参考代码:

>> y = dsolve('Dy=y*cos(x)/(1+2*y^2)','y(0)=1','x');
>> ezplot(y,[-10,10]) % [-10,10]为x区间

更多追问追答
追问
未定义与 'char' 类型的输入参数相对应的函数 'dsolve'。是为什么啊
追答
你是哪个版本的matlab?输入 help dsolve 。看看你的版本使用dsolve()函数的例子
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式