0% encontró este documento útil (0 votos)
23 vistas

Lab 002 Matlab

Este documento presenta los objetivos y marco teórico para un laboratorio sobre programación con MATLAB. Los objetivos incluyen desarrollar algoritmos usando estructuras de control como secuenciales, de decisión y repetitivas, implementarlos en MATLAB, y usar el entorno de programación. En el marco teórico se describen conceptos básicos de programación como procesos, partes de un programa, elementos, estructuras de control como secuencial, selección con if/else y repetitivas con for. Finalmente, se pide resolver un problema que involucra ing
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas

Lab 002 Matlab

Este documento presenta los objetivos y marco teórico para un laboratorio sobre programación con MATLAB. Los objetivos incluyen desarrollar algoritmos usando estructuras de control como secuenciales, de decisión y repetitivas, implementarlos en MATLAB, y usar el entorno de programación. En el marco teórico se describen conceptos básicos de programación como procesos, partes de un programa, elementos, estructuras de control como secuencial, selección con if/else y repetitivas con for. Finalmente, se pide resolver un problema que involucra ing
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 8

UNIVERSIDAD CATOLICA DE SANTA MARIA Página:1/8

FACULTAD DE CIENCIAS E INGENIERÍAS FISICAS Y FORMALES


PROGRAMA PROFESIONAL Jefes de Prácticas:
Ing. Juan Carlos Cuadros
INGENIERIA MECÁNICA, MECÁNICA-ELECTRÍCA Y MECATRÓNICA Ing. Henry Zegarra Gago
Laboratorio de Mecánica Computacional II Ing. Christian Collado

Código: 4E04022
Tema: PROGRAMACIÓN CON MATLAB
Semestre: IV
Grupo: FECHA:
Apellidos y Nombres (1):____________________________________________________
Lab. Nº 02 del 22 al 26/Ago/11

Alumno: Luis Daniel Pajaya Revilla Grupo:

I. OBJETIVOS

1) Realizar algoritmos de programación usando estructuras secuenciales, de decisión y/o repetición para la
correcta solución de problemas matemáticos, físicos y/o de ingeniería.

2) Implementar los algoritmos de solución en forma de líneas de instrucción y código MATLAB, verificando los
mismos realizando pruebas de datos y el depurado de código respectivo.

3) Emplear el entorno de programación de MATLAB para crear programas.

II. MARCO TEORICO

Introducción:

Este laboratorio hace un repaso de conceptos de metodología de la programación y conceptos de programación


general, es decir, aspectos que son comunes a todos los lenguajes de programación. MATLAB es una aplicación
en la que se puede programar muy fácilmente, haciendo uso de scripts o funciones como veremos en posteriores
laboratorios. De todas maneras como lenguaje de programación se verá que MATLAB no posee tantas
posibilidades que si las tienen otros lenguajes de programación como el C/C++. Revisaremos también las
estructuras básicas de control en la confección de algoritmos de programación, cómo los diagramas de flujo son
instrumentos para plasmar nuestro algoritmo en cualquier lenguaje de programación tanto en MATLAB u otro
lenguaje de programación de alto nivel (e inclusive en los de bajo nivel), así como las instrucciones que hacen
posible su codificación. Comenzaremos viendo la asignación de entrada, lectura y escritura interactiva de datos,
también las bifurcaciones en toma de decisiones, los bucles, que son elementos básicos de cualquier programa de
una cierta complejidad, de la misma manera,

Metodología de la Programación.

Repasaremos algunos conceptos generales de Fundamentos de Programación:

• Proceso de Programación:

1 Definición del problema

2 Diseño del algoritmo

3 Codificación del programa

4 Depuración y verificación

• Concepto de programa: Un programa de computadora, consiste en un conjunto de instrucciones (ordenes


dadas a la máquina) que producirán la ejecución de una determinada tarea.
Laboratorio de Mecánica Computacional II Página: 2/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

• Partes de un programa:

• Elementos Básicos de un Programa:

Instrucciones Expresiones

Variables Caracteres especiales


Constantes Palabras reservadas

Identificadores

• Estructuras de control básicas:

a) Secuenciales: Una estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en
secuencia.

b) Selección: Se utilizan para tomar decisiones lógicas. También denominadas


estructuras de decisión o alternativas. Pueden ser: Simples, Dobles, Múltiples

• Sentencia if (forma simple): Sirve para representar una condición lógica


cuya expresión utiliza operadores relacionales u operadores lógicos, evaluado
su veracidad o falsedad, cuya formas más simple tiene la siguiente sintaxis:

