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 + 3
从 x = 1
到 x = 4
的积分。
这是我的 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 + 3
从 x = 1
到 x = 4
的积分。