Rank on symbolic matrices

조회 수: 19 (최근 30일)
Ohad Shapira
Ohad Shapira 2021년 4월 4일
편집: Bruno Luong 2021년 4월 7일
Hey all,
I'm trying to figure out the rank of several (sym) matrices that I am working on and the built-in 'Rank' function gives me different answer.
As I saw in the help, It's not reliable and I can't trust it ("rank returns an incorrect result because the outputs of intermediate steps are not simplified").
Is there a different way to get the rank of my matrices?
TIA
  댓글 수: 9
Bruno Luong
Bruno Luong 2021년 4월 5일
According to https://www.mathworks.com/help/symbolic/rank.html it seems you cannot use RANK until a numerical value is plugged-in.
Seem like very limited usefulness to me.
That reminds me why I don't like using computer symbolic calculation.
Ohad Shapira
Ohad Shapira 2021년 4월 5일
Thanks, most of my problems are solved in this forum.
BTW, your scenario:

댓글을 달려면 로그인하십시오.

답변 (1개)

Aditya Patil
Aditya Patil 2021년 4월 7일
Rank does not take identities satisfied by functions into account. As a workaround, substitute values into variables, and then calculate rank. See Rank Function Does Not Simplify Symbolic Calculations more further details.
  댓글 수: 2
Ohad Shapira
Ohad Shapira 2021년 4월 7일
Thank you,
I saw this and I'm trying to understand what can I do to "fix" the rank function that it will return the right answer.
What can I do to verify it?
Bruno Luong
Bruno Luong 2021년 4월 7일
편집: Bruno Luong 2021년 4월 7일
May be you can select p arbitrary combinations of values of your variables and substitute in then calculation of the rank after substitution.
If the ranks obtained after substitution give the identical result then it is ikely this holds true for almost all values.
I would suggest select p as the size of the matrix (n) + 1 or larger, because the determinant is a polynomial of order n, threfore has n+1 DOFs.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by