积分错误(第一个输入参数必须是函数句柄。)

时间:2014-09-09 14:11:33

标签: matlab integral

我想在向量上使用积分但我会看到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

1 个答案:

答案 0 :(得分:1)

从错误消息开始,您提供给函数integral的第一个输入(即time_eff)不是函数句柄,而是向量。 如果要创建函数的数值积分,请使用函数trapz

sys_eff=trapz(t,time_eff)

如果t是你的积分变量。