作为一个函数的系列的积分

时间:2014-05-29 22:23:47

标签: matlab series integral

我很遗憾这个matlab代码。我将不胜感激任何帮助。 我需要在x的支持下集成一个系列,它是变量x的函数。

我运行以下内容:

m=10; % finite summation uptill m    

%Step1: I create a series function: \sum_{1}_{m}(x^{n})    
series=@(x,n)(sum(x.^(1:n)));    

%Styep2: I call the function for m=10, however x is still undefined    
ser=@(x)series(x,m);    

% Step3: I integrate over x in a given space for x    
h=integral(ser,1,2); 

我明白了:

Error using  .^ 
Matrix dimensions must agree.

Error in @(x,n)(sum(x.^(1:n)))

Error in @(x)series(x,m)

Error in integralCalc/iterateScalarValued (line 314)
                fx = FUN(t);

Error in integralCalc/vadapt (line 133)
            [q,errbnd] = iterateScalarValued(u,tinterval,pathlen);

Error in integralCalc (line 76)
        [q,errbnd] = vadapt(@AtoBInvTransform,interval);

Error in integral (line 89)
Q = integralCalc(fun,a,b,opstruct);

Error in test (line 9)
h=integral(ser,1,2);

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

integral要求集成函数以便能够处理向量参数,因此ser必须能够评估ser([1 2 3])

要允许ser处理向量输入,请使用arrayfun分别将series应用于输入x的每个元素:

ser=@(x) arrayfun(@(z)series(z,m),x);