Matlab 使用 ode45 表示四阶 ode

标签 matlab

y'''' + (a1 + a2*v(t)^2)*y'' + (a3 + a4*v(t)^2)*y = 0 
y(0) = 2, Dy(0) = 0, D2y(0) = 0, D3y(0) = 0

我尝试用Matlab的dsolve求解上述四阶颂,但得到的结果非常大。据我现在了解,dsolve 在这里不起作用,我必须使用 ode45 来求解这个方程。

我尝试遵循Matlab关于ode45的文档但我无法完全理解它。此外,就我而言,系数也与时间相关。

如何将此方程转换为 ode45 可以理解的格式?

最佳答案

这是一个四阶 ODE,您无法直接求解。您必须将其重写为一阶 ODE 系统:

y_3' = -(a1+a2*v(t))*y_2 - (a3+a4*v(t)^2)*y
y_2' = y_3
y_1' = y_2
y' = y_1

y(0) = 2
y_1(0) = 0
y_2(0) = 0
y_3(0) = 0

这个,您可以输入 ODE45...

关于Matlab 使用 ode45 表示四阶 ode,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266264/

相关文章:

matlab - matlab中的梯度直方图

matlab - 如何在 Matlab 中创建命令别名

matlab - 在 MATLAB 中优化手动编码的 k 均值?

matlab - 来自 matlab 的制表符分隔文本文件

image - 将图像映射成圆柱体或球体形状?

matlab - 从 MATLAB 中的 ezplot 提取数据

在使用 -nodesktop 和 -nosplash 选项后,MATLAB 仍然打开 GUI

matlab - 1x1 矩阵的第一个元素与 1x1 矩阵的所有元素之间的差异

matlab - 如何在不排序的情况下找到向量中 2 个最小元素的索引?

matlab - matlab中container map和struct的区别