You are on page 1of 76

2010

MANEJO Y PROGRAMACIÓN
MatLab
El principal objetivo de la educación es el de crear individuos capaces de hacer
cosas nuevas y no simplemente de repetir lo que hicieron otras generaciones;
individuos creativos, inventivos y descubridores, cuyas mentes puedan criticar,
verificar y que no acepten todo lo que se les ofrezca. “Jean Piaget”

Macizo Fernández , Neil Antonio


MAC
08/10/2010
Instalación del Software MatLab 2010a :

1) Introducir el instalador en la lectora de la computadora .


2) Luego acceder al instalador por medio del Explorador de Windows .
3) Hacer doble click en “setup” , luego de una espera aparece el cuadro de diálogo
“MathWorks Installer” , en el cual se aprecia dos opciones a escoger :

Primera opción : Instalar con el


uso del Internet

Segunda opción : Instalar sin el


uso del Internet

4) Escogemos la segunda opción : “Install without using the Internet”=Instalar sin el uso
del internet . Luego hacemos click en “Next >” , aparece el siguiente cuadro de
diálogo “License Agreement”=Contrato de Licencia , hacemos click en “yes” de tal
manera que aceptamos los términos del contrato de licencia , luego click en
“Next>” .

5) Aparece el cuadro de diálogo “File Installation Key”=Clave de Instalación del


Archivo , en ella se aprecia dos opciones , escogemos la primera opción ya que
tenemos la clave , la clave se encuentra en el “instalador/CRACK/install” , en el
archivo “install” podemos apreciar dos opciones : “standalone” y “network” , cada
una de ellas presenta una clave y podemos escoger cualquiera de ellas y lo
pegamos en nuestra instalación . Click en “Next >”.

“Yo tengo la clave de


instalación de archivo para
mi licencia”

“Yo no tengo la clave de instalación de archivo.


Ayúdenme con los siguientes pasos”

6) Aparece el siguiente cuadro de diálogo “Installation Type”=Tipo de Instalación.


Escogemos la primera opción : “Install all your licensed products using defaults
settings”=Instalar todos los productos bajo licencia con la configuración por
defecto . Click en “Next >” .
7) Aparece el siguiente cuadro de diálogo “Folder Selection”=Selección de la
Carpeta. En él se muestra la carpeta de instalación . Click en “Next >”.

Luego me aparece un mensaje preguntando si deseo crear la carpeta de instalación ,


hacemos click en “Yes” .
8) Aparece el siguiente cuadro de diálogo “Confirmation”=Confirmación. Click en
“Install >” y se inicia el proceso de instalación .

Proceso de Instalación :
9) Aparece el siguiente cuadro de diálogo “Product Configuration Notes”=Notas de
Configuración del Producto . Click en “Next >” .

10)Aparece el siguiente cuadro de diálogo “Installation Complete”=Instalación


Completa , verificamos que la opción “Activate MATLAB”=(activar MATLAB) este
activada . Click en “Next > ”.
11)Aparece el cuadro de diálogo “MathWorks Software Activation”, en ella se puede
apreciar dos opciones , escogemos la segunda opción : “Activate manually without
the Internet”. Click en “Next >” .

Activar automáticamente
Activar manualmente sin el
usando el Internet
Internet

12)Aparece el cuadro de diálogo “Offline Activation”=Activación sin Conexión , se


puede apreciar dos opciones , elegimos la primera opción “Provide the path to the
license file” , luego click en “Browse” y busco el archivo de licencia en el :
instalador/CRACK/lic_standalone.dat (escojo esta opción siempre y cuando he
usado la clave de “standalone” en el cuadro de diálogo “File Installation Key”) , en
caso contrario si he usado la clave de “network” entonces busco el archivo de
licencia en el : instalador/CRACK/lic_server.dat . Click en “Next >” .

Proporcionar la ruta al
archivo de licencia

Yo no tengo el archivo de licencia .


Ayúdenme con los siguientes pasos
13)Aparece el cuadro de diálogo “Activation Complete”=Activación Completa . Click
en Finish .

Luego se podrá apreciar que el programa se inicia ya que dejamos activada la


opción : “Start MATLAB”, el cual inicia el programa :
MANEJO Y PROGRAMACIÓN MatLab

MatLab :
MATLAB (abreviatura de MATrix LABoratory, "laboratorio de matrices"),es un programa
de cálculo numérico orientado a matrices. Por tanto, será más eficiente si se diseñan
los algoritmos en términos de matrices y vectores.

