-2

誰かが私を助けて、何が問題なのか教えてもらえますか?いくつかの積分を計算する必要があり、このエラーが発生し続けます。

例:

quad('(x.^3)*(sqr.((x.^4)+1))',1,8)

??? Error using ==> inline.subsref at 14
Not enough inputs to inline function.

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

2 に答える 2

2

あなたの機能は間違っています:

(x.^3)*(sqr.((x.^4)+1)) 

正当な機能ではありません。sqrは定義されておらず、xがベクトルの場合は*できません。sqrの代わりにsqrtを意味しますか?そして、*を修正するには、。*(要素ごとの乗算)を使用しますが、すでにそれを知っています。

そのはず:

(x.^3).*(sqrt((x.^4)+1)) 

コードを次のように変更できます。

quad(@(x)((x.^3).*(sqrt((x.^4)+1))),1,8)

また

quad('((x.^3).*(sqrt((x.^4)+1)))',1,8)
于 2013-01-31T21:21:49.467 に答える
0

最初に関数を定義する必要があります。

f = inline ('(x.^3).*(sqrt.((x.^4)+1))'); % define function f(x) = (x^3)*(sqrt(x^4 + 1))
q = quad(f, 1, 8);  %evaluate integral

次に、qを使用してプロットまたは実行できます。

乾杯!

于 2013-01-31T21:28:45.327 に答える