Новое в MATLAB. Получение ошибки Первый входной аргумент должен быть дескриптором функции. При попытке интегрировать текущую функцию - PullRequest
1 голос
/ 16 февраля 2020

Итак, это то, что у меня есть

t=60;

q=integral(e(t)*i(t), t, 0, 2*pi);

function v=e(t)

v=160*sin(t);

end

function c=i(t)

c=2*sin(t-(pi/6));

end

, но оно возвращает следующие ошибки, и я не знаю, как это исправить. Я просмотрел другие посты, ссылающиеся на ту же ошибку, и не смог ее исправить.

Error using integral (line 82)
First input argument must be a function handle.

Error (line 10)
q=integral(e(t)*i(t), t, 0, 2*pi);

Любая помощь будет принята с благодарностью

1 Ответ

2 голосов
/ 16 февраля 2020

У вас должно быть что-то вроде этого:

e_times_i = @(t) e(t) .* i(t)
q=integral(e_times_i, 0, 2*pi);

Действительно, первый аргумент integral дескриптор функции Matlab. Вы указали значение , а не дескриптор функции.

...