Importante : El MatLab se puede usar como herramienta de cálculo y programación .

MATLAB , fue creado por Cleve Moler Barry en 1984 ; es un


matemático y programador de computadoras , es presidente y
director científico de The MathWorks. Moler fue profesor de
matemáticas y ciencias de la computación desde hace casi 20
años en la Universidad de Michigan, la Universidad de Stanford y
la Universidad de Nuevo México.

MathWorks : Es una empresa privada , líder mundial en desarrollo de software para


cálculo técnico, que utilizan ingenieros y científicos en el sector industrial , empresarial
u otros sectores . Uno de los productos de esta empresa es el MatLab .

http://www.mathworks.com/

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 1


MANEJO Y PROGRAMACIÓN MatLab

Entorno del Programa :

Barra de Título
Barra de Menús

Barra de Herramientas Estándar


Carpeta actual
Espacio de Trabajo

Prompt *
Ventana de Comandos
Historial de Comandos

Barra de Tareas

* Se llama “prompt” al carácter que se muestra en una línea de comando para indicar
que está a la espera de órdenes .

Matriz : Es un arreglo rectangular de elementos (números , letras , …) ordenados en filas


y columnas .

Matriz identidad de orden 3 :

Columnas

Filas

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 2


MANEJO Y PROGRAMACIÓN MatLab

Matriz de orden 3X2 :

Columnas

Filas

Ejemplos haciendo uso del MatLab :

Alt+91
Alt+93

>> [2 3 4 5;6 7 8 6]

ans =

2 3 4 5
Ingreso de una matriz con el uso de espacios
6 7 8 6

>> [2,3,4,5;6,7,8,6]

ans =

2 3 4 5 Ingreso de una matriz con el uso de comas

6 7 8 6

>> A=[3,4,6;2,3,4]

A=

3 4 6 A una matriz se le puede dar un “nombre” y


así poder usarlo en el cálculo
2 3 4

>> F=[5,6,8;3,4,6]; Con el uso del punto y coma “;” no me muestra la


matriz , pero si lo almacena para el cálculo posterior

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 3


MANEJO Y PROGRAMACIÓN MatLab

Otras variantes :

>> u=magic(10)

u=

92 99 1 8 15 67 74 51 58 40

98 80 7 14 16 73 55 57 64 41

4 81 88 20 22 54 56 63 70 47

85 87 19 21 3 60 62 69 71 28
Matriz Mágica de orden 10 , se
86 93 25 2 9 61 68 75 52 34 obtiene cantidades iguales al sumar
los elementos de cada fila , de cada
17 24 76 83 90 42 49 26 33 65 columna e incluso de cada diagonal

23 5 82 89 91 48 30 32 39 66

79 6 13 95 97 29 31 38 45 72

10 12 94 96 78 35 37 44 46 53

11 18 100 77 84 36 43 50 27 59

>> f=eye(5)

f=

1 0 0 0 0

0 1 0 0 0
Matriz Identidad de Orden 5
0 0 1 0 0

0 0 0 1 0

0 0 0 0 1

>> d=[3 6 7 8]

d= Vector Fila haciendo uso de espacios

3 6 7 8

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 4


MANEJO Y PROGRAMACIÓN MatLab

>> d=[3,6,7,8]

d= Vector Fila haciendo uso de comas

3 6 7 8

>> d=[3;6;7;8]

d=

3 Vector Columna

>> h=(1:10)
Vector Fila con un incremento de 1
h= haciendo uso de paréntesis

1 2 3 4 5 6 7 8 9 10

>> h=[1:10]
Vector Fila con un incremento de 1
h=
haciendo uso de corchetes
1 2 3 4 5 6 7 8 9 10

>> h=(0:2:10)
Vector Fila con un incremento de 2
h= haciendo uso de paréntesis
0 2 4 6 8 10

>> h=[0:2:10]
Vector Fila con un incremento de 2
h= haciendo uso de corchetes

0 2 4 6 8 10

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 5


MANEJO Y PROGRAMACIÓN MatLab

>> PERU=ones(5)

PERU =

1 1 1 1 1
Matriz de orden 5 , donde cada elemento es 1
1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

>> K=zeros(7)

K=

0 0 0 0 0 0 0

0 0 0 0 0 0 0
Matriz de orden 7 , donde cada elemento es cero
0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

