Está en la página 1de 13

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA


ELÉCTRICA Y MECATRÓNICA
CÓDIGO : 4E08065
GUIA DE LABORATORIO Nro. 02
ASIGNATURA : MECANICA COMPUTACIONAL II
PRIMERA FASE Docente:
Programación de Funciones con Matlab. Manejo de Matrices y Ing. Henry Christian Zegarra Gago.
Vectores. Instrucciones de selección y repetición.

I. OBJETIVOS DE LABORATORIO
a. Realizar algoritmos de programación usando estructuras secuenciales, de decisión
y/o repetición.
b. Conocer y emplear los comandos para la creación de vectores y matrices.
c. Conocer y emplear los comandos para realizar operaciones con vectores y
matrices.
d. Emplear el entorno de programación de MATLAB para crear funciones.
e. 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.

II. HERRAMIENTAS
1. Computador con Matlab 2017.
2. Computador con diagramador de flujo.
3. Apuntes y Guía de laboratorio.

III. CALIFICACIÓN
Cada ejercicio se calificará de acuerdo al siguiente peso.
Orden en desarrollo 0.5 pts.
Analiza y reconoce variables 1.0 pts.
Elabora diagrama de flujo 1.5 pts.
Elabora código y funciona 2.0 pts.
Interfaz de usuario amigable 1.0 pts.
Total 6.0 pts.

Las conclusiones se califican sobre seis puntos

IV. BIBLIOGRAFIA
[1] H. Moore, Matlab para ingenieros, Pearson Pretince Hall, 2010
[2] M. A. Montufar y J. Medina, Solución de problemas en ingeniería con MATLAB,
Patria, 2014.
[3] R. M. Villalobos, Fundamentos de Programación C++, más de 100 algoritmos
codificados. Macro, 2008.

Ing. Henry Zegarra G.


UNIVERSIDAD CATÓLICA DE SANTA MARÍA
ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA
ELÉCTRICA Y MECATRÓNICA
CÓDIGO : 4E08065
GUIA DE LABORATORIO Nro. 02
ASIGNATURA : MECANICA COMPUTACIONAL II
PRIMERA FASE Docente:
Programación de Funciones con Matlab. Manejo de Matrices y Ing. Henry Christian Zegarra Gago.
Vectores. Instrucciones de selección y repetición.

Ing. Henry Zegarra G.


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 3/ 13

V. MARCO TEÓRICO

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


programación general, es decir, aspectos que se vieron en el curso de Mecánica Computacional I.
Se revisarán las estructuras básicas de control en la confección de algoritmos de programación,
cómo los diagramas de flujo, que 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); asimismo, revisaremos 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.

4.1 Estructuras de Selección

Se utilizan para tomar decisiones lógicas. También denominadas estructuras de decisión o


alternativas. Pueden ser: Simples, dobles y múltiples, todas ellas representan una condición lógica
cuya expresión utiliza operadores relacionales u operadores lógicos.

Una estructura de selección simple (sentencia if), evalúa solo su veracidad de la condición para
ejecutar el conjunto de instrucciones que se encuentran en el bloque 1. Su sintaxis y diagrama de
flujo son:

Sintaxis:
if Cumple_condicion
instrucciones_bloque1;
end

Diagrama de flujo Figura 1.


Estructura de
selección simple

Una estructura de selección doble (sentencia if – else), evalúa la veracidad o falsedad de la


condición, ejecutando un conjunto de instrucciones que se encuentran en el bloque 1 o bloque 2
respectivamente. Su sintaxis y algoritmo son:

Sintaxis:

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 4/ 13

if Cumple_condicion
instrucciones_bloque1;
else
instrucciones_bloque2;
end

Diagrama de flujo

Una estructura de selección multiple (sentencia if – elseif), a esta forma se le denomina


anidamiento y es una consecuencia de usar consecutivamente IF compuestas. Su sintaxis y
algoritmo son:

Sintaxis: Diagrama de flujo


