2012-03-01 6 views
0

私はmatlabに無名関数を持っています:[email protected](x) x/(1+x^4)。私はそれを0から1のクワッドに統合したいのですが、何らかの理由でmpowerがx^4を受け取ることができないと不平を言っています。「入力はスカラと正方行列でなければならないからです。 x^4x*x*x*xに置き換えた場合、「エラーを使用するとエラーが発生します。==> mtimes内部行列のサイズは一致する必要があります。完全なエラー出力は次のとおりです。Matlabでクワッドを使用するとエラーが発生する

??? Error using ==> mpower 
Inputs must be a scalar and a square matrix. 

Error in ==> intapprox>@(x)x/(1+x^4) at 4 
[email protected](x) x/(1+x^4); 

Error in ==> quad at 77 
y = f(x, varargin{:}); 

Error in ==> intapprox at 27 
area = quad(f,0,1); 

答えて

3
使用 [email protected](x) x./(1+x.^4);すなわち ./

、あなたは行列除算とパワーを行うにはしたくないので、.^。そして、私は得ます。

>> area = quad(f,0,1) 
area = 

    0.3927 

これはpi/8の分析値と一致します。