>> J=diag([4,5,7,9,8])

J=

4 0 0 0 0
Matriz diagonal
0 5 0 0 0

0 0 7 0 0

0 0 0 9 0

0 0 0 0 8

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 6


MANEJO Y PROGRAMACIÓN MatLab

>> h=[5,6,7;3,4,78]

h=

5 6 7
Ubicación de un elemento en la matriz
3 4 78

>> h(2,1)

ans =

>> h=[0:2:10]

h=
Ubicación de un elemento en un vector fila
0 2 4 6 8 10

>> h(3)

ans =

Operaciones con Matrices :

>> Y=[0:1:5]

Y= Operación Trigonométrica “coseno”.

Generalmente los programas como el MatLab ,


0 1 2 3 4 5
el Visual Basic , etc. trabajan por defecto en el
>> cos(Y) sistema circular (radian)

ans =

1.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 7


MANEJO Y PROGRAMACIÓN MatLab

>> a=[1,-2;0,3;0,1]

a= Producto de Matrices

1 -2

0 3

0 1

>> b=[0,1,-4;2,-2,0]

b=

0 1 -4

2 -2 0

>> a*b

ans =

-4 5 -4

6 -6 0

2 -2 0

Valores conocidos en el MatLab :

>> pi

ans =

3.1416

>> i

ans = La Unidad Imaginaria “i”=

0 + 1.0000i

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 8


MANEJO Y PROGRAMACIÓN MatLab

Creando accesos cortos :

 Click derecho debajo de la barra de Herramientas Estándar , tal como se


muestra en la gráfica , click en “New Shortcut” .

 Aparece el siguiente cuadro de diálogo “Shortcut Editor”=Editor de Método


Abreviado , en la etiqueta(label) escribo la palabra que se va mostrar en el
entorno del MatLab , en “Callback” escribo el comando a ejecutarse , en
Icono(Icon) elijo la imagen de la etiqueta y finalmente guardo.

Comando “clc” , me permite limpiar


la Ventana de Comandos

De igual manera se puede realizar con otros comandos como el “clear” (me
permite borrar las variables) .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 9


MANEJO Y PROGRAMACIÓN MatLab

Preferencias de la Ventana Comandos :

Menú File/Preferences…/ , aparece el siguiente cuadro de diálogo ; en ella se puede


configurar aspectos relacionados a la Ventana de Comandos como es el caso del
Formato Numérico .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 10


MANEJO Y PROGRAMACIÓN MatLab

Versiones del MatLab :

Surge la primera versión con la idea de emplear paquetes escritas en Fortran en los
cursos de álgebra lineal y análisis numérico, sin necesidad de escribir programas en
dicho lenguaje .

