• Регистрация
yaroslav13
yaroslav13 +1.09
н/д

Как в матлабе осуществить данное выражение (производная)

23.04.2020

dP/dt=P(t-1), где P(t-1) - давление в предыдущий момент времени

Я так понимаю через diff как-то?

Теги

    23.04.2020

    Ответы

    • aBoomest
      aBoomest+942.89
      23.04.2020 13:36

      Смотря что у вас известно. Функция P известна или правая часть д.у. Если первое, то любой численный метод пойдет в том числе и diff, если второе, то надо решать д.у.

      • DmitryExp
        DmitryExp+224.94
        24.04.2020 15:26

        У Вас запись уравнения двусмысленная получилась. Для начала нужно определиться в каком пространстве времени Вы оперируете. Если в непрерывном, то (t-1) это текущее время минус одна секунда?

        Если в дискретном времени, то dP/dt неверная запись. Должно быть что то вроде разностного уравнения.

        Покажу решение для непрерываного времени в MATLAB

        Определяем функцию P(t) через syms:

        syms P(t)

        Далее определяем само дифференциальное уравнение:

        ode = diff(P,t) == P;

        Находим решение нашего дифференциального уравнения, используя функцию dsolve:

        ySol(t) = dsolve(ode)
        

        Получаем: ySol(t) = C1*exp(t).