Filter löschen
Filter löschen

What is the meaning of 'internal sorting rules' in 'sort' in Symbolic Math Toolbox?

1 Ansicht (letzte 30 Tage)
A = [factorial(sym(1001)), exp(sym(1)) + factorial(sym(1000))]
[r,s] = sort(A)
Obviously, A(1) > A(2). However, the output is
r =
[factorial(1001), exp(1) + factorial(1000)]
s =
1 2
which is quite confusing.
I notice in sort, it is mentioned that
  • If X contains symbolic irrational numbers, expressions, and functions, comparing and sorting the elements can be computationally complex. Therefore, sort uses internal sorting rules to optimize its performance.
What is the meaning of 'internal sorting rules' ?
Thank you very much!

Antworten (1)

David Hill
David Hill am 6 Mai 2022
A = [factorial(sym(1001)), exp(sym(1)) + factorial(sym(1000))]
[~,s] = sort(vpa(A));%vpa the symbolic before sorting.
A=A(s);%sorted symbolic
  1 Kommentar
Songbai Jin
Songbai Jin am 6 Mai 2022
Thank you for your answer!
But my original idea is to prevent a 'vpa' method.
Is it possible to sort sym variables directly?
Thank you for your answering anyway!

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by