Download - Programacion 2014 matlab
Facultad: FIAG
Escuela: ESGE
Año Académico: 2014
Año de estudios: Segundo
Docente: MSc. Javier Lozano Marreros
Msc. Javier Lozano M. 1
Curso:
Programación Aplicada
a la Ingeniería
2 MSc. Javier Lozano Marreros
3 MSc. Javier Lozano Marreros
M A T L A B MATrix
LABoratory
Gráficas
Cálculo numérico
computacional
Simulink Toolboxes
Lenguaje de programación
4
PROGRAMACIÓN
EN MATLAB
PROGRAMAS QUE SE EJECUTAN EN LA
VENTANA DE COMANDOS
MSc. Javier Lozano Marreros
5
Entrada de datos
LA FUNCIÓN input
MSc. Javier Lozano Marreros
LEER
variable
variable = input(‘texto’)
variable = input(‘texto’,'s')
6 MSc. Javier Lozano Marreros
Ejemplos
N = input('ingrese el numero de terminos: ')
LEER
N, f(x)
txt=input ('Ingrese la funcion f(x):','s');
f = inline(txt);
7
Salida de datos
LA FUNCION disp
MSc. Javier Lozano Marreros
ESCRIBIR
variable
disp(variable)
8
Salida de datos
Escribe una cadena con formato.
SINTAXIS
cadena = fprintf(‘formato’,variables)
MSc. Javier Lozano Marreros
LA FUNCION fprintf
9 MSc. Javier Lozano Marreros
Ejemplos Ejemplo1:
disp(‘Mi primer programa');
Ejemplo2:
s=sqrt(b^2-4*a*c); disp(s);
Ejemplo3:
x = [2 3 4];
texto1=‘Los valores de x son: ’;
texto2=num2str(x);
texto3=[texto1,texto2];
disp(texto3);
10 MSc. Javier Lozano Marreros
Ejemplos
Ejemplo1:
s=sqrt(b^2-4*a*c);
fprintf(' %12.8f ', s)
Ejemplo2:
fprintf('%12.8f\n',pi)
Ejemplo3:
>> x=[-3:.5:3]'; y=x.^2; z=[x y];
>>fprintf('\tX\t\tY\t\n');
>>fprintf('%8.4f %8.4f\n',z')
11
variable = expresion
MSc. Javier Lozano Marreros
INSTRUCCIÓN DE ASIGNACIÓN
d=sqrt(b^2-4*a*c);
2 4d b ac
12
if condicion
instrucciones o grupo
de instrucciones
end
V F Condicion
Instrucciones
LA SENTENCIA if
MSc. Javier Lozano Marreros
SENTENCIAS CONDICIONALES
13
if condicion
Instrucciones1
else
Instrucciones2 end
LA SENTENCIA if else
V F Condicion
Instrucciones1 Instrucciones2
MSc. Javier Lozano Marreros
14
LA SENTENCIA switch
switch expresión
case valor 1
Instrucciones1
case valor 2
instrucciones2
. . .
oterwise
Instrucción cuando
no cumple ningún
caso
end
valor 1
Expresion
Inst 1 Inst 2 Inst n-1 Inst n
valor 2 valor n-1 valor n
MSc. Javier Lozano Marreros
15
LA SENTENCIA for
for V=VI:I:VF
instrucciones
end
F
Instrucciones
V = VI, VF, I
MSc. Javier Lozano Marreros
SENTENCIAS REPETITIVAS
16
LA SENTENCIA while
while condicion
instrucciones
end
V
F Condicion
Instrucciones
MSc. Javier Lozano Marreros
17
EJEMPLOS DE PROGRAMAS
EN MATLAB
MSc. Javier Lozano Marreros
18
EJEMPLO 1. Diseñar el diagrama de flujo de
programas, y escribir el programa en
MATLAB, que calcule la suma de los
n primeros términos de la sucesión
,4!
x,
3!
x,
2!
xx,1,
432
MSc. Javier Lozano Marreros
19
DIAGRAMA
DE FLUJO
i = 1, n-1
INICIO
LEER
n , x
P = 1
F = 1
S = 1
P = P*x
F = F*i
S = S + P/F
ESCRIBIR
S
FIN MSc. Javier Lozano Marreros
20
Código en MATLAB
Un script es una secuencia de instrucciones
de MATLAB guardada en un archivo con
extensión .m
MSc. Javier Lozano Marreros
Scripts
Para ejecutar el programa:
Pulsar F5
Escribir el nombre del archivo en el
prompt de la ventana de comandos.
21
Código para la entrada de datos
n=input(‘Ingrese n: ’);
x=input(‘Ingrese x: ’);
LEER
n , x
MSc. Javier Lozano Marreros
22
Código para el proceso de datos
P=1;
F=1;
S=1;
for i=1:n-1
P=P*x;
F=F*i;
S=S+P/F;
end
i = 1, n-1
P = 1
F = 1
S = 1
P = P*x
F = F*i
S = S + P/F
MSc. Javier Lozano Marreros
23
Código para la salida de datos
disp(S);
ESCRIBIR
S
MSc. Javier Lozano Marreros
24
CODIGO COMPLETO DEL PROGRAMA
MSc. Javier Lozano Marreros
25
Ventana de ejecución del ejemplo
MSc. Javier Lozano Marreros
PROGRAMACIÓN VISUAL
GUIDE
CON MATLAB
PROGRAMACIÓN VISUAL CON
MATLAB
MSc. Javier Lozano Marreros 27
28
ACCESO AL GUIDE DEL
MATLAB
MSc. Javier Lozano Marreros
29
EL GUIDE DEL MATLAB
En el formulario se insertan los objetos que formaran parte de la interfaz de usuario
Formulario
Objeto
MSc. Javier Lozano Marreros
Paleta de
componentes
Run
30
Inspector de
propiedades
Para cambiar las
propiedades de un objeto
primero se debe de
seleccionar el objeto
MSc. Javier Lozano Marreros
31
Objeto static text
Objeto edit text
Objeto push button
INTERFAZ DE USUARIO PARA EL EJEMPLO
VENTANA DE DISEÑO
MSc. Javier Lozano Marreros
32
PARA INGRESAR EL CODIGO EN EL
BOTON ACEPTAR
MSc. Javier Lozano Marreros
33
FUNCION DONDE SE
INGRESARA EL CÓDIGO
MSc. Javier Lozano Marreros
34
Entrada de datos LA FUNCION get Permite consultar y cambiar el valor de las propiedades
de un objeto.
SINTAXIS
get(handles.Nom_obj,'prop');
Donde:
Nom_obj: nombre del objeto
handles.Nom_obj: hace referencia al objeto de la interfaz grafica de usuario.
'prop.’: es la propiedad del objeto.
MSc. Javier Lozano Marreros
35
LA FUNCION get
EJEMPLO:
texto=get(handles.edit1,'string');
Esta instrucción captura el dato que se ha ingresado en el
control Edit Text (edit1) y lo asigna a la variable texto.
x=str2double(get(handles.edit2,'string'));
Esta instrucción captura el dato que se ha ingresado
en el control Edit Text (edit2), lo convierte a numero
real y lo asigna a la variable x.
MSc. Javier Lozano Marreros
36
Salida de datos LA FUNCION set Muestra el valor de las propiedades de un objeto.
SINTAXIS
set(handles.Nom_obj, 'prop.',v_prop);
Donde:
Nom_obj: Es el nombre del objeto
handles.Nom_obJ: hace referencia al objeto que se encuentra en el formulario.
'prop.‘: es la propiedad del objeto,
V_prop: es el nuevo valor de la propiedad.
MSc. Javier Lozano Marreros
37
LA FUNCION set
EJEMPLOS:
set(handles.edit5,'string',120);
Esta instrucción escribe el numero 120 en el
control Edit Text (edit5).
set(handles.edit7,'string','No existe raiz');
Esta instrucción escribe el texto “No existe raiz”
en el control Edit Text (edit7).
MSc. Javier Lozano Marreros
38
LA FUNCION sprintf
Escribe una cadena con formato. Retorna una cadena.
SINTAXIS
cadena = sprintf(‘formato’,variables)
EJEMPLO:
sprintf('x%d = %10.6f', 4, pi)
muestra el siguiente resultado: x4 = 3.141593
cad = sprintf('x%d = %10.6f', 4, pi)
El resultado x4 = 3.141593 lo guarda en la cadena cad
MSc. Javier Lozano Marreros
39
EJEMPLO
Diseñar el diagrama de flujo de
programas, y escribir el programa
en MATLAB, que calcule la suma
de los n primeros términos de la
sucesión:
,4!
x,
3!
x,
2!
xx,1,
432
MSc. Javier Lozano Marreros
40
DIAGRAMA
DE FLUJO
i = 1, n-1
INICIO
LEER
n , x
P = 1
F = 1
S = 1
P = P*x
F = F*i
S = S + P/F
ESCRIBIR
S
FIN MSc. Javier Lozano Marreros
41
Código para la entrada de datos
n=str2double(get(handles.edit1,’string’));
x=str2double(get(handles.edit2,’string’));
LEER
n , x
MSc. Javier Lozano Marreros
42
Código para el proceso de datos
P=1;
F=1;
S=1;
for i=1:n-1
P=P*x;
F=F*i;
S=S+P/F;
i = 1, n-1
P = 1
F = 1
S = 1
P = P*x
F = F*i
S = S + P/F
MSc. Javier Lozano Marreros
43
Código para la salida de datos
set(handles.edit3,'string',S);
ESCRIBIR
S
MSc. Javier Lozano Marreros
44
CODIGO COMPLETO DEL
PROGRAMA
MSc. Javier Lozano Marreros
45
Ventana de ejecución del ejemplo
MSc. Javier Lozano Marreros