matlab中没有足够的输入参数错误

时间:2015-03-09 23:23:59

标签: matlab function input

这是我的matlab代码,我在第2行得到的输入参数错误不够,我不知道如何修复它。 Anyhelp?提前谢谢。

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)

1 个答案:

答案 0 :(得分:1)

此代码通过梯形规则执行集成。最后一行代码放弃了它。请不要只需按下MATLAB编辑器中的“播放”按钮即可。不要考虑它,而忽略它就在那里。相反,进入命令提示符,您需要定义进入此功能的输入。这些输入是:

  • F:您要整合的功能:
  • a:起始x
  • b:结尾x
顺便说一下,一旦你运行它,你的功能就不会做任何事情。您可能希望返回整数结果,因此您需要将代码的第一行修改为:

function n = Integr1( F,a,b )

最后一行代码将n指定为曲线下方的区域,以及您想要返回的内容。

现在,让我们定义您的参数。 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的积分。