Académique Documents
Professionnel Documents
Culture Documents
Seminario de matlab
avanzado
Folleto final
INDICE
Guide quick start........................................................................................................ 3
Text, edit text, axes y popupmenu............................................................................. 3
Comandos get y set handles...................................................................................... 4
Codigo para el popupmenu........................................................................................ 5
Funcion ejes................................................................................................................ 5
Objetos push button y uitable.................................................................................... 6
Codigo para una clave de acceso............................................................................... 6
Aplicacion para evaluar una funcion...........................................................................6
Codigo para el boton generar..................................................................................... 7
Aplicacion para calcular promedio desde datos de la uitable.....................................7
Codigo del boton realizar calculos.............................................................................. 8
Funcion promedio....................................................................................................... 8
Aplicacion para extraer datos de un archivo de texto................................................8
Codigo del boton extraer datos.................................................................................. 9
Codigo del popupmenu.............................................................................................. 9
Aplicacin para facturacion de un restaurante con excel.........................................10
Codigo del boton total pedido.................................................................................. 10
Codigo de el uipanel................................................................................................. 11
Entorno grfico
Guide quick start
El entorno grfico de matlab nos sirve
para crear programas haciendo uso de
los beneficios de botones, cuadros de
texto, checkboxs, etc.
Para crear un guide, se debe ingresar por
medio de file newgui.
Se abrir una pantalla con el guide quick
start donde seleccinaremos blank gui y
presionaremos ok.
Se abrir un gui en blanco y tendremos a
disposicin todas las herramientas para
crear una aplicacin con ventanas de
windows, facilitar el manejo de la misma,
y hacerla ms intuitiva al usuario.
Desde la pantalla de guide quick start,
tambin podemos desde la pestaa open
existing gui, abrir los gui recientes, o
buscar con el explorador un gui
archivado.
function popupmenu1_Callback(hObject,
eventdata, handles)
matriz_de_arrays=get(hObject, 'string');
indice_de_la_matriz_de_arrays=get(hObject
,'Value');
matriz_indice_de_arrays=matriz_de_arrays(
indice_de_la_matriz_de_arrays);
ax=str2num(get(handles.edit1,'String'));
bx=str2num(get(handles.edit2,'String'));
Set(handles.tagdelobjeto,
propiedad),
que sirve para modificar el valor de una
de las propiedades de dicho objeto,
mismas
que
podiamos
modificar
haciendo doble click sobre cualquier
objeto.
Get(handles.tagdelobjeto,
propiedad),
devuelve el valor de la propiedad que
est en ese momento en el objeto.
Codigo para el popupmenu
xi=str2num(get(handles.edit3,'String'));
xf=str2num(get(handles.edit4,'String'));
x=[xi:0.1:xf];
switch cell2mat(matriz_indice_de_arrays);
case 'sen'
y=sin(x);
ejes(ax,bx,min(y),max(y));
plot(handles.axes1, x, y);
hold off;
case 'cos'
y=cos(x);
ejes(ax,bx,min(y),max(y));
plot(handles.axes1, x, y);
hold off;
case 'sen+cos'
y=sin(x) + cos(x);
ejes(ax,bx,min(y),max(y));
plot(handles.axes1, x, y);
hold off;
Funcion ejes
Con sta funcin graficamos los ejes de coordenadas en cualquier grfico, tiene las
variables de entrada con las cuales realiza el ploteo.
sta funcin puede ser llamada desde cualquier otro cdigo, enviando las variables
que necesita para su funcionamiento.
Con el comando global, hacemos una variable tipo global, que significa que estar
disponible para cualquier funcin o aplicacin.
function [ ] = ejes( ax, bx, ay, by )
%UNTITLED Summary of this function goes
here
%
Detailed explanation goes here
plot([(ax) (bx)], [0 0], 'bl');
hold on;
plot([0 0], [(ay) (by)],'bl');
grid on;
end
function pushbutton1_Callback(hObject,
eventdata, handles)
try
clc;
func=get(handles.edit1, 'String');
f=inline(func);
ax=str2num(get(handles.edit2,'String'));
bx=str2num(get(handles.edit3,'String'));
xmin=str2num(get(handles.edit4,'String'))
;
xmax=str2num(get(handles.edit5,'String'))
;
x=[xmin:0.1:xmax];
for i=1:length(x)
y(i)=f(x(i));
end
ejes(ax,bx,min(y),max(y));
escalax(ax,bx);
escalay(min(y),max(y));
function pushbutton1_Callback(hObject,
eventdata, handles)
datos=str2double(get(handles.uitable1,'da
ta'));
[ prom sum ] = promedio(datos);
datos
prom
sum
[ cov ] = covarianza(datos, prom);
cov
set (handles.text1,'String',['Promedios :
' num2str(prom)]);
for j=1:col
sum(j)=0;
for i=1:num
sum(j)=sum(j)+datos(i,j);
end
prom(j)=sum(j)/num;
end
end
Funcion promedio
Recibe la variable datos, y obtiene el nmero de filas y columnas, para luego
realizar un promedio de todos los datos y devuelve las variables con el resultado de
la suma y el promedio.
function pushbutton1_Callback(hObject,
eventdata, handles)
global datos_extraidos;
puntero = fopen('notas.txt','rt');
datos_extraidos = textscan(puntero,
'%3f', 'headerlines', 1);
datos_extraidos =
cell2mat(datos_extraidos);
set(handles.uitable1, 'data',
datos_extraidos);
global datos_extraidos;
contenido = get(hObject, 'String');
valor = get(hObject, 'Value');
contenido_valor = contenido(valor);
switch cell2mat(contenido_valor)
case 'Grafico de Dispersion'
x=1:length(datos_extraidos);
plot(x,datos_extraidos,'+b');
case 'Histograma'
hist(datos_extraidos,4);
case 'Regresin Lineal'
case 'Datos Estadsticos'
end
function pushbutton1_Callback(hObject,
eventdata, handles)
val_s1 = 0;
val_s2 = 0;
val_s3 = 0;
val_s4 = 0;
tot_s = 0;
val_pf1 = 0;
val_pf2 = 0;
val_pf3 = 0;
val_pf4 = 0;
tot_pf = 0;
val_j1 = 0;
val_j2 = 0;
val_j3 = 0;
val_j4 = 0;
tot_j = 0;
[aux1, aux2]=xlsread('factura.xls',1);
aux2(:,:)={' '};
xlswrite('factura.xls',aux2);
fact{1}='FACTURA ';
x=3;
Con ste cdigo se tomar en cuenta los valores primero de la hoja de clculo de
excel y sern encerados as como los valores de cada una de las variables utilizadas
para cada uno de los platos.
Se utilizar una variable tipo cell, para almacenar los valores de cada uno de los
tems de la factura a desplegar.
clc;
dat_s1 = str2num(get(handles.edit1,
'String'));
dat_s2 = str2num(get(handles.edit2,
'String'));
dat_s3 = str2num(get(handles.edit3,
'String'));
dat_s4 = str2num(get(handles.edit4,
'String'));
if get(handles.radiobutton6,'Value')==1
val_s1 = dat_s1 * 2;
fact{x} = [num2str(dat_s1) ' Sopas de
fideo : $' num2str(val_s1) ' '];
x = x + 1;
end
if get(handles.radiobutton7, 'Value')==1
val_s2 = dat_s2 * 3;
fact{x} = [num2str(dat_s2) '
Yahuarlocros : $' num2str(val_s2) ' '];
x = x + 1;
end
if get(handles.radiobutton8, 'Value')==1
val_s3 = dat_s3 * 3;
fact{x} = [num2str(dat_s3) '
Sancochos : $' num2str(val_s3) ' '];
x = x + 1;
end
if get(handles.radiobutton9, 'Value')==1
val_s4 = dat_s4 * 2;
fact{x} = [num2str(dat_s4) ' Locros
de papas : $' num2str(val_s4) ' '];
x = x + 1;
end
tot_s = val_s1 + val_s2 + val_s3 +
val_s4;
Codigo de el uipanel
function uipanel1_SelectionChangeFcn(hObject,
eventdata, handles)
sel = get(hObject, 'String');
switch sel
case 'Sopas'
set(handles.radiobutton6, 'Enable',
'on');
set(handles.radiobutton7, 'Enable',
'on');
set(handles.radiobutton8, 'Enable',
'on');
set(handles.radiobutton9, 'Enable',
'on');
set(handles.edit1, 'Enable', 'on');
set(handles.edit2, 'Enable', 'on');
set(handles.edit3, 'Enable', 'on');
set(handles.edit4, 'Enable', 'on');
set(handles.text8, 'Enable', 'on');
set(handles.text9, 'Enable', 'on');
set(handles.text10, 'Enable', 'on');
set(handles.text11, 'Enable', 'on');
'off');
'off');
set(handles.radiobutton10, 'Enable',
set(handles.radiobutton11, 'Enable',