Está en la página 1de 37

La Academia al servicio de la Vida

APLICACIONES DE (FOURIER, LA PLACE Y ZETA) USANDO


GUIDE DE MATLAB

FRANCISCO JAVIER ZAPATA SANABRIA

1090444665

PRESENTADO A

INGENIERO: CARLOS ALBERTO VERA

UNIVERSIDAD DE PAMPLONA
FACULTAD DE INGENIERA Y ARQUITECTURA
TEORA DE SEALES
PAMPLONA NORTE DE SANTANDER
2012

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

OBJETIVOS

GENERAL

Disear tipos diferentes entorno en con la ayuda de matlab (guide) donde


se aplique los conceptos vistos en clase, sea de ayuda didctica para la
comprensin de la materia.

ESPECFICOS

Disear un programa en guide que nos permita introducir una


ecuacin, y nos muestre la grafica de dicha funcin , la grafica de la
magnitud de la transformada de fourier y la fase de la transformada

Disear un programa en guide que nos permita ingresar una funcin y


nos calcule la transformada de la place y la transformada de fourier
en tiempo continuo. Con solo presionar el botn calcular.

Hacer el diseo de las etapas que se necesitaron para la


implementacin del circuito.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

INTRODUCCIN

MATLAB Es un ambiente de cmputo, de alta ejecucin numrica y de


visualizacin, MATLAB integra el anlisis numrico, calculo de matrices,
procesamiento de seales, y graficacin, en un ambiente sencillo de
utilizar, donde los problemas y sus soluciones son expresados justamente
como estn escritas; a diferencia de la programacin tradicional. Lo que
permite resolver problemas en una fraccin de tiempo, del que nos
tomara al escribir un programa en cualquier lenguaje como, pascal,
fortran, c, etc.

JUSTIFICACIN

En el presente trabajo se utilizara la herramienta guide de MATLAB para


para crear unas aplicaciones bsicas que se utilizaran para reforzar los
conocimientos adquiridos en el transcurso del presente semestre. Estas
aplicaciones son algo sencillas en su funcionamiento pero a la hora de
llevarlas a la realidad se complica, ya que este es mi primer acercamiento
con guide y se desconocan las los tipos de funciones que se tenan que
utilizar para llevar a cabo las aplicaciones.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

MARCO TERICO

GUIDE es un entorno de programacin visual disponible en MATLAB para


realizar y ejecutar programas que necesiten ingreso continuo de datos.
Tiene las caractersticas bsicas de todos los programas visuales como
Visual Basic o Visual C++.

Para poder hacer programas que utilicen las capacidades grficas


avanzadas de MATLAB hay que conocer algunos de los conceptos bsicos
adquiridos en clase. MATLAB dispone de una herramienta GUIDE, que tal y
como hemos visto, permite generar interfaces de usuario de una forma
simple y dinmica. De cualquier manera, es conveniente conocer los
fundamentos de lo que se est haciendo, de esta forma se podra
modificar, incluso programarlo sin ayuda.

El desarrollo de la aplicacin mediante GUIDE se realiza en dos etapas:

Diseo de los componentes (controles, mens y ejes) que formarn el


GUI.

Programacin de la respuesta de cada uno de los componentes ante


la interaccin del usuario.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Una vez tenemos planificada la forma de la interfaz, guardamos el


proyecto y el GUIDE genera de forma automtica un fichero .m que
controla el funcionamiento del GUI. Este fichero .m inicializa el GUI y
contiene un marco para todos los callbacks del GUI (las rdenes que se
ejecutan cuando el usuario interacta con un elemento del GUI). Usando
el editor de MATLAB podremos aadir cdigo a los callbacks para realizar
las funciones que queramos asignarles.

El beneficio que proporciona el uso de GUIS es evidente, ya que permiten


al usuario ejecutar cmodamente cdigo desarrollado en MATLAB sin
necesidad de cumplir la incmoda sintaxis funcional necesaria cuando se
trabaja desde la lnea de rdenes. A diferencia de la ejecucin de
funciones o scripts de MATLAB, la ejecucin de GUIS no predetermina el
flujo de ejecucin del cdigo. Es el usuario, a travs de su interaccin con
el GUI, el que determina el orden en que se ejecutan los diferentes
comandos y funciones desarrolladas. Otra diferencia importante es que la
ejecucin no termina cuando finaliza la ejecucin del script o funcin, sino
que el GUI permanece abierto, permitiendo al usuario invocar la ejecucin
de ese u otro cdigo desarrollado.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

La Interfaz grafica cuenta con los siguientes componentes:

La siguiente figura nos muestra el rea de trabajo con los diferentes tipos
de componentes que utilizaremos a la hora de crear las aplicaciones
mencionadas

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

La siguiente tabla muestra una pequea descripcin de los tipos de


componentes que podemos encontrar en la herramienta GUIDE de
MATLAB.

FUNCIONAMIENTO DE UNA APLICACIN GUI

Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo .m es el


que contiene el cdigo con las correspondencias de los botones de control
de la interfaz y el archivo .fig contiene los elementos grficos.

Cada vez que se adicione un nuevo elemento en la interfaz grfica, se


genera automticamente cdigo en el archivo .m. Para ejecutar una
Interfaz Grfica, si la hemos etiquetado con el nombre curso.fig,
simplemente ejecutamos en la ventana de comandos >> curso. O
haciendo click derecho en el m-file y seleccionando la opcin RUN.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

DISEO DE LAS APLICACIONES PROPUESTAS

CALCULADORA DE LA PLACE Y FOURIER

El siguiente proyecto nos permitir explicar cmo usar los text box para
pedir informacin y static text para desplegar resultados, as como algunas
otras propiedades importantes. Para empezar creamos una nueva figura y
agregamos un static box a un lado ponemos un text box y al lado del text
box ponemos un push button, debajo de estos controles ponemos 4 static
text y finalmente agregamos dos push buttons y un axes; y lo guardamos
como: calculadora.fig, al finalizar tendremos una interface como la que se
muestra en la figura 1

Fig. 1 Interfase del Proyecto calculadora

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

En el siguiente orden modificamos las propiedades de String de cada


Static Text:

String: F(T)=

String: LAPLACE

String: FOURIER

Finalmente para el Push Button del lado izquierdo modificamos la


propiedad String a: Limpia y al Push Button del lado derecho String a: Salir.
Finalmente obtendremos los controles como en la FIGURA 2

Fig. 2 Propiedades String modificadas en cada control.

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Para hacer ello hay que considerar agregar un identificador a cada Tag de
cada control, esto es, poner un nombre a cada control para luego llamarlo
e identificarlo. Para ello seleccionamos Tag en el Inspector de
propiedades. Primero editamos el Tag de nuestro control de la caja de
texto por: la_ecuacion (Fig. 3) Y para los Static Text que no tienen texto
modificamos sus Tag en el siguiente orden por:

Editando tag
La_ecuacion
res_laplace
Res_furier

Fig.3 inspector para cambiar tag

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Ahora es posible saber que va a pasar con cada Static Text al presionar el
botn Limpia. El algoritmo en general para limpiar sera:

1 Definir variables
2 - Limpiar Variables
3 - Buscar los controles con el Tag
4 Definir limpia
5 - Limpiar controles

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.

EDITANDO EL CALLBACK DEL BOTN LIMPIA.

% --- Executes on button press in pushbutton2.

clear;%limpiar
clear global v x s t w ;% limpiar variables simbolicas

%obtengo controles
para_laplace=findobj(gcbf, 'Tag','res_laplace');
para_fourier=findobj(gcbf, 'Tag','res_fourier');

%creo limpiar
limpia= '';

%PARA LIMPIAR
set(para_laplace,'string',limpia); % limpiamos el contenido
de los Static Text

set(para_fourier,'string',limpia); % limpiamos el contenido


