matlab怎么求三次微分,Matlab – 求解三阶微分方程

要使用ODE45(或类似),您需要将三阶ODE转换为一阶ODE系统.

为此,请允许

y0 = y

y1 = y0'

y2 = y1'

y3 = y2'

然后

y0' = y1

y1' = y2

y2' = y3

y3' = y''' = -41*y2-360y1-900y0+600dx+1200x

您现在可以使用ODE45通过嵌套x(t)和dx(t)可用的函数来集成系统.

function test()

% some random x function

x = @(t) exp(-t);

dx = @(t) -exp(-t);

% integrate numerically

[T, Y] = ode45(@linearized, [0 1], [2 1 -0.05 0]);

% plot the result

plot(T, Y(:,1))

% linearized ode

function dy = linearized(t,y)

dy = zeros(4,1);

dy(1) = y(2);

dy(2) = y(3);

dy(3) = y(4);

dy(4) = -41*y(3)-360*y(2)-900*y(1)+600*dx(t)+1200*x(t);

end

end

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值