我定义了一个函数
temp = [2;1.5; 0.75; 1.5; 3.75; 0.75; 1.25; .075; 2.0; 1.0; 1.0];
A1 = @(x) temp(floor(x*10)+1);
这是一个单输入单输出功能。我想将A1(x)从0积分到1。使用Matlab的数值积分器 integral 时。它将引发以下错误:
>> integral(A1,0,1)
Error using integralCalc/finalInputChecks (line 526)
Output of the function must be the same size as the
input. If FUN is an array-valued integrand, set the
'ArrayValued' option to true.
只是检查积分是否不起作用,我定义了一个虚函数
f = @(x) sin(x)
我能够正确整合它。我不确定函数A1(x)有什么问题。我正在使用Matlab R2018a
更新:我尝试过
w = @(x) 2
仍然不起作用。
答案 0 :(得分:1)
只需阅读错误消息...
将'ArrayValued'
设置为true
>> integral(A1,0,1,'ArrayValued',true)
ans =
1.4575