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”
2010
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 :
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
Primera opción : Instalar con el
uso del Internet
Segunda opción : Instalar sin el
uso del Internet
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 >”.
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 >” .
“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”
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 >” .
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 >” .
Activar automáticamente
usando el Internet Activar manualmente sin el
Internet
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
Macizo Fernández , Neil Antonio [email protected] 1
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/
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 2
Entorno del Programa :
* 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 :
Barra de Título
Barra de Menús
Barra de Herramientas Estándar
Carpeta actual
Prompt * Ventana de Comandos
Barra de Tareas
Historial de Comandos
Espacio de Trabajo
Filas
Columnas
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 3
Matriz de orden 3X2 :
Ejemplos haciendo uso del MatLab :
>> [2 3 4 5;6 7 8 6]
ans =
2 3 4 5
6 7 8 6
>> [2,3,4,5;6,7,8,6]
ans =
2 3 4 5
6 7 8 6
>> A=[3,4,6;2,3,4]
A =
3 4 6
2 3 4
>> F=[5,6,8;3,4,6];
Filas
Columnas
Alt+91 Alt+93
Ingreso de una matriz con el uso de espacios
Ingreso de una matriz con el uso de comas
A una matriz se le puede dar un “nombre” y
así poder usarlo en el cálculo
Con el uso del punto y coma “;” no me muestra la
matriz , pero si lo almacena para el cálculo posterior
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 4
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
86 93 25 2 9 61 68 75 52 34
17 24 76 83 90 42 49 26 33 65
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
0 0 1 0 0
0 0 0 1 0
0 0 0 0 1
>> d=[3 6 7 8]
d =
3 6 7 8
Vector Fila haciendo uso de espacios
Matriz Identidad de Orden 5
Matriz Mágica de orden 10 , se
obtiene cantidades iguales al sumar
los elementos de cada fila , de cada
columna e incluso de cada diagonal
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 5
>> d=[3,6,7,8]
d =
3 6 7 8
>> d=[3;6;7;8]
d =
3
6
7
8
>> h=(1:10)
h =
1 2 3 4 5 6 7 8 9 10
>> h=[1:10]
h =
1 2 3 4 5 6 7 8 9 10
>> h=(0:2:10)
h =
0 2 4 6 8 10
>> h=[0:2:10]
h =
0 2 4 6 8 10
Vector Fila con un incremento de 1
haciendo uso de paréntesis
Vector Columna
Vector Fila haciendo uso de comas
Vector Fila con un incremento de 1
haciendo uso de corchetes
Vector Fila con un incremento de 2
haciendo uso de paréntesis
Vector Fila con un incremento de 2
haciendo uso de corchetes
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 6
>> PERU=ones(5)
PERU =
1 1 1 1 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
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
0 5 0 0 0
0 0 7 0 0
0 0 0 9 0
0 0 0 0 8
Matriz diagonal
Matriz de orden 7 , donde cada elemento es cero
Matriz de orden 5 , donde cada elemento es 1
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 7
>> h=[5,6,7;3,4,78]
h =
5 6 7
3 4 78
>> h(2,1)
ans =
3
>> h=[0:2:10]
h =
0 2 4 6 8 10
>> h(3)
ans =
4
Operaciones con Matrices :
>> Y=[0:1:5]
Y =
0 1 2 3 4 5
>> cos(Y)
ans =
1.0000 0.5403 -0.4161 -0.9900 -0.6536 0.2837
Operación Trigonométrica “coseno”.
Generalmente los programas como el MatLab ,
el Visual Basic , etc. trabajan por defecto en el
sistema circular (radian)
Ubicación de un elemento en un vector fila
Ubicación de un elemento en la matriz
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 8
>> a=[1,-2;0,3;0,1]
a =
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 =
0 + 1.0000i
La Unidad Imaginaria “i”=
Producto de Matrices
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 9
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.
De igual manera se puede realizar con otros comandos como el “clear” (me
permite borrar las variables) .
Comando “clc” , me permite limpiar
la Ventana de Comandos
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 10
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 11
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)
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 12
MatLab es un lenguaje del cálculo técnico :
Derivada Parcial : Resolver :
Integral Definida : Resolver :
Apóstrofo : Alt+39
Potencia : Alt+94
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 13
El MatLab se puede usar como una calculadora :
Help : Proporciona una lista de todos los tópicos que MatLab puede proporcionar
ayuda .
Variable “ans” creada por defecto ,
se almacena en el “Wokspace”
Temas de Ayuda (un caso general)
Tema de Ayuda (un caso específico)
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 14
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 15
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 16
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 17
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…
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 18
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 19
sort(x,'descend') Ordena el vector de mayor a menor
Funciones que actúan sobre Matrices :
Traspuesta o transpuesta de una matriz :
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 :
Traspuesta : (apóstrofo=Alt+39)
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 20
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 21
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 22
La función “plot” permite dibujar múltiples curvas introduciendo varias parejas de
vectores :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 23
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 24
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” :
En el “Script” : En el “Command Window” :
Paso 01
Paso 02 Paso 03
Paso 01 Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 25
En el “Script” : En el “Command Window” :
En el “Script” : En el “Command Window” :
En el “Script” :
Paso 01 Paso 02
Paso 01 Paso 02
Paso 01
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 26
En el “Command Window” :
2. Sentencia “switch” :
En el “Script” :
Paso 02
Paso 01
{:Alt+123
}:Alt+125
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 27
En el “Command Window” :
En el “Script” :
En el “Command Window” :
Paso 02
Paso 01
Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 28
3. Sentencia “for” :
En el “Script” :
En el “Command Window” :
En el “Script” :
Paso 01
Paso 02
Paso 01
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 29
En el “Command Window” :
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” :
En el “Command Window” :
Paso 02
Paso 01
Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 30
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” :
En el “Command Window” :
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” : En el “Command Window” :
Paso 01
Paso 02
Paso 01 Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 31
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” : En el “Command Window” :
4. Sentencia “while” :
El bucle termina cuando es falso “false” la condición :
En el “Script” : En el “Command Window” :
Paso 01 Paso 02
Paso 01 Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 32
5. Sentencia “break” : Me permite realizar un rompimiento en el bucle (for o while) .
En el “Script” : En el “Command Window” :
En el “Script” :
En el “Command Window” :
Paso 01 Paso 02
Paso 01
Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 33
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” :
En el “Command Window” :
Paso 01
Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 34
En el “Script” : En el “Command Window” :
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 Paso 02
Paso 01
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 35
En el “Command Window” :
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) .
Paso 02
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 36
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 :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 37
En el Command Window :
2. Determinar la suma de los “n” primeros términos de la siguiente serie:
En el Script :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 38
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 39
siguiente tabla:
En el Script :
En el Command Window :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 40
*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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 41
PASOS PARA PROGRAMAR :
Definición de Términos :
1. Algoritmo : Es una secuencia de pasos computacionales que me permite
transformar los datos en resultados .
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 .
DATOS : ENTRADA RESULTADOS : SALIDA
PROCESO
“A” igual que : “Instrucciones” +
“Finitud+Precisión+Poseer Entradas
+Poseer Salidas+Efectividad”
”
A= Algoritmo
True
False
A= ¿?
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 42
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):
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 43
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 :
Los símbolos más usados :
Microsoft Word me permite realizar
Diagramas de Flujo (este programa presenta
estos símbolos).
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 realizar repeticiones
Utilizado para expresar la dirección del diagrama
Utilizado para representar una decisión simple
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 44
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 .
Utilizado para expresar conexión dentro de una misma página
Utilizado para expresar conexión entre páginas diferentes
1
2
3 4
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 45
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” .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 46
DEDUCCIÓN DEL CÓDIGO HECHO EN EL Script :
Deducir los diferentes pasos computacionales de los siguientes códigos :
Primero :
Segundo :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 48
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 49
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 :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 50
Luego el valor de la expresión estará dada por :
Por lo tanto :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 51
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:
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 52
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 :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 53
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
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 54
5. Crear un programa que me permita deducir “la existencia de un triángulo” , con
el ingreso de los lados :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 55
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 56
¿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)
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 57
Pasos para crear una Interfaz Gráfica de Usuario :
File>New>GUI
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 58
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 59
Aparece el siguiente cuadro de diálogo “sin título1.fig” :
Paleta de Componentes
Área de Diseño
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 60
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”.
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 61
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 .
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 62
Creación de componentes :
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 64
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 65
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 66
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 67
MANEJO Y PROGRAMACIÓN MatLab
Macizo Fernández , Neil Antonio [email protected] 68
Top Related