Matlab - problemas con el valor del numero PI

 
Vista:

problemas con el valor del numero PI

Publicado por Raymond (1 intervención) el 13/07/2013 23:11:28
Buenas tardes, les escribo porque tengo un problema con el valor de la constante PI. En el programa (guide) tengo un edittext en el que si introduzco la palabra ''pi'' el programa no resuelve la operación, quizás sea por que el programa toma ese valor como un carácter y no como numero. sin embargo si coloco el valor de pi (3.141593) si resuelve la operación.
y pues me gustaria saber si hay alguna forma de que si introduzco la palabra pi en el edittext el programa automáticamente reconozca que eso se refiere al valor de PI y trabaje con ese numero. el mismo problema seria si introduzco el numero de euler
recap
al poner PI en el edit no resuelve nada al igual que cuando pongo exp(#).

Adjunto coloco el codigo que tengo. gracias por su ayuda.

1
2
3
4
5
function limb_Callback(hObject, eventdata, handles)
Val=get(hObject,'String');
NewVal = str2double(Val);
handles.limb=NewVal;
guidata(hObject,handles);
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
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

problemas con el valor del numero PI

Publicado por Dave (1094 intervenciones) el 14/07/2013 07:52:51
Hola Raymond;

He visto tu código y veo que no estás usando la función correcta, a continuación te dejo un ejemplo de como debería programarlo para que puedas usar el pi ingresado en un edit.

La palabra pi, se ingresa en el edit1.
Mediante en botón pushbutton1 se adquiere el contenido de edit1 y lo convertimos a un valor numérico, y si deseas haces una oporación adicional, en mi caso lo he multiplicado por 10 y finalmente lo visualizas en un cuadro de texto text1

1
2
3
4
5
6
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
 
val = str2num(get(handles.edit1,'string'));
oper = 10*val;
set(handles.text1,'string',num2str(oper))


Pd: puedes hacer la prueba ingresando 5*pi en el edit1.

Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
Servicios de Programación Matlab
http://fismatlab.blogspot.com/
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