de los Static Text

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CDIGO DE LA CAJA DE TEXTO

function la_ecuacion_Callback(hObject, eventdata, handles)


global ecuacion ;
syms x s t;
Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = char(Val) %Transformar a formato char
handles.la_ecuacion=NewVal %Almacenar en identificador
guidata(hObject,handles)
ecuacion=handles.la_ecuacion

Lo que significa que creamos una variable donde vamos a almacenar la


informacin que le llegue a la caja de texto para luego utilizarla. Hay que
recordar que aqu es necesario definirla como una variable de tipo global.

CONFIGURANDO EL BATON CALCULA

Con el siguiente cdigo se harn las operaciones que se desean al


presionar el botn calcula

% --- Executes on button press in pushbutton1.


function pushbutton1_Callback(hObject, eventdata, handles)
global ecuacion % variable global

syms v x s t w;% variables simbolicas

para_derivada=findobj(gcbf,'tag','res_laplace');
para_integral=findobj(gcbf,'tag','res_fourier');

%ecuacion1= ecuacion
%hago calculos de la tranformada de la place
laplace1=laplace(sym(ecuacion),s)
%convierto a caracter
laplace2=char(laplace1)
%hago calculos de la tranformada de fourier
fourier1=fourier((ecuacion),x,w)

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

%convierto a caracter
fourier2=char(fourier1)
%presento resultados
set(handles.res_laplace,'String',laplace2);
set(handles.res_fourier,'String',fourier2);

CDIGO PARA EL BOTN SALIR


% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
close(gcbf); % cierra el formulario

Por ltimo colocaremos una imagen en nuestra aplicacin para que se vea
ms llamativa.

CONFIGURANDO EL AXES

Guardo la imagen que voy a utilizar donde guarde el proyecto de


calculadora.fig. en este caso vamos a usar una imagen llamada logo

axes(handles.axes2)
% nombre de la imagen y tipo de formato
background = imread('logo.JPG');
%para que se ubique donde esta el axes2
axis off;
imshow(background);

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

COMPILANDO APLICACIN

Fig.4 formulario compilado

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

EJEMPLO DE PRUEBA

Fig.5 prueba de la aplicacin

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

RESULTADO DE SIN(X)

Fig.6 resultados de la aplicacin

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

GRAFICAR FUNCIONES DE TIEMPO CONTINUO

El siguiente proyecto nos permitir explicar cmo usar los text box para
pedir informacin y axes para mostrar las grafica, y usar propiedades para
graficar como el zoom y el grind usaremos la ftt para encontrar la
magnitud de la transformada de la transformada de fourier y
mostraremos su fase. Tambin como colocar una imagen en un formulario
y entrar de un formulario a otro

INICIO DEL PROGRAMA

Para la presentacin de nuestro programa, vamos a programar una


pantalla donde podemos colocar el tema de nuestro diseo, nombre del
programador, imagen de fondo.
Abrimos un GUI nuevo y lo guardamos como inicio o presentacin

Fig7. GUI de presentacin

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

El cdigo es el siguiente:

