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

1 次查看(过去 30 天)
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!

回答(1 个)

David Hill
David Hill 2022-5-6
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 个评论
Songbai Jin
Songbai Jin 2022-5-6
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!

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Number Theory 的更多信息

产品


版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by