Интеграция функций на Matlab - PullRequest
0 голосов
/ 14 апреля 2020

Я пытаюсь переписать код из Mathematica в Matlab.

Исходный код Mathematica:

Mathematica code sampple

Хорошо, пока нет проблем, потому что я могу оценить функцию TT [x] везде, где это возможно. Я хочу (x, x + 1, ...) и выполнить целое число c.

Я хочу сделать то же самое на Matlab, и вот моя проблема:

TT = simplify(T);
Fx = 7.734*10^(-2)*vpaintegral(TT,x+1,0,Mu)
Result = double(Fx)

Ошибка использования sym / vpaintegral (строка 131). Невозможно интегрировать по отношению к 'x + 1'. Переменная интегрирования должна быть символьной c переменной.

Что я делаю не так? Можно правильно оценить и интегрировать функцию в Mathematica, но не в Matlab, есть ли другой способ сделать это? Если я введу 'x' вместо 'x + 1', интеграл будет работать отлично, иначе это не могло быть.

Заранее спасибо!

1 Ответ

2 голосов
/ 14 апреля 2020

почему бы вам не заменить TT на subs(TT,x,y-1), а затем интегрировать по новому символу y, например, я заменяю cos (x) в функции ниже на y и выполняю интегрирование

syms x y
f=3/4*(1+cos(x))^2
vpaintegral(subs(f,cos(x),y),y,0,1)
...