function varargout = presentacion_OutputFcn(hObject,


eventdata, handles)
% varargout cell array for returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;
varargout{1} = handles.output;
clear,clc,cla,close all
%Creamos figura
figdiag=figure('Units','Pixels',...
'Position',[200 200 1000 600],... %Tamao de la presentacin
'Number','off',...
'Name','ingenieria electronica', ...
'Menubar','none', ...
'color',[0 0 0]);
%Ubicamos ejes en figura
axes('Units','Normalized',...
'Position',[0 0 1 1]);
%-----Centramos la figura---------
scrsz = get(0, 'ScreenSize');
pos_act=get(gcf,'Position');
xr=scrsz(3) - pos_act(3);
xp=round(xr/2);
yr=scrsz(4) - pos_act(4);
yp=round(yr/2);
set(gcf,'Position',[xp yp pos_act(3) pos_act(4)]);
%Incluir imagen
%Importamos imagen *.jpg,junto con su mapa de colores
[x,map]=imread('imagen1.jpg','jpg');% format de la
universidad
%Representamos imagen en figura, con su mapa de colores
image(x),colormap(map),axis off,hold on
%Ttulos sobre imagen
%Ttulo
text(180,300,'programa para graficar
funciones','Fontname','Arial','Fontsize',25,'Fontangle','Ita
lic', ...

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

'Fontweight','Bold','color',[1 1 0]);
%Nombre del programador
text(250,340,'Por: francisco javier zapata
sanabria','Fontname', ...
'calibri','Fontangle','Italic','Fontweight','Bold', ...
'Fontsize',14,'color',[1 1 0]); % colocar el color rojo
% codigo
text(250,360,'cod:109044665','Fontname', ...
'calibri','Fontangle','Italic','Fontweight','Bold', ...
'Fontsize',14,'color',[1 1 0]); % colocar el color rojo
%Botn Continuar
botok=uicontrol('Style','pushbutton', ...
'Units','normalized', ...
'Position',[.84 .03 .12 .05], ...
'String','entrar',...
'Callback','clear all; close all;clc; graficadora;'); % es
el nombre

Lo nico que podemos resaltar aqu es el botn entrar este se crea con el
siguiente cdigo no hay necesidad de sacar un push button.

%Botn Continuar
botok=uicontrol('Style','pushbutton', ...
'Units','normalized', ...
'Position',[.84 .03 .12 .05], ...
'String','entrar',...
'Callback','clear all; close all;clc; graficadora;'); donde
graficadora es el nombre de la siguiente gui

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Cuando lo compilemos vamos a obtener lo siguiente

Fig.8 inicio del programa

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CREAMOS EL SIGUIENTE GUI PARA EMPEZAR LA APLICACIN

Sacamos tres push button, cuatro axes y cinco static texs , tres edit texs,lo
guardamos con el nombre graficadora.fig

Fig. Fig. 9 Interfase del Proyecto graficadora

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Donde vamos a escribir la ecuacin le cambiamos la propiedad String tal


como se hizo en programa de la calculadora pero lo vamos a ajustar a
nuestra necesidad.

EDITANDO EL EDIT TEXT


Donde se va a escribir la funcin

function edit2_Callback(hObject, eventdata, handles)


ini=get(hObject,'String'); %Almacenar valor ingresado
handles.edit2=ini; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

El siguiente edit text se le cambio el tag por menor es donde de se va a


aguardar el lmite inferior del eje x

function menor_Callback(hObject, eventdata, handles)


Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.menor=NewVal; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

El siguiente edit text se le cambio el tag por mayor es donde de se va a


aguardar el lmite superior del eje x

function mayor_Callback(hObject, eventdata, handles)


Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.mayor=NewVal; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CONFIGURANDO LOS BOTONES

Botn grind

function grids_Callback(hObject, eventdata, handles)


handles.die=get(handles.grids,'Value');
if handles.die==1
grid on;
set(handles.grids,'String','GRID ON');% activa la rejilla
else
grid off;
set(handles.grids,'String','GRID OFF');% desactiva la
rejilla
end
guidata(hObject,handles)

Boton lupa
function pushbutton5_Callback(hObject, eventdata, handles)
zoom on % activa el zoom de la grafica

function plot_Callback(hObject, eventdata, handles)


