无法整合功能

时间:2019-04-24 16:02:08

标签: matlab

我定义了一个函数

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

仍然不起作用。

1 个答案:

答案 0 :(得分:1)

只需阅读错误消息...

'ArrayValued'设置为true

>> integral(A1,0,1,'ArrayValued',true)

ans =

   1.4575