Matlab - recortar números de una matriz

 
Vista:

recortar números de una matriz

Publicado por nehomar (3 intervenciones) el 02/11/2005 15:34:32
Tengo el siguiente problema necesito mostrar una matriz en un static text, la matriz es la que se muestra a continuación.

MY012 =

1.0e-005 *

-0.0000 + 0.1585i -0.0000 - 0.0000i -0.0000 - 0.0000i
0 + 0.0000i 0 + 0.3767i 0 + 0.0000i
0.0000 + 0.0000i 0.0000 - 0.0000i -0.0000 + 0.3767i

Estoy utilizando el comando dlmwrite para escribirlo en block de notas ya que van a ser varias las matrices que quiero mostrar.

dlmwrite('resultado.txt',MY012,'delimiter', '\t','precision',5)

Luego almaceno lo que contiene resultado.txt en lista y al mismo tiempo convierto en string con num2str para poder insertarla en el static text

lista=num2str(dlmread('resultado.txt','\t'))

Y por ultimo la muestro en el static text

set(handles.resultado,'string', 'matrix MY012',lista,)

ok aqui viene el problema, en el block de notas se esta escribiendo es lo siguiente, que viene siendo el número que quiero mostrar pero con muchos decimales,

-8.8162e-039+1.5849e-006i -1.5882e-022-3.1999e-011i -1.5882e-022-3.1999e-011i
0+2.1176e-022i 0+3.7667e-006i 0+2.1176e-022i
2.1176e-022+1.0588e-022i 5.294e-022-5.294e-023i -1.0588e-022+3.7667e-006i

¿que comando puedo utilizar para que al momento de escribir en el block de notas los escriba tal cual como se ven en la consola de matlab(en la consola aparecen como los mostre inicialmente), es decir, que comando puedo usar para recortar los números de la matriz y así me pueda salir tal y como quiero?

gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:recortar números de una matriz

Publicado por Raúl Santiago (211 intervenciones) el 05/11/2005 21:21:21
Si ves lo que te muestra en la consola esta multiplicado por
1.0e-005 *

lo qeu significa qeu si los necesitas guardar es como los estás guardando, si no lo guardaras así tuvieras datos falsos, ahora si lo que quieres es tenerlos asi, puedes hacer una trampa, lo que haces es decidir el número de decimales que quieres, entonces multiplicas el número por 1eX decimales, luego con fix eliminas los decimales, y despues lo divides por 1eX, esto normalmente solo se utiliza por ejemplo para un cambio de signo o hallar un valor cercano a algo, pues estas perdiendo la exactitud, pero si quiers es una opción
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar