Unable to sort symbolic variables in matlab

조회 수: 2 (최근 30일)
Aftab Ahmed Khan
Aftab Ahmed Khan 2016년 2월 24일
댓글: Aftab Ahmed Khan 2016년 2월 24일
There is a an issue in one section of my code. Let I have this symbolic equation. When i use the coeffs function like this it gives me the right coefficients and variables.
eq=(10219275*P10_10)/2097152 - P10_9/10 - P9_10/10
[a,b]=coeffs(eq);
a =
[ -1/10, 10219275/2097152, -1/10]
b =
[ P10_9, P10_10, P9_10]
but i want it to return me the variables and its coefficients in this order. How can i go about this rearrangement.
b =
[ P9_10, P10_9, P10_10]
Please help me.

채택된 답변

Star Strider
Star Strider 2016년 2월 24일
You can tell coeffs the order in which you want the coefficients returned:
syms P10_9 P10_10 P9_10
eq=(10219275*P10_10)/2097152 - P10_9/10 - P9_10/10
[a,b]=coeffs(eq, [P9_10, P10_9, P10_10])
a =
[ -1/10, -1/10, 10219275/2097152]
b =
[ P9_10, P10_9, P10_10]
  댓글 수: 4
Walter Roberson
Walter Roberson 2016년 2월 24일
Sort order is first by the number after 'P' and before the '_', and secondarily by the number after the '_'
Aftab Ahmed Khan
Aftab Ahmed Khan 2016년 2월 24일
Well, i have managed to do it in another way found on the internet. Thanks once again.

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

추가 답변 (1개)

Walter Roberson
Walter Roberson 2016년 2월 24일
Use http://www.mathworks.com/matlabcentral/fileexchange/10959-sort-nat--natural-order-sort a "natural sort" on the output of symvar() to get the order you want to do the sorting in, and then pass the sorted result as the second parameter of coeffs

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by