Professional Documents
Culture Documents
DE GRAU
UNIVERSIDAD NACIONAL DE INGENIERIA
CURSO:
COMPUTACIN II
TEMA:
INTERFAZ GRFICA DE USUARIO
EN MATLAB
PROFESOR: ALEXANDER ABEL BONIFACIO
CASTRO
GRUPO: 1
INTEGRANTES:
HUAMAN MALLQUI JOSEPH FRANK
MOLINA HUAMANI ADDERS MARK
PROLEN ARANA RENATO JEAN PIERE
GUTIERREZ GUTIERREZ KRISTHEL JOSSELYND
RIME QUERO JUBER
2016
Qu es GUIDE?
GUIDE es un entorno de programacin visual disponible en Matlab para realizar y
ejecutar programas que necesiten ingreso continuo de datos.
Haciendo click en el cono GUIDE del men principal File New GUI.
Un archivo FIG
Un archivo
M
de diseo .
CONTROL
Select
Push Button
Slider
Radio Button
Check Box
Edit Text
Static Text
Pop-up men
List Box
Toggle Button
Tables
Axes
Panel button
Button Group
ActiveX Control
DESCRIPCION
Sirve para seleccionar los controles.
Crea un botn y genera una accin.
Representa un rango de valores.
Crea un botn circular que representa
una opcin.
Sirve para dar check a una opcin.
Caja para editar texto.
Crea un letrero.
Provee una lista de opciones.
Muestra una lista deslizable.
Genera una accion on o off.
Genera una tabla.
Crea un rea para grficos.
Agrupa botones como un grupo.
Es un panel exclusivo para radio
buttons y toggle buttons .
Despliega controles ActiveX en Gui .
Activar Figura:
Una vez que hayamos terminado de disear presionamos este botn para activar
la figura y poder probar nuestra GUI.
Por ejemplo:
celsius1=eval(get(handles.celsius,'string'));
%Para convertir celsius a kelvin
kelvin1=celsius1 + 273.15;
Notar que siempre se obtienen los datos a travs de los identificadores handles.
Para colocar el valor de la variable kelvin1 al statictext,(Tag kelvin) escribimos:
set(handles.kelvin,'string',kelvin1);
2. Aplicaciones
PRIMERA APLICACION:
Calculadora.fig
Calculadora.m
% --- Executes on button press in uno.
function uno_Callback(hObject, eventdata, handles)
% hObject handle to uno (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
textString=get(handles.Res,'String');
textString=strcat(textString,'1');
set(handles.Res,'String',textString)
% --- Executes on button press in dos
function dos_Callback(hObject, eventdata, handles)
% hObject handle to dos (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
textString=get(handles.Res,'String');
textString=strcat(textString,'2');
set(handles.Res,'String',textString)
set(handles.Res,'String',ini);
Al correr el programa se obtiene:
RESUMEN:
Con ayuda de MatLab se logr hacer una calculadora y al mismo tiempo nos
dimos cuenta de la importancia que tiene esta herramienta informtica ya que su
entorno de trabajo es bien util adems de crear grficos de muchos tipos y
presenta una gran ventaja al trabajar con matrices, polinomios y funciones
trigonomtricas, etc.
SEGUNDA APLICACIN:
ConvTemperatura.fig
siguiente figura:
El programa genera el archivo siguiente ConvTemp :
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to BotonCelsius (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Adicionamos
% Para escribir los datos en los Edit Text
Ein = get (handles.edit1,'string');
Einunits = get( handles. edit2,'string');
Eoutunits = get( handles. edit3,'string');
error= 0;
Y=str2num (Ein);
switch Einunits
case 'C'
X=Y;
%Para convertir Fehrenhit en Celcius
case'F'
X=(Y-32)/1.8;
% Para convertir Kelvin a Celsius
case'K'
X= Y-273.15;
otherwise
error=1;
end
switch Eoutunits
%Para convertir Celcius a Kelvin
case'K'
W= X + 273.15;
case'C'
W=X;
% Para convertir Celsius a Fehrenheit
case'F'
W= X*1.8+32;
otherwise
error=1;
end
if error
disp ('ERROR, LA UNIDAD DE ENTRADA ASIDO INTRODUCIDA
INCORRECTAMENTE, FAVOR DE VERIFICAR LA UNIDAD INTRODUCIDA.');
% Para leer los datos colocados en los Edit1, Edit2y Edit3
El siguiente proyecto nos permitir explicar cmo usar los Text Box o Edit Text
para pedir informacin y el Static Text para desplegar resultados, asi como
algunas propiedades importantes.
Para empezar, creamos una nueva figura y agregamos un Static Text, a un lado
ponemos un Edi Text y al lado del Edit Text ponemos un Push Button, debajo de
estos controles ponemos cuatro Static Text y finalmente agregamos dos Push
Button; y lo guardamos como: CalculoDEIN, al finalizar tendremos una interface.
En el primer Static text cambiamos su propiedad con el inspector de propiedades y
modificamos el String a Funcion. Al primer Push Button cambiamos el String a
Calcula.
En el siguiente orden modificamos la propiedad del String a las cuatro Static Text
restantes.
String: Derivada
String:
String: Integral
String:
Para hacer ello hay que considerar agregar un identificador a cada Tag, esto es,
poner un nombre a cada Tag de cada control para luego llamarlo e identificarlo.
Para ello seleccionamos Tag en el inspector de propiedades. Primero editamos el
Tag de nuestro control de Caja de Texto por : la_ecuacin.
Y para los Static Text que no tienen texto modificamos su Tag en el siguiente
orden por:
res_deriva
res_integra
Aqu hay que introducir el uso de variables globales y locales. Las globales se
refieren a que pueden ser compartidas en cualquier momento por otro Script. Las
locales son las que se definen en un mismo momento y pueden ser usadas por el
mismo Script.
La sintaxis en general para activar un control es:
Variable=findobj(gcbf, Tag, Nombre_de_Tag);
La cual nos indica que primero crea una variable local lo cual contiene
propiedades del objeto cuyo Tag es: Nombre_de_Tag, con esto ya hemos activado
nuestro control, ahora hay que regresar la accin; para ello la sintaxis es:
set(variable, Propiedad, operacin);
esta intruccion nos dice que va a usar el variable local que no contiene las
propiedades del objeto y va a modificar otra propiedad (String, enable, backcolor,
etc) con un determinado valor. Para ejemplificar esto vamos a editar el Callback
del botn Limpia.
Limpio variables locales y globales
Clear;
Clear global;
Obtengo el control de la derivada
Para_ecuacion=findobj(gcbf, Tag , la_ecuacion);
Limpio el control
Limpia = ;
set(para_ecuacion, String,Limpia);
set(para_ecuacion,string,limpia);
set(para_derivada,String,limpia);
set(para_integral,String,limpia);
Hasta el momento no hemos pedido datos o informacin, el algoritmo para obtener
la ecuacin es:
Variable = eval(get(gcbo,`String`));
Lo que significa que creamos una variable donde vamos a almacenar la
informacin que le llega a la caja de texto para luego utilizarla. Hay que recordar
que aqu es necesario definirla como una variable de tipo global.
El cdigo completo se observa a continuacin.
global ecuacion x;
syms x;
ecuacion = eval(get(gcbo,String));
Finalmente llevaremos a cabo las operaciones correspondientes, las que se
ejecutan al presionar el botn Calcula. Par ello editamos su Callback segn el
siguiente algoritmo:
Preparamos la variable a usar:
global ecuacin x;
syms x;
Obtengo el control de la derivada
para_derivada = findobj(gcbf,`tag`,`res_deriva`);
Realizo el clculo de la derivada:
Derivada1=diff(ecuacin);
y realizo la misma operacin para los otros dos clculos. En la siguiente figura se
observa el cdigo completo del botn calcula.
global ecuacion x;
syms x;
para_derivada = findobj(gcbf,Tag,res_deriva);
para_integral = findobj(gcbf,Tag,res_integra);
derivada1 = diff(ecuacion);
derivada2 = char(derivada1);
integral1 = int(ecuacion);
integral2 = char(integral1);
set(para_derivada,String,derivada2);
set(para_integral,String,integral2);