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 .
[Link]
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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@[Link] 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@[Link] 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@[Link] 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=([Link])
Vector Fila con un incremento de 2
h= haciendo uso de paréntesis
0 2 4 6 8 10
>> h=[Link]
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@[Link] 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@[Link] 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=[Link]
h=
Ubicación de un elemento en un vector fila
0 2 4 6 8 10
>> h(3)
ans =
Operaciones con Matrices :
>> Y=[Link]
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@[Link] 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@[Link] 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@[Link] 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@[Link] 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 : [Link]
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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 : [Link]
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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 38
MANEJO Y PROGRAMACIÓN MatLab
siguiente tabla:
En el Script :
En el Command Window :
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 46
MANEJO Y PROGRAMACIÓN MatLab
Tercero :
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 47
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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@[Link] 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@[Link] 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 : [Link]
La distancia entre dos puntos cualesquiera vendrá dada por la expresión:
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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 : [Link]
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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 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@[Link] 58
MANEJO Y PROGRAMACIÓN MatLab
Aparece el siguiente cuadro de diálogo “sin tí[Link]” :
Paleta de Componentes
Área de Diseño
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 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@[Link] 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@[Link] 61
MANEJO Y PROGRAMACIÓN MatLab
Creación de componentes :
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 62
MANEJO Y PROGRAMACIÓN MatLab
Código :
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 63
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 64
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 65
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 66
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 67
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio mfnantonio_17@[Link] 68