(Fuente : http://en.wikipedia.org/wiki/MATLAB)

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 11


MANEJO Y PROGRAMACIÓN MatLab

MatLab es un lenguaje del cálculo técnico :

Derivada Parcial : Resolver :

Apóstrofo : Alt+39

Potencia : Alt+94

Integral Definida : Resolver :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 12


MANEJO Y PROGRAMACIÓN MatLab

El MatLab se puede usar como una calculadora :

Variable “ans” creada por defecto ,


se almacena en el “Wokspace”

Help : Proporciona una lista de todos los tópicos que MatLab puede proporcionar
ayuda .

Temas de Ayuda (un caso general)

Tema de Ayuda (un caso específico)

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 13


MANEJO Y PROGRAMACIÓN MatLab

Escribo el comando a consultar , luego presiono “F1” e inmediatamente aparecerá un


cuadro de diálogo sobre el comando consultado :

¿Cómo funciona MatLab?

 Puede almacenar información en variables .


 Si ponemos “;” al final de la instrucción , MatLab omite el desplegado de la
información .
 Si se quiere saber el valor de alguna variable , sólo se tiene que poner el nombre
de la variable y ENTER y MatLab lo despliega , o simplemente aprecio el valor de
la variable en “Workspace” en la opción Value .

Número Real

Matriz de orden 2x2

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 14


MANEJO Y PROGRAMACIÓN MatLab

 MatLab diferencia lo que son mayúsculas y minúsculas , por lo que las siguientes
variables son diferentes :

 El nombre de las variables deben empezar con una letra , seguida por letras o
números o subguiones , no pueden empezar con números , los nombres no
pueden presentar espacios , los caracteres de puntuación no son permitidos en
las variables , las variables pueden contener hasta 63 caracteres .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 15


MANEJO Y PROGRAMACIÓN MatLab

 Cuando se trabaja con muchas variables estas son difíciles de recordar , el


comando “who” muestra todas las variables , mientras el comando “whos”
muestra las variables con información adicional .

Borrado de Variables :

>> clear : Borra todas las variables

>> clear a b c : Borra las variables “a”, “b” y “c” , se puede confirmar apreciando el
“Workspace” .

Funciones matemáticas elementales que operan de modo escalar :

Se aplican de la misma forma a escalares , vectores y matrices . Algunas de las


funciones de este grupo son las siguientes :

sin(x) Seno , el MatLab asume que “x” esta expresado en radianes

cos(x) Coseno , el MatLab asume que “x” esta expresado en radianes


Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 16
MANEJO Y PROGRAMACIÓN MatLab

tan(x) Tangente , el MatLab asume que “x” esta expresado en radianes

cot(x) Cotangente , el MatLab asume que “x” esta expresado en radianes

asin(x) Arco seno , me devuelve un ángulo en radianes

acos(x) Arco coseno , me devuelve un ángulo en radianes

atan(x) Arco tangente , me devuelve un ángulo en radianes

acot(x) Arco cotangente , me devuelve un ángulo en radianes

(Fuente : http://es.wikipedia.org/wiki/Funci%C3%B3n_trigonom%C3%A9trica)

sinh(x) Seno hiperbólico

cosh(x) Coseno hiperbólico

tanh(x) Tangente hiperbólica

asinh(x) Arco seno hiperbólico

acosh(x) Arco coseno hiperbólico

atanh(x) Arco tangente hiperbólico

log(x) Logaritmo natural o neperiano , cuya base es e=2.7182…

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 17


MANEJO Y PROGRAMACIÓN MatLab

log10(x) Logaritmo decimal , cuya base es 10

exp(x) Función Exponencial

factorial(x) Factorial de un número “x”

sqrt(x) Raíz Cuadrada

sign(x) Devuelve “1” si “x” es mayor que cero , devuelve “0” si “x” es igual que
cero , devuelve “-1” si “x” es menor que cero.

rem(x,y) Resto entero

mod(x,y) Resto entero

mod(x,y)/y Obtengo la parte decimal de una división “x/y”

round(x) Redondea hacia el entero más próximo

fix(x) Redondea hacia cero

floor(x) Valor entero más próximo hacia “-∞”

ceil(x) Valor entero más próximo hacia “+∞”

complex(x,y) Me genera un número complejo : x+y.i

real(x) Obtiene la parte real de un número complejo

imag(x) Obtiene la parte imaginaria de un número complejo

conj(x) Complejo conjugado por ejemplo de “2+3.i” a “2-3.i”

abs(x) Valor Absoluto

Funciones que actúan sobre Vectores (vector fila o vector columna) :

min(x) Devuelve el valor mínimo de un vector

max(x) Devuelve el valor máximo de un vector

sum(x) Devuelve la suma de los elementos de un vector

cumsum(x) Devuelve el vector suma acumulativa de los elementos de un vector

prod(x) Devuelve el producto de los elementos de un vector

cumprod(x) Devuelve el vector producto acumulativo de los elementos de un vector

sort(x) Ordena el vector de menor a mayor

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 18


MANEJO Y PROGRAMACIÓN MatLab

sort(x,'descend') Ordena el vector de mayor a menor

Funciones que actúan sobre Matrices :

Traspuesta o transpuesta de una matriz :

Traspuesta : (apóstrofo=Alt+39)

Devolviendo el número de filas y columnas de una matriz , el resultado es un

vector fila: [fila,columna]:

Máximo y Mínimo Valor de una Matriz :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 19


MANEJO Y PROGRAMACIÓN MatLab

Operaciones Lógicas :

True =Verdadero=1 False=Falso=0

Operadores Relacionales :

< : menor que : Alt+60

> : mayor que : Alt+62

<= : menor o igual que

>= : mayor o igual que

== : igual que (“=”=Alt+61)

~= : distinto que (“~”=Alt+126)

Operadores Lógicos :

& : y : Alt+38

| : o : Alt+124

~ : negación : Alt+126

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 20


MANEJO Y PROGRAMACIÓN MatLab

Conjunción : Disyunción :

Gráficas : Cuando la función “plot” se le pasa un único vector (real) como argumento
, dicha función dibuja en las ordenadas el valor de los “n” elementos del vector frente
a los índices 1, 2 , 3 , … , n del mismo en las abcisas .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 21


MANEJO Y PROGRAMACIÓN MatLab

La función “plot” permite dibujar múltiples curvas introduciendo varias parejas de


vectores :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 22


MANEJO Y PROGRAMACIÓN MatLab

Gráfica de una función : Se está graficando la función trigonométrica “seno” , se le


está poniendo un título y etiquetas a los ejes coordenados .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 23


MANEJO Y PROGRAMACIÓN MatLab

Programación en MatLab :

Un programa puede expresarse mediante tres formas o la combinación de estas :

1. Secuencia : Se refiere a un proceso de cálculo .

2. Decisión (Bifurcaciones) : Se refiere al proceso de cálculo a realizar , según la


condición que se cumpla ; una bifurcación puede ser simple (con una
condición) o múltiple (con múltiples condiciones) .

3. Repetición (Bucles) : Se refiere al proceso de repetición de un cálculo , donde el


número de repeticiones puede ser conocido o desconocido a un inicio .

Sentencias :

1. Sentencia “if” :

En el “Script” : En el “Command Window” :

Paso 01
Paso 02
Paso 03

En el “Script” : En el “Command Window” :

Paso 01 Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 24


MANEJO Y PROGRAMACIÓN MatLab

En el “Script” : En el “Command Window” :


Paso 01 Paso 02

En el “Script” : En el “Command Window” :


Paso 01 Paso 02

En el “Script” :
Paso 01

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 25


MANEJO Y PROGRAMACIÓN MatLab

En el “Command Window” : Paso 02

2. Sentencia “switch” :

En el “Script” : Paso 01

{:Alt+123
}:Alt+125

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 26


MANEJO Y PROGRAMACIÓN MatLab

En el “Command Window” : Paso 02

En el “Script” : Paso 01

En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 27


MANEJO Y PROGRAMACIÓN MatLab

3. Sentencia “for” :

En el “Script” : Paso 01

En el “Command Window” : Paso 02

En el “Script” : Paso 01

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 28


MANEJO Y PROGRAMACIÓN MatLab

En el “Command Window” : Paso 02

 El valor de “n” es un vector fila que va tomando en cada iteración el valor de


una de las columnas (del primer elemento al último elemento):

En el “Script” : Paso 01

En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 29


MANEJO Y PROGRAMACIÓN MatLab

 El valor de “n” es un vector fila que va tomando en cada iteración el valor de


una de las columnas (del primer elemento al último elemento):

En el “Script” : Paso 01

En el “Command Window” : Paso 02

 El valor de “n” es una matriz que va tomando en cada iteración el valor de una
de las columnas (del primer elemento al último elemento):

En el “Script” : Paso 01 En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 30


MANEJO Y PROGRAMACIÓN MatLab

A continuación se presenta los bucles anidados :

Cuando se hace el análisis del código en el “Script” , se puede apreciar que el valor
de “s” toma todos sus valores respecto a un valor de “p” , en cada iteración de “p” :

En el “Script” : Paso 01 En el “Command Window” : Paso 02

4. Sentencia “while” :

El bucle termina cuando es falso “false” la condición :

En el “Script” : Paso 01 En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 31


MANEJO Y PROGRAMACIÓN MatLab

5. Sentencia “break” : Me permite realizar un rompimiento en el bucle (for o while) .

En el “Script” : Paso 01 En el “Command Window” : Paso 02

En el “Script” : Paso 01

En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 32


MANEJO Y PROGRAMACIÓN MatLab

6. Sentencia “continue” : Me permite ejecutar la próxima iteración en el bucle (for


o while) sin ejecutarse el proceso que existe entre “continue” y el fin del bucle
“end” en dicha iteración .

En el “Script” : Paso 01

En el “Command Window” : Paso 02

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 33


MANEJO Y PROGRAMACIÓN MatLab

En el “Script” : En el “Command Window” : Paso 02


Paso 01

7. Sentencia “try…catch…end” : Se refiere a la ejecución del “proceso1” , si existe


un error en el “proceso1” , entonces la ejecución pasa al “proceso2” . Si no
existe un error en el “proceso1” , el “proceso2” no se ejecutará . Dicha sentencia
presenta el siguiente formato :

En el “Script” : Paso 01

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 34


MANEJO Y PROGRAMACIÓN MatLab

En el “Command Window” : Paso 02

Problema :

Las funciones ex, cos(x) y sin(x) , pueden ser expresadas así :

Programar el resultado de dichas funciones en función de las expresiones dadas en el


miembro derecho , para cualquier valor de “x” , donde el número de sumandos lo
indicará el usuario (a mayor número de sumandos mejor se aproximará al resultado) .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 35


MANEJO Y PROGRAMACIÓN MatLab

Problemas :

Resolver los siguientes problemas , haciendo la programación en el Script :

(Los problemas mostrados a continuación fueron presentados en el curso de


Programación Digital en la Escuela de Formación Profesional de Ingeniería Civil en el
Semestre 2009 - II , por el jefe de prácticas : César Lifonzo Salcedo)

1. Determinar si un número es múltiplo de 2, de 3, de 5 o de ninguno de ellos.

Considere que existen números que pueden ser múltiplos de más de un número.

Por ejemplo: si se Ingresa 15 debe mostrarse "El número es múltiplo de 3", "El

número es múltiplo de 5".

En el Script :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 36


MANEJO Y PROGRAMACIÓN MatLab

En el Command Window :

2. Determinar la suma de los “n” primeros términos de la siguiente serie:

En el Script :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 37


MANEJO Y PROGRAMACIÓN MatLab

En el Command Window :

3. Escribir un programa que determine si un año es bisiesto. Un año es bisiesto si es

múltiplo de 4 (por ejemplo 1984). Los años múltiplos de 100 no son bisiestos,

salvo si ellos son también múltiplos de 400 (2000 es bisiesto, pero; 1800 no lo es).

En el Script :

En el Command Window :

4. Desarrollar un programa que cuando se ingrese 3 enteros (cualquier entero desde 0


a 100), los cuales representan la puntuación de un estudiante de un curso de
Ingeniería Civil.

Calcular su promedio y visualice la medida correspondiente de acuerdo a la

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 38


MANEJO Y PROGRAMACIÓN MatLab

siguiente tabla:

En el Script :

En el Command Window :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 39


MANEJO Y PROGRAMACIÓN MatLab

*Problema Propuesto :

Realizar un programa que me permita crear una matriz de dimensión “n*m” cuyos
elementos cumplan las siguientes condiciones :

1.- El valor de los elementos de la primera fila deberá ser el número de la columna
en la que se encuentra .
2.- El valor de los elementos de la primera columna deberá ser el número de la fila
en la que se encuentran .
3.- Los demás elementos serán la suma del elemento que se encuentra en la parte
superior y la parte izquierda .

Una vez resuelta el problema anterior , usted hará lo siguiente , el programa que me
devuelva otra matriz , pero ahora que la tercera condición sea la siguiente :

Los demás elementos serán la multiplicación del elemento que se encuentra en la


parte superior y la parte izquierda .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 40


MANEJO Y PROGRAMACIÓN MatLab

PASOS PARA PROGRAMAR :

Definición de Términos :

1. Algoritmo : Es una secuencia de pasos computacionales que me permite


transformar los datos en resultados .

PROCESO

DATOS : ENTRADA RESULTADOS : SALIDA

Características del Algoritmo :

a) Ser finito : Posee un número finito de instrucciones , de igual manera la ejecución


se realiza en un tiempo finito .

b) Ser preciso : No presenta ambigüedad , es decir cada instrucción es un


