clase 4 aplicaciones numéricas en investigación de operaciones

72
Aplicaciones Numéricas en Investigación de Operaciones 4 Prof. Gonzalo Müller [email protected] Postgrado de Investigación de Operaciones Facultad de Ingeniería Universidad Central de Venezuela

Upload: gmullerb

Post on 13-Jun-2015

588 views

Category:

Documents


2 download

DESCRIPTION

Clase 4 de Aplicaciones Numéricas en Investigación de Operaciones, Prof. Gonzalo Müller, [email protected], Facultad de Ingeniería, UCV

TRANSCRIPT

Page 1: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Aplicaciones Numéricas en Investigación de Operaciones4

Prof. Gonzalo Müller

[email protected]

Postgrado de Investigación de Operaciones

Facultad de Ingeniería

Universidad Central de Venezuela

Page 2: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Clase anterior

� Otros tipos de datos en Matlab

� Arreglo de celdas

� Estructuras

� Texto

� Archivos en Matlab

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 2

� Archivos en Matlab

� Archivos Matlab (.mat)

� Archivo de texto

� Escritura:

� save.

� dlmwrite.

Page 3: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Clase anterior

� Lectura:

� load.

� dlmread.

� Archivo de gráfico: print

� Salida en Matlab: disp

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 3

� Salida en Matlab: disp

� Entrada en Matlab: input

� Funciones

� más de un retorno: function [salida1,salida2,...] = …

