【问题标题】:Simple second order ODE in ScilabScilab中的简单二阶ODE
【发布时间】:2019-03-26 13:45:54
【问题描述】:

我是 scilab 的新手,我正在尝试了解 ODE 如何在 SCILAB 中用于二阶 ODE。

我的方程式是: (d^2y)/(dt^2 )+2 dy/dt + y=0

我想绘制结果。 到目前为止,我已经明白我需要将方程分解为两个一阶方程。所以程序必须是这样的:

function dx=f(x, y)
    dx(1)=2*y+1;
    dx(2)=y;
endfunction

你能检查一下这是否正确,我不确定dx(1)dx(2)是否正确。

谢谢。

【问题讨论】:

    标签: differential-equations scilab


    【解决方案1】:

    如果 x_1 是 y 而 x_2 是 dy/dt,你宁愿像这样写你的 ode 右手边(即 dx/dt)

    function dxdt=f(t, x)
        dxdt(1) =  x(2);
        dxdt(2) = -x(1)-2*x(2);
    endfunction
    

    【讨论】:

    • 我收到一个错误。未定义变量:x。它在函数 f 的第 2 行显示。
    • 好的,错误是因为 y0 值,它们必须采用 y0=[%pi;1] 的形式。你能解释一下为什么吗?
    • 拥有 rhs 是不够的。请通过阅读帮助页面 od ode 自行学习一点 Scilab,现在您已经为您的 ode 提供了正确的功能。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-11
    • 2020-05-27
    • 1970-01-01
    • 2019-05-15
    • 2021-06-21
    • 1970-01-01
    相关资源
    最近更新 更多