mandato concreto .

c) Posee Entradas : Se refiere a los datos .

d) Posee Salidas : Se refiere a los resultados .

e) Ser efectivo : Cuando el proceso de cálculo se realiza de un modo exacto .

“A” igual que : “Instrucciones” +


False
“Finitud+Precisión+Poseer Entradas A= ¿?

+Poseer Salidas+Efectividad”

True

A= Algoritmo

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 41


MANEJO Y PROGRAMACIÓN MatLab

2. Pseudocódigo : Llamado también cuasicódigo , es la presentación de un


algoritmo en un lenguaje natural (inglés estructurado) y puede ser interpretado
por toda la comunidad en computación (sin tener en cuenta el lenguaje de
programación) ; el estilo del pseudocódigo se deriva de lenguajes tipo ALGOL ,
como por ejemplo el Pascal .

En un programa puede haber las siguientes estructuras :

Estructuras Pseudocódigo
Secuencia X=y+z

Decisión if – then - else

Repetición

Mientras while
Hacer for
Repetir-hasta repeat - until

Ejemplo de un pseudocódigo (hecho en el MatLab):

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 42


MANEJO Y PROGRAMACIÓN MatLab

3. Diagrama de Flujo : Es la presentación gráfica de un algoritmo .

Para realizar un Diagrama de Flujo se utilizan los siguientes símbolos :

