Manejo y Programación MATLAB R2010a

Preview:

Citation preview

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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 39

siguiente tabla:

En el Script :

En el Command Window :

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 47

Tercero :

MANEJO Y PROGRAMACIÓN MatLab

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

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 50

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

Por lo tanto :

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 57

Pasos para crear una Interfaz Gráfica de Usuario :

File>New>GUI

MANEJO Y PROGRAMACIÓN MatLab

Macizo Fernández , Neil Antonio mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 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 mfnantonio_17@hotmail.com 62

Creación de componentes :

MANEJO Y PROGRAMACIÓN MatLab

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

Código :

MANEJO Y PROGRAMACIÓN MatLab

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

MANEJO Y PROGRAMACIÓN MatLab

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

MANEJO Y PROGRAMACIÓN MatLab

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

MANEJO Y PROGRAMACIÓN MatLab

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

MANEJO Y PROGRAMACIÓN MatLab

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

Recommended