MATLAB 新手。获取错误第一个输入参数必须是函数句柄。在尝试整合当前功能时

New to MATLAB. Getting the error First input argument must be a function handle. While attempting to integrate current function

这就是我目前所拥有的

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);

任何帮助将不胜感激

你应该有这样的东西:

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

的确,integral matlab 函数句柄的第一个参数。您给的 value 不是函数句柄。