程序运行出错?Matrix must be square.
>> -log(quad('exp(5.2460.*x -0.1421.*x^2+0.0025.*x^3)',50.47,50.57))??? Error using ==> inlineeval
Error in inline expression ==> exp(5.2460.*x -0.1421.*x^2+0.0025.*x^3)
??? Error using ==> mpower
Matrix must be square.
Error in ==> inline.subsref at 25
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);
Error in ==> quad at 62
y = f(x, varargin{:});
>> 回复 1 # 2008057 的帖子
改成:
-log(quad('exp(5.2460.*x -0.1421.*x.^2+0.0025.*x.^3)',50.47,50.57))
有结果。
ans =
-222.4361 回复 2 # BDHHNSWU 的帖子
x与^间加点:x.^2+0.0025.*x.^3 回复 3 # BDHHNSWU 的帖子
呵呵,好使了,谢谢 本帖最后由 hustxyong 于 2010-11-20 20:19 编辑
^是矩阵乘法,按照矩阵论的定义,只有方阵才能进行幂乘运算;
.^是对矩阵内每个元素进行幂次运算,对于标量^和.^的效果是一样的
所以源代码改成一下形式就可以了
-log(quad('exp(5.2460*x -0.1421*x.^2+0.0025*x.^3)',50.47,50.57))运行后虽然得到结果,但是会出现warning,因为你给定的这个函数在积分区间内实在是太大了10^97
页:
[1]