if (cumple_condicion)
instrucciones_bloque1
end
.....

• Sentencia if (forma compuesta): como el anterior, pero un nuevo conjunto de líneas, comprendidas entre
else y end son ejecutadas en caso de que la operación lógica efectuada en el if sea falsa:
Laboratorio de Mecánica Computacional II Página: 3/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

.....
if (cumple_condicion)
instrucciones_bloque1
else
instrucciones_bloque2
end
.....

• Sentencia IF con decisiones múltiples: A esta forma se le denomina anidamiento y es una consecuencia
de usar consecutivamente IF compuestas, acá deberemos de tener cuidado por cuanto para MATLAB la
sintaxis es la siguiente:
.....
if (cumple_condicion1)
instrucciones_bloque1
elseif (cumple_condicion2)
instrucciones_bloque2
elseif (cumple_condicion3)
instrucciones_bloque3
else
instrucciones_bloque4
end
.....

El equivalente sería:
.....
if (cumple_condicion1)
instrucciones_bloque1
else
if (cumple_condicion2)
instrucciones_bloque2
else
if (cumple_condicion3)
instrucciones_bloque3
else
instrucciones_bloque4
end
end
end
.....

• La instrucción switch/case: Otra instrucción empleada para seleccionar opciones es switch/case que se
usa con frecuencia cuando existe una serie de opciones de ruta de programación para una variable dada,
dependiendo de su valor. Switch/case es similar a if/else/elseif , el código es un poco más fácil de leer ya
que switch/case es una estructura que le permite elegir entre múltiples salidas, con base en ciertos criterios.
Los criterios pueden ser un escalar o una cadena. En la práctica se usa más con cadenas que con números.
La estructura de switch/case es:
Las estructuras switch/case tienen diagramas
de flujo exactamente iguales a las estructuras
if/else
Laboratorio de Mecánica Computacional II Página: 4/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

switch variable
case opción 1
código a ejecutar si la variable es igual a la opción 1
case opción 2
código a ejecutar si la variable es igual a la opción 2
.
.
case opción n
código a ejecutar si la variable es igual a la opción n
otherwise
código a ejecutar si la variable no es igual a cualquiera de las opciones.
end

c) Repetitivas: Son operaciones que se deben ejecutar un número repetido de veces. El conjunto de
instrucciones que se ejecuta repetidamente cierto número de veces, se llama Ciclo, Bucle o Lazo.

Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones contenidas en el
bucle.

• Sentencia FOR (iteración de bucles): Repite un conjunto de sentencias (bloque de instrucciones), un


número predeterminado de veces, para MATLAB su sintaxis es la siguiente:
.....

for j=valor_inicial:paso:valor_final

bloque_instrucciones

end
.....
III. MATERIAL Y EQUIPO

1. Una PC con Sistema Operativo (S.O.) Windows XP.


2. MATLAB 7.0 o superior

IV. PROCEDIMIENTO

Resolver los siguientes problemas:

4.1 Elaborar un algoritmo (diagrama de flujo) y programa en MATLAB que permita el ingreso de dos números
que representan los catetos de un triangulo rectángulo, luego el programa deberá calcular el la hipotenusa
resultante y mostrara el resultado por pantalla.
Laboratorio de Mecánica Computacional II Página: 5/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

Algoritmo y Comentarios Diagrama de flujo

inicio

declarar:
a,b,c

Código MATLAB

% Inicio de programa a=input('ingrese cateto adyacente: ' );


a=input('ingrese cateto adyacente: ' ); b=input('ingrese cateto opuesto: ');
b=input('ingrese cateto opuesto: ');
c=((a^2)+(b^2))^0.5;
disp(['la hipotenusa es:' num2str(c) ]);
c=((a^2)+(b^2))^0.5;
% Fin de programa

disp(['la hipotenusa es:'


num2str(c) ]);

fin

4.2 Crear un algoritmo (diagrama de flujo) y programa en MATLAB que:

Resuelva una ecuación de segundo grado del tipo: A x 2+ Bx +C=0

Condiciones:
 El programa deberá de discriminar que la ecuación tenga soluciones reales.
 Si no tiene soluciones reales, presentar el mensaje de error “No tiene solución real”.
Algoritmo y Comentarios Diagrama de flujo

