我想在向量上使用积分但我会看到sys_eff的错误,即“第一个输入参数不是函数句柄。”
我很高兴有你的导游和提前感谢。
我应该提到所有载体都具有与345600相同的ize。
function [ P_loss,time_eff, sys_eff ] = final( Pmpp, Pl_inv, Pl_bat_inv, Pl_bat_r )
j=length(Pmpp);
for t=1:j;
P_loss(t)= Pl_inv(t) + Pl_bat_inv(t) + Pl_bat_r(t);
time_eff(t)= P_loss(t)/Pmpp(t);
end
sys_eff=integral(time_eff,0,345600);
end
答案 0 :(得分:1)
从错误消息开始,您提供给函数integral
的第一个输入(即time_eff
)不是函数句柄,而是向量。
如果要创建函数的数值积分,请使用函数trapz
sys_eff=trapz(t,time_eff)
如果t是你的积分变量。