axes(handles.grafica)% guarda la primera grafica en el
axes(grafica
ini=handles.edit2; %Tomar la Ecuacin
ini=char(ini); %Pasar a formato char
a=handles.menor;%limite inferior
b=handles.mayor;%limite superior
x=a:0.1:b;% vector
handles.x=x;
handles.h= plot(x,eval(ini),'r');%grafica de la funcion
handles.die=get(handles.grids,'Value');
grid off; %Grid inactivo
title ('SEAL F(x)');%titulo de la seal
xlabel('base de tiempo continuo')% etiqueto el eje x
ylabel('amplitud') % etiqueto el eje y
grid off; %Grid inactivo

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

%hallamos la transformacionde fourier y dibujamos su


espectro
axes(handles.grafica1)% la grafica se guarda en el axes con
el tag grafica1
xw=fftshift(fft(eval((ini))));% como ini esta en formato
tipo char se coloca la funcion eval
%base de frecuencias
delta_x = x(2)-x(1);
f = ((1:length(x)) - ceil(length(x)/2)) / length(x) /
delta_x;
%magnitud de la transformada
handles.h=plot(f,abs(xw),'g');
axes(handles.grafica1)
title('magnitud transformada de fourier'),
xlabel('frecuencia(f)'), ylabel('xw')
%fase de la transformada
axes(handles.grafica2)% la tercera grafica se guarda en
axes(grafica2)
handles.h=plot(f, angle(xw)),title('fase transformada de
fourier'), xlabel('frecuencia(f)'), ylabel('xw')

function menor_Callback(hObject, eventdata, handles)


Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.menor=NewVal; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

De aqu lo ms importante es aclarar que cuando se quiere hacer una


operacin con variables que estn en formato tipo char usamos la funcin
eval ejemplo: handles.h= plot(x,eval(ini),'r');%

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CONFIGURACIN DE AXES

Esta la usaremos para colocar una imagen en este caso el logo de la


universidad as como se hizo en el primer proyecto llamado calculadora

axes(handles.axes2)
background = imread('escudo.jpg');
axis off;
imshow(background);

Aclarando de esta funcin ya la escribimos anteriormente en el edit text


donde se mete la ecuacin a graficar esto se hace para aclarar el cdigo
usado. Las dems axes tambien se comfiguraron ya eso se puede
observar en el botn graficar y en el edit tex de la ecuacion

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

COMPILANDO PROGRAMA

Fig. 10 figura de la compilacin del programa

El programa va a iniciar con una funcin cuadrtica esto se debe a que se


le coloco una ecuacin al configurar el edit texs. se va a usar para graficar
en tiempo continuo

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

PROBANDO CON UNA ECUACIN DIFERENTE

Fig. 11 se le ingresa una funcin sin(2*pi.*x)

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

PROBANDO EL BOTN LUPA Y EL BOTN GRID

Fig. 12 probando la lupa y la rejilla

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Si observamos las imgenes hay botn tiempo discreto en lazamos un


programa similar que se explicara a continuacin.

BOTN TIEMPO DISCRETO

handles.output = hObject;
guidata(hObject, handles);
botok=uicontrol('Style','pushbutton', ...
'Units','normalized', ...
'Position',[.79 .040 .19 .06], ...
'String','tiempo discreto',...
'Callback','clear all; close all;clc; discreto;'); %discreto
es el nombre del siguiente programa

Este botn no se coloca en el formulario si no que lo invocamos con el

anterior cdigo

CALCULADORA TIEMPO DISCRETO

Este programa es muy similar lo nico que cambia es la base de tiempo


en la que se grafica la funcin por eso no voy a entrar en detalles con esta
aplicacin

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

Fig. 13 Interfase del Proyecto discreto

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CDIGO COMPLETO

% --- Executes just before discreto is made visible.


function discreto_OpeningFcn(hObject, eventdata, handles,
varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB
% handles structure with handles and user data (see
GUIDATA)
% varargin unrecognized PropertyName/PropertyValue pairs
from the
% command line (see VARARGIN)

% Choose default command line output for discreto


handles.output = hObject;

% Update handles structure


guidata(hObject, handles);
botok=uicontrol('Style','pushbutton', ...
'Units','normalized', ...
'Position',[.79 .040 .19 .06], ...
'String','tiempo continuo',...
'Callback','clear all; close all;clc; graficadora ;');
% UIWAIT makes discreto wait for user response (see
UIRESUME)
% uiwait(handles.figure1);

% --- Outputs from this function are returned to the command


line.
function varargout = discreto_OutputFcn(hObject, eventdata,
handles)
% varargout cell array for returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of
MATLAB

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

% handles structure with handles and user data (see


GUIDATA)

% Get default command line output from handles structure


varargout{1} = handles.output;

axes(handles.axes1)
x=-10:1:10; %Primer intervalo de graficacin.
handles.x=x;
handles.h=stem(x,x.^2,'g'); %Graficar una parbola.
grid off; %Grid inactivo
title ('SEAL F(n)');% titulo
ylabel('amplitud'); % etiqueto el eje y
xlabel('base de tiempo discreto');
grid off; %Grid inactivo
set(handles.grids,'String','GRID OFF')
axes(handles.axes4)
background = imread('escudo.jpg');
axis off;
imshow(background);

function menor_Callback(hObject, eventdata, handles)


Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.menor=NewVal; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

% --- Executes during object creation, after setting all


properties.
function menor_CreateFcn(hObject, eventdata, handles)
% hObject handle to menor (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

set(hObject,'BackgroundColor','white');
end

function mayor_Callback(hObject, eventdata, handles)


Val=get(hObject,'String'); %Almacenar valor ingresado
NewVal = str2double(Val); %Transformar a formato double
handles.mayor=NewVal; %Almacenar en identificador
guidata(hObject,handles); %Salvar datos de la aplicacin

% --- Executes during object creation, after setting all


properties.
function mayor_CreateFcn(hObject, eventdata, handles)
% hObject handle to mayor (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

function edit4_Callback(hObject, eventdata, handles)


ini=get(hObject,'String');
handles.edit4=ini;
guidata(hObject,handles);

% --- Executes during object creation, after setting all


properties.
function edit4_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit4 (see GCBO)
% eventdata reserved - to be defined in a future version of
MATLAB
% handles empty - handles not created until after all
CreateFcns called

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

% Hint: edit controls usually have a white background on


Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

% --- Executes on button press in grids.


function grids_Callback(hObject, eventdata, handles)
handles.die=get(handles.grids,'Value');
if handles.die==1
grid on;
set(handles.grids,'String','GRID ON');
else
grid off;
set(handles.grids,'String','GRID OFF');
end
guidata(hObject,handles)
% --- Executes on button press in plot.
function plot_Callback(hObject, eventdata, handles)
axes(handles.axes1)
ini=handles.edit4; %Tomar la Ecuacin
ini=char(ini); %Pasar a formato char
c=handles.menor;
d=handles.mayor;
x=c:d;
handles.x=x;
handles.h= stem(x,eval(ini),'g');
handles.die=get(handles.grids,'Value');

% --- Executes on button press in pushbutton4.


function pushbutton4_Callback(hObject, eventdata, handles)
close(gcbf)% salir del formulario

% --- Executes on button press in pushbutton5.


function pushbutton5_Callback(hObject, eventdata, handles)
zoom on

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

COMPILANDO LA INTERFAZ

Fig. 14 resultado despus de compilar

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

PROBANDO APLICACIN

Fig. 1 resultado despus de ingresar cos(x)

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co
La Academia al servicio de la Vida

CONCLUSIONES

Estas aplicaciones son de gran importante a la hora de estudiar el


comportamiento de las seales. es muy til por la gran facilidad de
manejo. No necesitan de un cdigo extenso si no solo se necesita la
funcin que se desea graficar.

Se `pudo mejorar las aplicaciones colocando funciones ms complejas


y de mas utilidad, pero es la primera vez que manejo guide de matlab
por eso explore lo bsico y lo que que cre que nos seria de utilidad

lo bueno del manejo de matlab es que este programa trae integrados


muchas funciones matemticas estos nos permite crear aplicaciones
acorde con la realidad que nos rodea

Universidad de Pamplona - Ciudad Universitaria - Pamplona (Norte de Santander - Colombia)


Tels: (7) 5685303 - 5685304 - 5685305 Fax: 5682750 www.unipamplona.edu.co

También podría gustarte