Microsoft Word me permite realizar


Diagramas de Flujo (este programa presenta
estos símbolos).

Los símbolos más usados :

Utilizado para marcar el inicio y

el fin de un diagrama de flujo

Utilizado para leer datos e


imprimir resultados

Utilizado para realizar un


proceso

Utilizado para representar una


decisión simple

Utilizado para realizar


repeticiones

Utilizado para expresar la


dirección del diagrama

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 43


MANEJO Y PROGRAMACIÓN MatLab

Utilizado para expresar conexión


dentro de una misma página

Utilizado para expresar conexión


entre páginas diferentes

A continuación se muestran los pasos para programar :

1.- Se recomienda conocer lo que se va programar (problema : fenómeno de


estudio), pero no es necesario .
2.- Realizar el Diagrama de Flujo del problema . Si ya se tiene hecho el Diagrama de
Flujo , entonces no es necesario conocer el fenómeno de estudio .
3.- Elegir el software donde se realizará la programación y luego programar .
4.- Resolver manualmente el problema y comprobarlo con la ejecución del
programa hecho . Se recomienda realizar la comprobación de diferentes
problemas .

2
3
4

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 44


MANEJO Y PROGRAMACIÓN MatLab

Problemas :

1. Realizar un programa que me permita realizar la ubicación de un determinado


