2012-03-01 40 views
0

我在matlab中有一個匿名函數:[email protected](x) x/(1+x^4)。我想將它從0加1到4,但由於某種原因,mpower在抱怨它不能採取x^4,因爲「輸入必須是標量和方矩陣。」如果我將x^4替換爲x*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的分析值一致。