Manejo y Programación MATLAB R2010a.pdf

76
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 Piaget2010 Macizo Fernández , Neil Antonio MAC 08/10/2010

Transcript of Manejo y Programación MATLAB R2010a.pdf

Page 1: Manejo y Programación MATLAB R2010a.pdf

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

Page 2: Manejo y Programación MATLAB R2010a.pdf

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

Page 3: Manejo y Programación MATLAB R2010a.pdf

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”

Page 4: Manejo y Programación MATLAB R2010a.pdf

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” .

Page 5: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 6: Manejo y Programación MATLAB R2010a.pdf

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 > ”.

Page 7: Manejo y Programación MATLAB R2010a.pdf

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

Page 8: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 9: Manejo y Programación MATLAB R2010a.pdf

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/

Page 10: Manejo y Programación MATLAB R2010a.pdf

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

Page 11: Manejo y Programación MATLAB R2010a.pdf

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

Page 12: Manejo y Programación MATLAB R2010a.pdf

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

Page 13: Manejo y Programación MATLAB R2010a.pdf

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

Page 14: Manejo y Programación MATLAB R2010a.pdf

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

Page 15: Manejo y Programación MATLAB R2010a.pdf

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

Page 16: Manejo y Programación MATLAB R2010a.pdf

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

Page 17: Manejo y Programación MATLAB R2010a.pdf

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

Page 18: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 19: Manejo y Programación MATLAB R2010a.pdf

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)

Page 20: Manejo y Programación MATLAB R2010a.pdf

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

Page 21: Manejo y Programación MATLAB R2010a.pdf

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)

Page 22: Manejo y Programación MATLAB R2010a.pdf

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

Page 23: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 24: Manejo y Programación MATLAB R2010a.pdf

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

Page 25: Manejo y Programación MATLAB R2010a.pdf

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…

Page 26: Manejo y Programación MATLAB R2010a.pdf

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

Page 27: Manejo y Programación MATLAB R2010a.pdf

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)

Page 28: Manejo y Programación MATLAB R2010a.pdf

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

Page 29: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 30: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 31: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 32: Manejo y Programación MATLAB R2010a.pdf

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

Page 33: Manejo y Programación MATLAB R2010a.pdf

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

Page 34: Manejo y Programación MATLAB R2010a.pdf

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

Page 35: Manejo y Programación MATLAB R2010a.pdf

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

Page 36: Manejo y Programación MATLAB R2010a.pdf

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

Page 37: Manejo y Programación MATLAB R2010a.pdf

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

Page 38: Manejo y Programación MATLAB R2010a.pdf

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

Page 39: Manejo y Programación MATLAB R2010a.pdf

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

Page 40: Manejo y Programación MATLAB R2010a.pdf

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

Page 41: Manejo y Programación MATLAB R2010a.pdf

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

Page 42: Manejo y Programación MATLAB R2010a.pdf

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

Page 43: Manejo y Programación MATLAB R2010a.pdf

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

Page 44: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 45: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 46: Manejo y Programación MATLAB R2010a.pdf

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

Page 47: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 39

siguiente tabla:

En el Script :

En el Command Window :

Page 48: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 49: Manejo y Programación MATLAB R2010a.pdf

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= ¿?

Page 50: Manejo y Programación MATLAB R2010a.pdf

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):

Page 51: Manejo y Programación MATLAB R2010a.pdf

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

Page 52: Manejo y Programación MATLAB R2010a.pdf

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

Page 53: Manejo y Programación MATLAB R2010a.pdf

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” .

Page 54: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 55: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 47

Tercero :

Page 56: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 48

Page 57: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 58: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 59: Manejo y Programación MATLAB R2010a.pdf

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:

Page 60: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 61: Manejo y Programación MATLAB R2010a.pdf

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

Page 62: Manejo y Programación MATLAB R2010a.pdf

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 :

Page 63: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 64: Manejo y Programación MATLAB R2010a.pdf

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)

Page 65: Manejo y Programación MATLAB R2010a.pdf

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

Page 66: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 67: Manejo y Programación MATLAB R2010a.pdf

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

Page 68: Manejo y Programación MATLAB R2010a.pdf

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”.

Page 69: Manejo y Programación MATLAB R2010a.pdf

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 .

Page 70: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 62

Creación de componentes :

Page 71: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 63

Código :

Page 72: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 64

Page 73: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 65

Page 74: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 66

Page 75: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 67

Page 76: Manejo y Programación MATLAB R2010a.pdf

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio [email protected] 68