matlab输入参数不足错误

Not enough input arguments error in matlab

这是我的 matlab 代码,我在第 2 行收到输入参数不足错误,我不知道如何修复它。有帮助吗?提前致谢。

function [] = Integr1( F,a,b )
i = ((b - a)/500);
x = a;k = 0; n = 0;
while x <= b
    F1 = F(x);
    x = x + i;
    F2 = F(x);
   m = ((F1+F2)*i)/2;
    k = k +m;
end
k
x = a; e = 0; o = 0;
while x <= (b - 2*i)
    x = x + i;
    e = e + F(x);
    x = x + i;
    o = o + F(x);
end
n = (i/3)*(F(a) + F(b) + 2*o + 4*e)

这段代码按照梯形规则进行积分。最后一行代码泄露了它。请不要直接按下 MATLAB 编辑器中的播放按钮。甚至不要去想它,而忽略它的存在。相反,进入你的命令提示符,你需要定义进入这个函数的输入。这些输入是:

  • F:您要集成的功能:
  • a: 起点x
  • b:结尾x

顺便说一句,一旦你 运行 你的函数将不会做任何事情。您可能想要 return 积分结果,因此您需要将代码的第一行修改为:

function n = Integr1( F,a,b )

最后一行代码将 n 指定为曲线下的面积,这就是您想要的 return。

现在,让我们定义您的参数。 F 的一个简单示例是一个线性函数...类似于:

F = @(x) 2*x + 3;

这定义了一个函数y = 2*x + 3。接下来定义起点和终点:

a = 1; b = 4;

我分别做了1和4。现在可以调用代码了:

out = Integr1(F, a, b);

out 应包含 y = 2*x + 3x = 1x = 4 的积分。