matlab2015使用dsolve错误,matlab - 当变量乘以常数时,dsolve中的错误(R2011a) - 堆栈内存溢出...

由于IC的问题,Matlab似乎无法解决此问题。 (通过尝试数值解算器得出的t = 0时导数的非数值)。 我找不到解决的办法(Matlab 2015a实际上挂在这上,作为分析解决方案)。

但是Maple可以解决它(Maple在ODE中非常出色)。 这是解决方案和曲线图(对所有这些硬编码的数值使用符号表示法,然后在末尾使用subs也是一个好主意。不需要到处都具有幻数)。 您可能需要将此报告给Mathworks

restart;

ode1 := diff(y1(t),t$2) = a*y1(t) + b*diff(y1(t),t)+ c*y2(t) + d;

ode2 := diff(y2(t),t$2)= e*y2(t) + b*diff(y2(t),t)+ c*y1(t) + f;

ic := y1(0) = 2, y2(0) = -2, D(y1)(0) = 0, D(y2)(0) = 0;

sol:=dsolve({ode1, ode2, ic}, {y1(t), y2(t)}):

sol:=subs( {a = -1256.4, b = -5, c= 182.781, e = -151.5, f = -14.0459,d=182.781},sol);

sol := {y1(t) = (-.1922320350+0.5088536230e-1*I)*

exp((-2.500000000+9.444367980*I)*t)+(1.096005949-0.7581365270e-1*I)*

exp((-2.500000000+36.14144316*I)*t)+(-.1922320331-0.5088536185e-1*I)*

exp((-2.500000000-9.444367980*I)*t)+(1.096005952+0.7581365750e-1*I)*

exp((-2.500000000-36.14144316*I)*t)+.1924521734,

y2(t) = (-.8748433300+.2315780499*I)*exp((-2.500000000+9.444367980*I)*t)+

(-.2408287839+0.1665876887e-1*I)*exp((-2.500000000+36.14144316*I)*t)+

(-.8748433212-.2315780478*I)*exp((-2.500000000-9.444367980*I)*t)+

(-.2408287844-0.1665876992e1*I)*

exp((-2.500000000-36.14144316*I)*t)+.2313442207}

这是y1(t)和y2(t)2秒的解图

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9OMFExZi5wbmc=

aHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9UMDRsWi5wbmc=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值