这是感兴趣的函数的函数处理程序:
fun = @(x) 1 / (sqrt(x) * (x + 1));
q = integral(fun, 0, inf)
但是我收到了以下错误:
Error using *
Inner matrix dimensions must agree.
我该如何解决这个问题?
答案 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.html,https://www.mathworks.com/help/matlab/ref/rdivide.html