libro con el ingreso del código de dicho libro , de tal manera que si ingreso el
código me aparecerá un mensaje , por ejemplo :

Código : icmerl

“Ubicación : Biblioteca de la Escuela de Ingeniería Civil”

“El autor del libro es : Eduardo Raffo Leca”

“Nombre del Libro : Métodos Numéricos con MatLab”

2. Evaluar la función para cualquier valor de “x” , en caso que el usuario


ingrese como valor de “x” el número 67 , que se le muestre un mensaje : “No se
puede evaluar” . En caso de que si se pueda evaluar dicha función , entonces
calcular el factorial de la parte entera del valor absoluto de y .

Una vez calculado el factorial , asumimos que dicho resultado tome el valor de “N” .
Por último el programa calculará la suma de los “N” primeros números naturales =S.
Luego el programa me mostrará lo siguiente :

“Usted tiene que invertir la siguiente suma en dólares : S” .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 45


MANEJO Y PROGRAMACIÓN MatLab

DEDUCCIÓN DEL CÓDIGO HECHO EN EL Script :

Deducir los diferentes pasos computacionales de los siguientes códigos :

Primero :

Segundo :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 46


MANEJO Y PROGRAMACIÓN MatLab

Tercero :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 47


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 48


MANEJO Y PROGRAMACIÓN MatLab

PROBLEMAS :

1. Hacer un programa que me permita calcular el área de un polígono :

Área de una región poligonal en el plano cartesiano :

Sea A1 , A2 , A3 , ........, An coordenadas de un polígono de “n” lados cuyos vértices


nombrados en sentido antihorario, tiene como coordenadas :

, , ,........,

Entonces el área de la región poligonal “S” , es la siguiente expresión :

Obsérvese en la expresión , se repite al final el primer par ordenado .

La forma de resolver esta expresión es la siguiente:

De donde :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 49


MANEJO Y PROGRAMACIÓN MatLab

Luego el valor de la expresión estará dada por :

Por lo tanto :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 50


MANEJO Y PROGRAMACIÓN MatLab

2. Hacer un programa que me permita calcular el perímetro de un polígono :

Utilice la siguiente ayuda :

