Matlab和积分计算

时间:2013-01-31 21:12:55

标签: matlab integral

有人可以帮助我并告诉我这是什么问题吗? 我必须计算一些积分,我不断得到这个错误。

示例:

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{:});

2 个答案:

答案 0 :(得分:2)

你的功能错了:

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

不是合法的功能。 sqr未定义,如果x是向量,则不能*。你的意思是sqrt代替sqr?要修复*,只需使用。*(逐元素乘法),但你已经知道了。

应该是:

(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)

答案 1 :(得分: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来绘制或做任何你想做的事。

干杯!