matlab中dsolve求微分方程的问题 30

y’’(t)+4y’(t)+4y(t)=f’(t)+3f(t)f(t)=exp(-t)u(t);起始条件都为零symstyf=exp(-t).*heaviside(t);... y’’(t)+ 4y’(t)+4y(t)=f’(t)+3f(t) f(t)= exp(-t)u(t) ;起始条件都为零
syms t y
f=exp(-t).*heaviside(t);
dsolve(['D2y+4*Dy+4*y=','Df+3*f'],'y(0)=3','Dy(0)=0')
plot(t,y)

警告: Unable to display result due to a previously interrupted computation or out of memory. Execute
'reset(symengine)' and repeat the commands to regenerate the result.
> In sym/disp (line 44)
In sym/display>displayVariable (line 85)
In sym/display (line 47)
In savintest (line 3)
错误使用 plot
数据必须为可转换为双精度值的数值、日期时间、持续时间或数组。

出错 savintest (line 4)
plot(t,y)
展开
 我来答
lhmhz
高粉答主

2018-05-14 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17008

向TA提问 私信TA
展开全部

带有阶跃函数的微分方程,一般只能用数值的方法来求解。可以用ode45函数求解。

1、调用格式,[t,y] = ode45(@myodefun,tspan,y0);

式中:myodefun——微分方程的自定义函数,tspan——时间区间,y0——初始条件

2、微分方程的自定义函数,主要内容为

dy(1)=y(2);

dy(2)=-4*y(2)-4*y(1)+df+3*f;

3、部分计算结果及图形

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式