这是感兴趣的函数的函数处理程序:
fun = @(x) 1 / (sqrt(x) * (x + 1));
q = integral(fun, 0, inf)
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
Error using *
Inner matrix dimensions must agree.
Run Code Online (Sandbox Code Playgroud)
我怎么解决这个问题?
.定义元素操作而不是矩阵操作时,必须使用句点.这是integral功能输入所必需的.
你的功能应该是
fun = @(x) 1./(sqrt(x).*(x+1));
Run Code Online (Sandbox Code Playgroud)
给予
q = integral(fun,0,inf)
q =
3.1416
Run Code Online (Sandbox Code Playgroud)
有关Array与Matrix操作的概述文章可能很有用,概述了所有元素.类型的函数.
https://uk.mathworks.com/help/matlab/matlab_prog/array-vs-matrix-operations.html
具体来说,看到multplication和右阵列的划分这些帮助文章给你一个想法:https://www.mathworks.com/help/matlab/ref/times.html,https://www.mathworks.com/help /matlab/ref/rdivide.html