Figura 3.
if Cumple_condicion1
Estructura de
instrucciones_bloque1; selección múltiple
elseif Cumple_condicion2
instrucciones_bloque2;
elseif Cumple_condicion3
instrucciones_bloque3;
...
elseif Cumple_condicionn
instrucciones_bloqueN;
else
instruc_por_defecto;
end

A continuación de desarrollan algunos ejemplos para el entendimiento de las instrucciones


Enlace
estudiadas. (Tome apuntes y visualice el aula virtual). Revisar aula
virtual.

4.2 Estructuras Repetitivas

Son instrucciones u 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.

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 5/ 13

Iteración es cada una de las diferentes pasadas o ejecuciones de todas las instrucciones
contenidas en el bucle. La sentencia for, repite un conjunto de sentencias (bloque de
instrucciones), un número predeterminado de veces. Su sintaxis y diagrama de flujo son:

Sintaxis:
for i=valor_inicial:paso:valor_final
Bloque_instrucciones;
end

Diagrama de flujo

Figura 4.
Estructura cíclica
for

Hay ocasiones que el paso se omite, es decir solo se tiene valor_inicial y valor_final, cuando
sucede esto Matlab entiende que el paso es positivo y que el incremento es siempre de 1 en 1.

La sentencia while también repite un conjunto de sentencias (bloque de instrucciones), de


acuerdo a una condición, su sintaxis y diagrama de flujo son:

Sintaxis Diagrama de flujo


Figura 5.
while Condición Estructura cíclica
Bloque_instrucciones; while
end

A continuación de desarrollan algunos ejemplos para el entendimiento de las instrucciones


Enlace
Revisar aula
estudiadas (Tome apuntes y visualice el aula virtual).
virtual.

4.3 Matrices y vectores

Para Moore [1] un arreglo es una lista de números, la cual se encuentra encerrada entre
corchetes. Dichos números pueden ser separados por comas ‘,’ o espacio en blanco. Para definir
una nueva fila se utiliza el punto y coma ‘;’.

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 6/ 13

Un vector es una matriz de una sola fila con varias columnas (1xn) o también una columna con
varias filas (nx1).

Figura 6.
Representación
gráfica de un
vector

A continuación, se verán algunos ejemplos.

Ejemplo 1
Ingreso de vecto-
res.

También podemos usar el operador ‘:’ para la creación de vectores, así, por ejemplo.

Ejemplo 2
Uso del operador ‘:’

Si deseamos otro valor de espaciado podemos escribir:

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 7/ 13

Para generar un vector linealmente espaciado entre dos valores, se usar la función linspace, por
ejemplo:

Ejemplo 4
Función linspace
x=linspace(a,b,n)
a: Límite inferior.
b: Límite superior.
n: Elementos

Si queremos visualizar la cantidad de elementos que tiene un vector, podemos usar la función
length, por ejemplo.

Ejemplo 5
Función length

Si queremos acceder a alguno de los elementos almacenados en el vector, se puede hacer


mediante su sub índice (posición del vector), así, por ejemplo.

Ejemplo 6
Acceso al vector

Así como se puede acceder a una posición del vector, también se puede asignar un valor nuevo a
una posición específica, así, por ejemplo.

Ejemplo 7
Asignando valor a
la posición 4.

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 8/ 13

Una matriz es un arreglo bidimensional que se compone de varias filas y columnas. (n x m).
Matlab considera a un vector como una matriz

Figura 6.
Representación
gráfica de una
matriz

A continuación de verán algunos ejemplos:

Ejemplo 8
Manipulación de
matrices.

Nota
Recordar que para
definir una nueva
fila se utiliza el
punto y coma ‘;’

Otras funciones que nos permiten trabajar con matrices son:

Ejemplo 9
Funciones internas
para la creación
de matrices.

Nota
Las funciones
internas pueden
anidarse (nesting),
es decir una
función puede ser
el argumento de
entrada de otra
Mecánica Computacional II - 2018
función, así, por
ejemplo:
s=sin(sqrt(n))
GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 9/ 13