Código MATLAB
% Inicio de programa
a=input('ingrese valor de A: ' );
b=input('ingrese valor de B: ');
c=input('ingrese valor de C: ' );
x=(-b+((b^2)-(4*a*c))^0.5)/(2*a);
x1=(-b-((b^2)-(4*a*c))^0.5)/(2*a);
if ((b^2)-(4*a*c))>=0
disp(['el numero de x es equivalente
a: ' num2str(x)]);
disp(['el numero de x es equivalente
Laboratorio de Mecánica Computacional II Página: 6/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

a: ' num2str(x1)]);
else inicio
disp('el numero no existe');
end
a=input('ingrese valor de A: ' );
b=input('ingrese valor de B: ');
% Fin de programa c=input('ingrese valor de C: ' );

x=(-b+((b^2)-(4*a*c))^0.5)/(2*a);
x1=(-b-((b^2)-(4*a*c))^0.5)/(2*a);

((b^2)-(4*a*c))>=0

disp(['el numero de x es
equivalente a: ' num2str(x)]);
disp('el numero
no existe');
disp(['el numero de x es
equivalente a: ' num2str(x1)]);

fin

4.3 Desarrollar un diagrama de flujo y un programa en MATLAB que simule una cuenta progresiva del
lanzamiento de un proyectil , iniciado al apretar ENTER en el que al segundo 10 dé un aviso por pantalla de
“IGNICION” (terminado este ejercicio impleméntelo pero de forma regresiva):
Algoritmo y Comentarios Diagrama de flujo

inicio

10:-1:1 disp('IGNICION')

Código MATLAB

% Inicio de programa
for i=10:-1:1 pause(1)
pause(1) disp(i)
disp(i)
end
disp('IGNICION')
fin

% Fin de programa
Laboratorio de Mecánica Computacional II Página: 7/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

4.4 Elaborar un diagrama de flujo y un programa en MATLAB que:

 Obtenga los cuadrados de los números pares entre 0 y 50.


 Crear una tabla con cada entero y su cuadrado.
 Adjuntar su algoritmo de solución y diagrama de flujo.
Algoritmo y Comentarios Diagrama de flujo

inicio

'los numeros pares


entre 0 y 50 son: '

Código MATLAB

% Inicio de programa ['los numeros son ' num2str(i) ':


0:2:50 y su cuadrado del numero
es ' num2str(x) ]
disp('los numeros pares entre 0 y 50 son:
');
x=i^2;
for i=0:2:50 fin
x=i^2;
disp(['los numeros son ' num2str(i) ':
y su cuadrado del numero es '
num2str(x) ]);
end

% Fin de programa
4.5 Crear un algoritmo (diagrama de flujo) y programa en MATLAB en el que dados dos números reales LSup
y LInf que representan los límites superior e inferior de un intervalo, respectivamente; y dado un número n real
determine si dicho número pertenece al intervalo. En caso contrario, indique si está a la derecha o a la
izquierda del intervalo.
Algoritmo y Comentarios Diagrama de flujo

inicio

a=input('ingrese limite inferior: ' );


b=input('ingrese limite superior: ' );
n=input('ingrese numero: ' );

Código MATLAB

% Inicio de programa 'el numero se encuentra


a>n b<n
a=input('ingrese limite inferior: ' ); dentro del intervalo'

b=input('ingrese limite superior: ' );


n=input('ingrese numero: ' );
'el numero es menor al intervalo 'el numero es mayor al intervalo
y se encuentra a la izquierda y se encuentra a la derecha
if a>n del limite inferior' del limite superior'

disp('el numero es menor al


intervalo y se encuentra a la izquierda
del limite inferior');
else
fin
if b<n
disp('el numero es mayor al
intervalo y se encuentra a la derecha del
limite superior');
Laboratorio de Mecánica Computacional II Página: 8/8

Tema: PROGRAMACIÓN CON MATLAB LAB N° 2 JCC- HZG - CCO

else
disp('el numero se encuentra
dentro del intervalo');
end
end
% Fin de programa

V. EVALUACION

5.1 Confeccionar un algoritmo y un programa en MATLAB que:

Calcule el equivalente en temperatura de grados Centígrados de grados Fahrenheit.


Condiciones:
 El programa deberá de discriminar en un valor entre 0 – 20 ºF, como dato de entrada.
 La salida debe de tener una precisión de 2 dígitos
 Volver a realizar la conversión y salir del programa solo cuando se presione la tecla S.

VI. OBSERVACIONES Y CONCLUSIONES


 Haga sus observaciones y emita al menos cinco conclusiones en torno al trabajo realizado

- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________
- __________________________________________________________________________________________________

También podría gustarte