How to compute arccos for a matrix?
15 次查看(过去 30 天)
显示 更早的评论
I would like to compute the arccos for a matrix. I know when I want to find log(), exp(), and sqrt () for a matrix , we use logm(A), expm(A) and sqrtm(A) where A is a matrix.
I want to find the following:
x=acos(sqrtm(A)\eye(n))
so, Is it correct to compute it like this ? Or we need to use arccosm(sqrtm(A)\eye(n))? Thank you.
2 个评论
Walter Roberson
2020-7-4
There are no trig matrix functions in MATLAB, except the ones that work element by element.
回答(1 个)
Walter Roberson
2020-7-5
It depends what you are trying to calculate.
And so we could potentially generalize that for matrices, there might be some meaning to
arccosm = @(z) 1i * logm(z + sqrtm(z^2 - 1))
I am having difficulty thinking of a context in which there could be physical meaning for this.
If we substitute in 1/sqrtm(A) then
1i*logm(sqrtm(A\eye(n) - 1) + sqrtm(A)\eye(m))
But is there a meaning for this??
11 个评论
Walter Roberson
2020-7-7
f1 = @(x) acos(sqrtm(x)^(-1)) * sqrtm(x)^(-1);
f2 = @(x) acos(sqrtm(x)/eye(size(x,1))) / sqrtm(x);
f3 = @(x) acos(1./sqrt(x)) ./ sqrt(x);
f1(A)
f2(A)
f3(A)
Try them all and decide which one is the right solution for you.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!