� sin retorno: function nombre(parámetro1,…

Page 4: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Pasos a seguir en la resolución de un problema:

Metodología para resolución de un problema

Definición del problema

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 4

Page 5: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Pasos a seguir en la resolución de un problema:

Metodología para resolución de un problema

Definición del problema

Formulación del modelo matemático

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 5

Page 6: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Pasos a seguir en la resolución de un problema:

Metodología para resolución de un problema

Definición del problema

Formulación del modelo matemático

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 6

Desarrollo de un método numérico para resolución

Page 7: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Pasos a seguir en la resolución de un problema:

Metodología para resolución de un problema

Definición del problema

Formulación del modelo matemático

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 7

Desarrollo de un método numérico para resolución

Implementación computacional del método

Page 8: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Pasos a seguir en la resolución de un problema:

Metodología para resolución de un problema

Definición del problema

Formulación del modelo matemático

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 8

Desarrollo de un método numérico para resolución

Implementación computacional del método

Búsqueda y evaluación de la solución

Page 9: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmo

�� AlgoritmoAlgoritmo: Es el conjunto detallado de pasossecuénciales, ordenados y detallados que permitenlograr un objetivo.

� Secuenciales: Deben ser ejecutados uno detrás deotro.

� Ordenados: Ya que la posición del paso es

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 9

� Ordenados: Ya que la posición del paso esfundamental.

� Detallados: Deben estar lo suficientementedetallado para que no exista ninguna duda en supuesta en marcha.

Page 10: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmo

�� Características de un buen algoritmoCaracterísticas de un buen algoritmo:

� Finito: Siempre termina luego de la ejecución de un

número finito de pasos.

� Definido: Se obtiene el mismo resultado a partir de

los mismos datos.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 10

los mismos datos.

� Preciso: No debe contener ambigüedades, no pude

ser sujeto de interpretación.

Page 11: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmo

�� Partes de un algoritmoPartes de un algoritmo:

� Entrada: Datos necesarios para comenzar el

proceso.

� Proceso: Se realizan todas las operaciones y cálculos

necesarios con los datos de entrada.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 11

necesarios con los datos de entrada.

� Salida: Se obtiene un resultado.

Page 12: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmo

Algoritmo

xkEntrada

ProcesoAlgoritmo para

Una Solución

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 12

Algoritmo

xk+1Salida

Algoritmo para

bajar de peso

Una Mejor

Solución

Page 13: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

� Existen básicamente tres formas de representar los

algoritmos:

� Pseudo código.

� Diagramas de Flujo.

� Diagramas Rectangulares Estructurados.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 13

� Diagramas Rectangulares Estructurados.

Page 14: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

� Diagramas Rectangulares Estructurados (DRE):

Constituyen una representación gráfica de la secuencia

de pasos a realizar.

� La operaciones se escriben con símbolos

normalizados.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 14

normalizados.

� Permiten mantener el orden.

� Permiten una analogía que facilita la codificación.

� También conocidos como: Diagramas de Nassi-

Schneiderman.

Page 15: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

� Toda la secuencia de pasos se coloca dentro de un

rectángulo:

Paso 1

Paso 2

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 15

Paso 2

Paso n

Page 16: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

� En el primer bloque se debe colocar el nombre del

algoritmo.

� En el último bloque se debe colocar Fin.

Nombre

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 16

Paso 1

Paso 2

FIN

Page 17: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructuras básicas

� Todo algoritmo se construye con 3 estructuras básicas:

� Secuencial.

� Selectiva.

� Repetitiva.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 17

Page 18: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Secuencial

�� Estructura SecuencialEstructura Secuencial: Un paso se ejecuta uno detrás

de otro.

DRE

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 18

Paso 1

Paso 2

Paso n

Page 19: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Secuencial

Ejemplo: Construir el DRE para leer y sumar dos

números.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 19

Page 20: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Selectiva

�� Estructura SelectivaEstructura Selectiva: Una secuencia de pasos se

ejecuta dependiendo de una condición dada.

� También se le llama condicional.

� Dos tipos:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 20

� Dos tipos:

� Sencilla

� Doble

Page 21: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Selectiva

�� EstructuraEstructura CondicionalCondicional SencillaSencilla: Se ejecuta una

instrucción si la condición dada es verdadera.

DRE

Condición

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 21

Paso 1

...

Paso n

CondiciónV F

Page 22: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Selectiva

Ejemplo: Construir el DRE del algoritmo para

convertir un número en negativo si es positivo.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 22

Page 23: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Selectiva

�� EstructuraEstructura CondicionalCondicional DobleDoble: Se ejecutan alguna de

dos secuencias de instrucciones dependiendo de la

condición dada.

DRE

Condición

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 23

Paso 1 Paso 1’

... ...

Paso n Paso n’

CondiciónV F

Page 24: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Selectiva

Ejemplo: Construir el DRE del algoritmo para

convertir un numero según la siguiente regla: Sumar 1

si es negativo o Restar 1 de lo contrario.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 24

Page 25: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Repetitiva

�� Estructura RepetitivaEstructura Repetitiva: Una secuencia de pasos se repite en forma consecutiva dependiendo de una condición dada.

� También se le llama Bucle o Lazo.

� Cada repetición se conoce como ciclo o iteración.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 25

� Dos tipos:

� Hacer Mientras

� Se ejecuta al menos una vez la secuencia.

� Mientras

� Puede que nunca se ejecute la secuencia.

Page 26: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Repetitiva

�� EstructuraEstructura RepetitivaRepetitiva HacerHacer MientrasMientras: Una secuenciade paso se repite en forma consecutiva mientras secumpla una condición dada.

DRE

Paso 1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 26

Paso 1

Paso n

Mientras Condición

Page 27: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Repetitiva

�� Estructura Repetitiva MientrasEstructura Repetitiva Mientras: Una secuencia de paso se repite en forma consecutiva dependiendo de una condición dada.

DRE

Mientras Condición

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 27

Mientras Condición

Paso 1

...

Paso n

Page 28: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructura Repetitiva

Ejemplo: Construir el DRE del algoritmo para leer un

numero hasta que este sea no negativo.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 28

Page 29: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 29

Page 30: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 30

Page 31: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 31

∑=

=

=Nk

0k

kS

Page 32: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria Sk debe tener un

...

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 32

∑=

=

=Nk

0k

kS

k debe tener un

valor inicial de 0 k = 0

...

Page 33: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S ...

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 33

∑=

=

=Nk

0k

kS

k = 0

...

k = k + 1Se incrementa k

Page 34: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 34

∑=

=

=Nk

0k

kS

k = 0

k = k + 1

Mientras k ≤ N

Se incrementa k

desde 0 hasta N

Page 35: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 35

∑=

=

=Nk

0k

kS

k = 0

S = S + k

k = k + 1

Mientras k ≤ N

Se calcula la

Sumatoria

Page 36: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria SS = 0

Se inicializa en

la Sumatoria

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 36

∑=

=

=Nk

0k

kS

k = 0

S = S + k

k = k + 1

Mientras k ≤ N

Page 37: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

Ejemplo: Construir un algoritmo que sume los

primeros N números enteros:

� Entrada: N

� Salida: Sumatoria SSumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 37

∑=

=

=Nk

0k

kS

k = 0

S = S + k

k = k + 1

Mientras k ≤ N

FIN

Formalidad

Page 38: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Representación de un algoritmo

DRE de funciones:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 38

Page 39: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructuras Básicas de Programación

�� EstructuraEstructura CondicionalCondicional SencillaSencilla:

DRE MATLAB

if Condición

Paso 1

CondiciónV

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 39

Paso 1

Paso N

end

Paso 1

...

Paso n

Page 40: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructuras Básicas de Programación

�� EstructuraEstructura CondicionalCondicional DobleDoble:

DRE MATLAB

if Condición

Paso 1

…Condición

V F

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 40

Paso N

else

Paso 1’

Paso N’

end

Paso 1 Paso 1’

... ...

Paso n Paso n’

Page 41: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Estructuras Básicas de Programación

�� EstructuraEstructura RepetitivaRepetitiva MientrasMientras:

DRE MATLAB

while Condición

Paso 1

Mientras Condición

Paso 1

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 41

Paso 1

Paso N

end

Matlab no dispone de la estructura Hacer Mientras

Paso 1

...

Paso n

Page 42: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Expresiones Lógicas

� Las condiciones de las estructuras selectivas y

repetitivas constituyen expresiones lógicas que se

evalúan en:

� Verdadero

� FalsoCondición

Expresiones Lógicas

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 42

� Falso

Paso 1 Paso 1’

... ...

Paso n Paso n’

CondiciónV FMientras Condición

Paso 1

...

Paso n

Page 43: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Expresiones Lógicas

� Las expresiones lógicas se construyen con:

� Operadores relacionales.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 43

� Operadores lógicos.

Page 44: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Expresiones Lógicas

�� Operadores RelaciónalesOperadores Relaciónales: Establece la relación entre

dos valores numéricos.

�Mayor que: >

�Menor que: <

� Igual que: ==

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 44

� Igual que: ==

�Mayor o igual que: >=

�Menor o igual que: <=

� Distinto que: ~=

Variable, Constante ó Expresión matemática operador Variable, Constante ó Expresión matemática

Page 45: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Operadores Lógicos

� Operadores Lógicos: Se utilizan para combinar

expresiones lógicas.

� Y: &&

� O: ||Expresión lógica operador Expresión lógica

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 45

Expresión lógica operador Expresión lógica

� Negación: ~

Page 46: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Operadores Lógicos

� Operadores Lógicos: Se utilizan para combinar

expresiones lógicas.

� Y: &&

� O: ||Expresión lógica operador Expresión lógica

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 46

Expresión lógica operador Expresión lógica

(A == 5)&&(B > 0)

� Negación: ~

Page 47: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Operadores Lógicos

� Operadores Lógicos: Se utilizan para combinar

expresiones lógicas.

� Y: &&

� O: ||Expresión lógica operador Expresión lógica

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 47

Expresión lógica operador Expresión lógica

(A ~= 5)||(B <= 0)

� Negación: ~

Siempre utilice paréntesis para garantizar

el orden de evaluación de las expresiones

Page 48: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 48

Page 49: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 49

∑=

=

=Nk

0k

kS

Page 50: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria SSumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 50

∑=

=

=Nk

0k

kSk = 0

S = S + k

k = k + 1

Mientras k ≤ N

FIN

Hacer Mientras

no esta definida

en Matlab

Page 51: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria SSumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 51

∑=

=

=Nk

0k

kSk = 0

Mientras k ≤ N

S = S + k

k = k + 1

FIN

Page 52: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria SSumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 52

∑=

=

=Nk

0k

kSk = 0

Mientras k ≤ N

S = S + k

k = k + 1

FIN

Estructura

repetitiva

while

Page 53: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

k = 0;

Sumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 53

k = 0;

S=0;

while k <= N

S = S + k;

k = k + 1;

end

k = 0

Mientras k ≤ N

S = S + k

k = k + 1

FIN

Page 54: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Algoritmos en Matlab

Ejemplo: Construir una función en Matlab que sume

los primeros N números enteros:

� Entrada: N

� Salida: Sumatoria S

k = 0;

Sumatoria

S = 0

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 54

k = 0;

S=0;

while k <= N

S = S + k;

k = k + 1;

end

k = 0

Mientras k ≤ N

S = S + k

k = k + 1

FIN

Page 55: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir una función en Matlab para resolver:

∏=

=

=nk

1k

ar

� Sin utilizar las funciones de Matlab

Page 56: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir una función en Matlab para resolver:

∏=

=

=nk

1k

kr

� Sin utilizar las funciones de Matlab

Page 57: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir un función en Matlab que retorne los

valores de w y z:

∏=

=

=nk

1k

aw

� Sin utilizar las funciones de Matlab

∏=

=

=nk

1k

kz

Page 58: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Scripts

� Matlab ofrece la posibilidad de construir archivos de

script donde se ejecuta toda una secuencia de

sentencias.

� No recibe parámetros: Este archivo no recibe

parámetros de entrada ni genera un valor de salida.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 58

parámetros de entrada ni genera un valor de salida.

Page 59: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Scripts

� Matlab ofrece la posibilidad de construir archivos de

script donde se ejecuta toda una secuencia de

sentencias.

� No recibe parámetros: Este archivo no recibe

parámetros de entrada ni genera un valor de salida.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 59

parámetros de entrada ni genera un valor de salida.

� Data en memoria: El script puede operar con data

que se encuentre en memoria, data definida

previamente a la ejecución del script.

Page 60: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Scripts

� Matlab ofrece la posibilidad de construir archivos de

script donde se ejecuta toda una secuencia de

sentencias.

� No recibe parámetros: Este archivo no recibe

parámetros de entrada ni genera un valor de salida.

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 60

parámetros de entrada ni genera un valor de salida.

� Data en memoria: El script puede operar con data

que se encuentre en memoria, data definida

previamente a la ejecución del script.

� Nueva data: si se define nueva data esta permanece

en la memoria de Matlab una vez terminado el

script.

Page 61: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Scripts

� Estructura del archivo de script:

SECUENCIA DE SENTENCIAS

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 61

SECUENCIA DE SENTENCIAS

nombre.m

El carácter % permite colocar comentarios en el código de la función

Page 62: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir un script en Matlab para resolver:

∏=

=

=nk

1k

aw

� Sin utilizar las funciones de Matlab.

� Sin input y sin disp.

∏=

=

=nk

1k

kz

Page 63: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir un script en Matlab para resolver:

∏=

=

=nk

1k

aw

� Sin utilizar las funciones de Matlab.

� Sin input y sin disp.

∏=

=

=nk

1k

kz

Data en memoria!

Page 64: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir un script en Matlab para resolver:

∏=

=

=nk

1k

aw

� Sin utilizar las funciones de Matlab.

� Con input y con disp.

∏=

=

=nk

1k

kz

Page 65: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Tips de eficiencia

� Inicialización:

x=0;

k=1;

while k <= 100

k = k + 1;

x = x + 0.5;

x=0;

k=1;

y = zeros(100,1)

while k <= 100

k = k + 1;

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 65

nombre.m

x = x + 0.5;

y(k) = x^2;

end

k = k + 1;

x = x + 0.5;

y(k) = x^2;

end

Page 66: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Tips de eficiencia

� Vectorización:

x=0;

k=1;

while k <= 100

k = k + 1;

x = x + 0.5;

x=0:0.5:50;

y = x.^2;

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 66

nombre.m

x = x + 0.5;

y(k) = x^2;

end

y = x.^2;

Page 67: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Tips

� Liberación: En la funciones y scripts liberar aquellas

variables que no son necesarias al finalizar:

x=0;

k=1;

while k <= 100

x=0;

k=1;

while k <= 100

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 67

nombre.m

k = k + 1;

x = x + 0.5;

y(k) = x^2;

end

k = k + 1;

x = x + 0.5;

y(k) = x^2;

end

clear x

clear k

Page 68: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Tips

� Opción dummy: Si es necesario utilizar una variable

auxiliar para almacenar resultados temporales del

algoritmo la variable predefinida por Matlab ans es

una excelente opción.

k=1; k=1;

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 68

nombre.m

k=1;

while k <= 100

k = k + 1;

x = k * 0.5;

y(k) = x^2;

end

k=1;

while k <= 100

k = k + 1;

k * 0.5;

y(k) = ans^2;

end

Page 69: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

� Construir un script en Matlab que dado vector de

entrada que se encuentra en un archivo:

� Calculé el máximo, el mínimo y la media aritmética.

� Realice una gráfica lineal.

�Marque con círculos el máximo y el mínimo

hold permite acumular

gráficos en una sola imagen

�Marque con círculos el máximo y el mínimo

� Trace un línea horizontal en la media.

� Almacene la gráfica en un archivo de nombre dado.

� Almacene los resultados en un archivo de texto.

� Colocar textos sobre el progreso de las operaciones.

� Sin utilizar las funciones matemáticas de Matlab.

Page 70: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Resumen

� Metodología para resolución de un problema

� Algoritmo

� Partes de un algoritmo:

� Entrada

� Proceso

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 70

� Proceso

� Salida

� Diagramas Rectangulares Estructurados

Page 71: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Resumen

� Estructuras básicas

� Secuencial.

� Selectiva.

� Sencilla

� Doble

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 71

� Doble

� Repetitiva.

� Hacer Mientras

� Mientras

Page 72: Clase 4 Aplicaciones Numéricas en Investigación de Operaciones

Resumen

� Estructuras básicas en Matlab:

� if … end

� if … else … end

� while … end

� Expresiones Lógicas

Aplicaciones Numéricas en Investigación de Operaciones – Prof. Gonzalo Müller – Clase 4 – GM – 72

� Expresiones Lógicas

� Operadores Relaciónales: <, >, ==, <=, >=, ~=

� Operadores Lógicos: &, | , ~

� Scripts

� Tips de eficiencia: Inicialización, Vectorización,

Liberación, Opción dummy.