如何用数值计算1 /(√x·(x + 1))的积分;

时间:2016-12-19 10:24:14

标签: matlab

这是感兴趣的函数的函数处理程序:

fun = @(x) 1 / (sqrt(x) * (x + 1));

q = integral(fun, 0, inf)

但是我收到了以下错误:

 Error using  * 
    Inner matrix dimensions must agree.

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:7)

在定义元素操作而不是矩阵操作时,必须使用.个句点。这是integral函数输入所必需的。

你的功能应该是

fun = @(x) 1./(sqrt(x).*(x+1));

给予

q = integral(fun,0,inf)

q =

3.1416

这篇关于数组与矩阵运算的概述文章可能很有意义,概述了所有按元素分类的.类型函数。 https://uk.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html

具体来说,请参阅这些有关乘法和右阵列划分的帮助文章,以便您了解:https://www.mathworks.com/help/matlab/ref/times.htmlhttps://www.mathworks.com/help/matlab/ref/rdivide.html