Matlab - Mayor precisión al setear valor en un edit text

 
Vista:

Mayor precisión al setear valor en un edit text

Publicado por Mario (8 intervenciones) el 07/05/2010 00:38:31
Hola quería hacer una consulta, estoy realizando un programa en el cual la precisión de los datos es importante.
En este caso tengo un vector cuyos valores están truncados en 7 decimales, luego los ordeno llamando a la función sort. Después de esto obtengo el valor de la primera posición del vector y de la ultima posición, los cuales cada uno de ellos los almaceno en las variables minimo y maximo respectivamente. Luego al setear estos valores en un edit text, me los escribe con una precision de 5 decimales, es decir redondea el valor en el quinto decimal. Qué tendría que hacer para que me setee los valores que realmente tengo que son de 7 decimales??....aquí les dejo parte del código, espero que me puedan ayudar por favor.

[handles.tiempo_orden]=sort(handles.tiempo_enteros);
largo_tiempoOrden=length(handles.tiempo_orden);
minimo=handles.tiempo_orden(1);
maximo=handles.tiempo_orden(largo_tiempoOrden);
set(handles.inferior,'String',minimo);
set(handles.superior,'String',maximo);

Gracias!!!
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

RE:Mayor precisión al setear valor en un edit text

Publicado por Jorge (226 intervenciones) el 07/05/2010 01:37:19
Mi solución sería escribir strings, no números.

Convierte el número a string con num2str(x,n), en donde n está relacionado con el número de decimales.

x = 2.3
num2str(x)
ans = 2.3

x = 2.12345678
num2str(x,9)
ans = 2.12345678

algo por el estilo...

Saludos,
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

RE:Mayor precisión al setear valor en un edit text

Publicado por Mario (8 intervenciones) el 07/05/2010 01:53:50
Jorge, gracias por tu respuesta, pero era en el edit text donde no me seteaba los valores con los 7 decimales, por lo que lo arreglé de la siguiente forma:

[handles.tiempo_orden]=sort(handles.tiempo_enteros);

largo_tiempoOrden=length(handles.tiempo_orden);
minimo=handles.tiempo_orden(1);
maximo=handles.tiempo_orden(largo_tiempoOrden);

set(handles.inferior,'String',sprintf('%1.7f',minimo));
set(handles.superior,'String',sprintf('%1.7f',maximo));

con la función sprintf determino la precisión del valor en el edit text.

Gracias por tu respuesta
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