Mecánica Computacional II - 2018


(Cont.)

GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 10/ 13

4.4 Programación de funciones

Antes de proceder a crear una función en Matlab, debemos de saber que Matlab posee funciones
matemáticas elementales. En el ejemplo 10, se muestra el uso de algunas de ellas.

Ejemplo 10
Funciones internas
matemáticas
elementales.

Nota
Utilice la ayuda
para conocer más
funciones:
>> help elfun

Las funciones del ejemplo 10 tienen una estructura.

Figura 6.
Llamada a la
función seno (sin).

Para usar la función seno (sin), basta con colocar el nombre de función y el argumento de entrada
de cual se desea hallar el seno.

Para Moore [1] una función es: -

Mecánica Computacional II - 2018


GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 11/ 13

“Una pieza de código de computación que acepta un argumento de entrada del usuario y
produce salida al programa. Las funciones le ayudan a programar eficientemente, lo que
le permite evitar reescribir el código de computación para cálculos que se realizan con
frecuencia”.

En Matlab, se puede crear funciones que sean definidas por usuario, las cuales funcionan de igual
forma que las funciones internas de Matlab. Para crear una función debemos de:
a. Abrir un archivo script (archivo-m).
b. Usar la palabra reservada function.
c. Seleccionar la o las variables que serán la salida de la función (Argumento de salida).
d. Seleccionar el nombre de la función.
e. Seleccionar la o las variables que serán los argumentos de entrada de la función.
Esto se puede apreciar en la figura 7.

Figura 7.
Estructura de
función definida
por usuario.

A continuación, se desarrollan algunos ejemplos.

Ejemplo 11: Halle el factorial de un número n ingresado (use funciones)

Análisis.
Inicialmente facto = 1.
 Variable de entrada: n
 Variable de salida: facto
 Proceso: Se empleará una instrucción cíclica que repetirá n veces la
expresión facto = facto * i.

Diagrama de flujo

Revisar aula virtual.

Código

Mecánica Computacional II - 2018


Enlace
Revisar aula
virtual.
GUÍA DE LABORATORIO 01 MECANICA COMPUTACIONAL II PAG 12/ 13

Salida (Prueba)

Como se puede ver, las funciones en Matlab tienen la misma, es decir consisten de un nombre,
argumentos de salida y argumentos de entrada.

Mecánica Computacional II - 2018


UNIVERSIDAD CATÓLICA DE SANTA MARÍA
ESCUELA PROFESIONAL DE INGENIERÍA MECÁNICA, MECÁNICA
ELÉCTRICA Y MECATRÓNICA
CÓDIGO : 4E08065
GUIA DE LABORATORIO Nro. 02
ASIGNATURA : MECANICA COMPUTACIONAL II
PRIMERA FASE Docente:
Programación de Funciones con Matlab. Manejo de Matrices y Ing. Henry Christian Zegarra Gago.
Vectores. Instrucciones de selección y repetición.
Puntos:
Nombres y apellidos:
Código: Grupo:

VI. DESARROLLO DE LA GUÍA


Para cada una de las preguntas, consigne los pasos seguidos para su solución de problema
con Matlab.
5.1 Que al ingresar un número indique si es primo o no:
5.2 Qué al ingresar un número indique si es perfecto o no.
5.3 Que al ingresar un número muestre por pantalla la conjetura de Collatz.
VII. Cuestionario Final.
Para cada una de las preguntas, consigne los pasos seguidos para su solución de problema
con Matlab.
6.1 Implemente una función para ingresar datos a un vector. La función debe de recibir como
argumentos de entrada la cantidad de filas y columnas.
6.2 Teclee en la línea de comando help elfun, y explique el funcionamiento de 5 funciones
internas de Matlab, ejemplifique.
VIII. CONCLUSIONES Y OBSERVACIONES (Emita al menos 3 conclusiones)

Ing. Henry Zegarra G.

También podría gustarte