Can anyone please tell me why I am getting this error?
显示 更早的评论
A =
2 4 1
3 1 4
5 6 0
>> A=finverse(A) Undefined function 'finverse' for input arguments of type 'double'.
>>
回答(3 个)
Star Strider
2014-8-27
编辑:Star Strider
2014-8-27
1 个投票
The finverse function is in the Symbolic Math Toolbox, and creates the inverse of a symbolic function.
You likely want the inv function for your matrix. If you are doing matrix calculations, it is preferable to use the mldivide function, or more directly the (\) (backslant) operator (if possible in your calculations).
3 个评论
Star Strider
2014-8-27
The easiest way to invert your matrix then is simply to use inv. If you want to use the Symbolic Math Toolbox, declare your A matrix as a symbolic object first:
syms A
A = [2 4 1
3 1 4
5 6 0]
Ainv = inv(A)
It will still be a double data type, so there is no advantage to doing it as a symbolic object.
Christopher Creutzig
2014-8-29
Your sequence of commands does not create a symbolic matrix. The assignment to A discards the previous symbolic variable A.
A = sym([2 4 1
3 1 4
5 6 0])
inv(A)
ans =
[ -8/15, 2/15, 1/3]
[ 4/9, -1/9, -1/9]
[ 13/45, 8/45, -2/9]
Star Strider
2014-8-29
@Christopher — Noted. You’re correct.
Image Analyst
2014-8-27
0 个投票
finverse() is not in base MATLAB. Do you think it is suppose to be in one of your toolboxes? If so, which one? List in in the products drops down list below this comment. Or is it a custom function you wrote but did not include here?
类别
在 帮助中心 和 File Exchange 中查找有关 Equation Solving 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!