(Fuente : http://es.wikipedia.org/wiki/Coordenadas_cartesianas)

La distancia entre dos puntos cualesquiera vendrá dada por la expresión:

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 51


MANEJO Y PROGRAMACIÓN MatLab

3. Hacer un programa que me permita calcular el tercer lado de un triángulo,


conociendo dos de sus lados y el ángulo que forman dichos lados .
Es decir , el usuario ingresa las longitudes de dos lados y además ingresa el
ángulo entre dichos lados en (grados sexagesimales) , y el programa me
calculará el tercer lado :

Ayuda :

(Fuente : http://es.wikipedia.org/wiki/Teorema_del_coseno)

Dado un triángulo ABC, siendo α, β, , los ángulos, y a, b, c, los lados


respectivamente opuestos a estos ángulos entonces :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 52


MANEJO Y PROGRAMACIÓN MatLab

4. Crear un programa que me permita clasificar un triángulo , según la longitud de


sus lados y según la medida de sus ángulos interiores :

Según la longitud de sus lados :

 Equilátero
 Isósceles
 Escaleno

Según la medida de sus ángulos


interiores :

 Acutángulo
 Rectángulo
 Obtusángulo

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 53


MANEJO Y PROGRAMACIÓN MatLab

5. Crear un programa que me permita deducir “la existencia de un triángulo” , con


el ingreso de los lados :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 54


MANEJO Y PROGRAMACIÓN MatLab

6. Crear un programa llamado “POLÍGONO versión 0.000” :

Este programa me permite calcular varios datos de un polígono regular (ángulos y


lados iguales) , tales como :

 Ángulo central : 360º/n

 Ángulo interior : (180º.(n-2))/n

 Ángulo exterior : 360º/n

 Número de diagonales : (n.(n-3))/2

Nota : El usuario ingresará el número de diagonales del polígono regular .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 55


MANEJO Y PROGRAMACIÓN MatLab

¿QUÉ ES UN GUI?

Una interfaz gráfica de usuario (GUI) es una representación gráfica en una o varias
ventanas , estas presentan controles(componentes) que permiten a un usuario realizar
tareas interactivas. El usuario , de una interfaz gráfica de usuario no necesita
comprender los detalles de cómo las tareas se llevan a cabo.

Los componentes del GUI pueden incluir menús, barras de herramientas, botones,
botones de opción, cuadros de lista, y deslizadores, etc. .

Una Interfaz gráfica de usuario creada con MATLAB puede realizar cualquier tipo de
cálculo, leer y escribir archivos de datos, comunicarse con otras interfaces de usuario
gráficas y de visualización de datos como tablas o gráficos.

Las siguientes figuras ilustran una interfaz gráfica de usuario :

(Fuente: Product Help del MatLab)

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 56


MANEJO Y PROGRAMACIÓN MatLab

Pasos para crear una Interfaz Gráfica de Usuario :

File>New>GUI

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 57


MANEJO Y PROGRAMACIÓN MatLab

Luego les aparece el siguiente cuadro de diálogo “Guía de Inicio Rápido”:

Se puede apreciar dos pestañas :

 Create New GUI : Se puede apreciar 4 plantillas de guía . Hacemos click en


“Blank GUI(Default)”=Interfaz Gráfica de Usuario en blanco(por defecto).
 Open Existing GUI : Esta opción me permite abrir una Interfaz Gráfica de Usuario
existente .

Para iniciar utilizamos la primera opción , luego click en ok .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 58


MANEJO Y PROGRAMACIÓN MatLab

Aparece el siguiente cuadro de diálogo “sin título1.fig” :

Paleta de Componentes

Área de Diseño

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 59


MANEJO Y PROGRAMACIÓN MatLab

Creación de un Programa “Diseño de Canales” :

1. En un primer momento ejecutar haciendo click en “Run Figure” , de tal manera que
les permite guardar el programa (en una carpeta), luego se aprecia la ejecución
del programa , les aparece un cuadro de diálogo cuyo título toma el nombre con
que han guardado , luego cierran dicha ejecución.
2. Además les aparece el archivo *.m del programa que van a crear . En dicho
archivo realizamos el siguiente paso :

Luego el cursor les lleva a una determinada línea de programación , en ella editamos
la programación respectiva , de tal manera que cuando se ejecute el programa se
cumplirá los diferentes mandatos “al inicio”.

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 60


MANEJO Y PROGRAMACIÓN MatLab

3. Pueden ingresar diferentes componentes al interfaz :


a. Push Button
b. Edit Text
c. Estatic Text
d. Entre otros .

Cada uno de estos tienen características particulares .

4. Puede utilizar el siguiente comando en el “Push Button”

5. Descripción de los siguientes comandos :

a. get: Obtiene valores de un objeto .


b. set: Asigna valores a un parámetro de un objeto .
c. handles: Me permite manejar datos .

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 61


MANEJO Y PROGRAMACIÓN MatLab

Creación de componentes :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 62


MANEJO Y PROGRAMACIÓN MatLab

Código :

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 63


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 64


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 65


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 66


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 67


MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 68