# Unable to sort symbolic variables in matlab

3 visualizaciones (últimos 30 días)
Aftab Ahmed Khan el 24 de Feb. de 2016
Comentada: Aftab Ahmed Khan el 24 de Feb. de 2016
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]
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Star Strider el 24 de Feb. de 2016
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 comentariosMostrar 2 comentarios más antiguosOcultar 2 comentarios más antiguos
Walter Roberson el 24 de Feb. de 2016
Sort order is first by the number after 'P' and before the '_', and secondarily by the number after the '_'
Aftab Ahmed Khan el 24 de Feb. de 2016
Well, i have managed to do it in another way found on the internet. Thanks once again.

Iniciar sesión para comentar.

### Más respuestas (1)

Walter Roberson el 24 de Feb. de 2016
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
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

Más información sobre Shifting and Sorting Matrices en Help Center y File Exchange.

### Community Treasure Hunt

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

Start Hunting!

Translated by