Вы находитесь на странице: 1из 45

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ

FACULTAD DE CIENCIAS Y TECNOLOGÍA

MÉTODOS NUMÉTICOS

GUÍAS DE LABORATORIO

Jacqueline Quintero Ruiz

2018
Índice general

Índice general I

Índice de figuras V

Índice de tablas VII

Introducción 1

1. Regresión Lineal 3
1.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.4.1. Ajuste de una línea recta por medio de mínimos cuadrados . . . 4
1.4.2. Algoritmo para implementación de regresión lineal . . . . . . . 4
1.5. Procedimiento experimental . . . . . . . . . . . . . . . . . . . . . . . 5
1.5.1. Curva de Tendencia de Excel . . . . . . . . . . . . . . . . . . . 5
1.5.2. Cálculo de la curva de tendencia en Matlab (Scilab) . . . . . . . 5
1.6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2. Regresión Lineal para Relaciones no Lineales 9


2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.3. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.4.1. Linealización de relaciones no lineales . . . . . . . . . . . . . . 10
2.4.1.1. Ecuación exponencial . . . . . . . . . . . . . . . . . 10
2.4.1.2. Ecuación de potencias . . . . . . . . . . . . . . . . . 10
2.4.2. Ecuación de razón de crecimiento . . . . . . . . . . . . . . . . 11
2.5. Procedimiento experimental . . . . . . . . . . . . . . . . . . . . . . . 11
2.5.1. Algoritmo para calcular la aproximación exponencial . . . . . . 11
2.5.2. Algoritmo para calcular la aproximación potencial . . . . . . . 12

I
II ÍNDICE GENERAL

2.5.3. Algoritmo para calcular la aproximación a la ecuación de razón


de crecimiento . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.5.4. Pruebe sus algoritmos . . . . . . . . . . . . . . . . . . . . . . 13
2.6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3. Polinomios de Interpolación de Lagrange 15


3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.3. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4. Marco Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.4.1. Polinomio de Interpolación de Lagrange . . . . . . . . . . . . . 16
3.5. Procedimiento experimental . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.1. Implementación del Algoritmo . . . . . . . . . . . . . . . . . . 17
3.5.2. Prueba del Algoritmo . . . . . . . . . . . . . . . . . . . . . . . 17
3.5.3. Comando de Matlab para Interpolación . . . . . . . . . . . . . 18
3.6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

4. Método de Bisección 19
4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.4. Fundamento Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4.1. Método de Bisección . . . . . . . . . . . . . . . . . . . . . . . 20
4.4.2. Herramientas de Matlab y Scilab . . . . . . . . . . . . . . . . . 20
4.4.3. ¿Cómo enviar la función al programa de bisección que se va a
implementar? . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.4. Otros comandos de Matlab y Scilab . . . . . . . . . . . . . . . 21
4.4.4.1. Comando disp . . . . . . . . . . . . . . . . . . . . . 21
4.4.4.2. return . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.4.4.3. Valor absoluto, abs . . . . . . . . . . . . . . . . . . . 22
4.5. Procedimiento experimental . . . . . . . . . . . . . . . . . . . . . . . 22
4.5.1. Pruebe su algoritmo . . . . . . . . . . . . . . . . . . . . . . . 23
4.6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5. El Método de la Secante 25
5.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.2. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.3. Materiales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5.4. Fundamento Teórico . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.4.1. Método de Secante . . . . . . . . . . . . . . . . . . . . . . . . 26
ÍNDICE GENERAL III

5.5. Procedimiento experimental . . . . . . . . . . . . . . . . . . . . . . . 26


5.6. Resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.7. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

A. Fundamentos de Matlab 29
A.1. Variables y Arreglos en Matlab . . . . . . . . . . . . . . . . . . . . . . 29
A.1.1. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
A.1.2. Arreglos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
A.1.2.1. Vectores . . . . . . . . . . . . . . . . . . . . . . . . 29
A.1.2.2. Matrices . . . . . . . . . . . . . . . . . . . . . . . . 30
A.1.2.3. Accediendo a los elementos de una matriz . . . . . . 30
A.2. Operaciones Matemáticas . . . . . . . . . . . . . . . . . . . . . . . . . 30
A.3. Algunas funciones de Matlab . . . . . . . . . . . . . . . . . . . . . . . 30
A.4. ¿Cómo crear una función anónima en Matlab? . . . . . . . . . . . . . . 31
A.5. ¿Cómo programar en Matlab? . . . . . . . . . . . . . . . . . . . . . . 32
A.5.1. Operadores lógicos y relacionales . . . . . . . . . . . . . . . . 33
A.5.2. Estructuras de control . . . . . . . . . . . . . . . . . . . . . . 33
A.5.2.1. condicionales if, else, elseif . . . . . . . . . . . . . . 33
A.5.2.2. Estructura for . . . . . . . . . . . . . . . . . . . . . 34
A.5.2.3. Estructura while . . . . . . . . . . . . . . . . . . . . 34

Referencias 35
Índice de figuras

3.1. Seudocódigo para la interpolación de Lagrange . . . . . . . . . . . . . 17

4.1. Algoritmo para el calculo de una raíz por el método de bisección . . . . 20

5.1. Método de la Secante . . . . . . . . . . . . . . . . . . . . . . . . . . . 26


5.2. Algoritmo para el cálculo de la raíz por el método de la secante . . . . . 27

V
Índice de tablas

A.1. Operadores aritméticos básicos . . . . . . . . . . . . . . . . . . . . . . 31

VII
Inroducción

Los métodos numéricos son técnicas mediante las cuales es posible reducir las ma-
temáticas superiores a operaciones aritméticas básicas. Esto hace de los métodos numé-
ricos una herramienta poderosa para la solución de problemas comunes a la Ingeniería.
A pesar de tratarse de operaciones aritméticas básicas, se deben hacer repetidas veces,
por lo que se hace tedioso realizar estas operaciones a mano, lo mejor es programarlas
para que sea el ordenador quien las realice.
En este documento se recopila una pequeña cantidad de guías de laboratorio, como
un primer intento por realizar un manual apropiado para el estudiante, como siempre
tratando de incluir un resumen de los fundamentos teóricos necesarios para el desarrollo
de la experiencia, y siendo más explicativos en los pasos a seguir en los primeros labo-
ratorios, mientras el estudiante se familiariza con las herramientas y procedimientos.
Para implementar los diferentes algoritmos vistos en el aula, se utiliza el software
Matlab, o en su ausencia Scilab u octave,siendo estos últimos softwares libres; en cual-
quiera de los software mencionados se puede programar con un lenguaje amigable y
fácil de entender; sin embargo, se debe tener cuidado de que el estudiante implemente
los algoritmos solo con operaciones matemáticas simples y no utilizando las funciones
propias del programa para los cálculos numéricos. Además de las experiencias guiadas,
es importante que se realicen algunos ejercicios, sin guía alguna, para comprobar que
el estudiante realmente comprenda los procedimientos indicados con anterioridad.
El orden en que se presenta las experiencias es en el orden del contenido del curso,
escogiendo algunos de los métodos más significativos de cada caso. Se espera en un
futuro lograr un manual completo de laboratorio como herramienta de apoyo al estu-
diante.

1
Laboratorio 1

Regresión Lineal

1.1. Introducción
Los métodos de regresión pretenden ajustar una serie de datos a una curva, o función
de aproximación, que represente la tendencia general de los datos, coincida o no con
alguno de sus puntos. El método busca minimizar la discrepancia entre los puntos y la
curva.
En este laboratorio aplicaremos el método de mínimos cuadrados a la regresión
lineal, o sea cuando la función de aproximación es una línea recta. Ustedes, en sus
cursos de Física, por ejemplo, han tenido que ajustar los datos experimentales a una
línea recta. Tal vez, inicialmente, esto lo hacían al ojo, haciendo pasar la recta por los
puntos centrales y tratando de dejar la misma cantidad de puntos por arriba y abajo
de la recta. Más tarde se utilizó, la herramienta que tiene excel para ello, la curva de
tendencia (lineal). Actualmente, en el curso de métodos numéricos ustedes aprenden un
procedimiento para obtener esta línea de tendencia; recordaremos en este laboratorio
en qué consiste el método de regresión lineal y cómo éste se implementa en Matlab. La
curva de tendencia en excel se utilizará para validar nuestro modelo.

1.2. Objetivos
Ajustar una función lineal a un conjunto de datos.

Implementar el método de regresión lineal mediante una rutina en Matlab (Scilab


u Octave).

Evaluar los resultados al compararlos con la curva de tendencia lineal que sumi-
nistra excel.

3
4 LABORATORIO 1. REGRESIÓN LINEAL

1.3. Materiales
Computadora con software Excel y Matlab instalados.

Papel y lápiz

1.4. Marco Teórico


1.4.1. Ajuste de una línea recta por medio de mínimos cuadrados
Sea un conjunto de n datos: (x1 , y1 ), (x2 , y2 ), (x3 , y3 )...(xn , yn ), los cuales se ajustan
a la línea recta:

y = ax + b (1.1)
Los valores de a y b para el modelo lineal 1.1, deben ser tal que minimicen la suma
de los cuadrados de los residuos entre la y medida y la y la calculada:
n
X n
X
2
Sr = (yi,medida − yi,modelo ) = (yi,medida − axi − b)2 (1.2)
i=1 i=1

Los valores de a y b que minimizan esta expresión se obtienen con las ecuaciones
(Chapra y Canale, 2011) :

P P P
nxi yi − xi yi
a = (1.3)
n x2i − ( xi )2
P P

b = y − ax (1.4)

1.4.2. Algoritmo para implementación de regresión lineal


Su libro de texto (Chapra y Canale, 2011), y la mayoría de libros de métodos numé-
ricos, incluyen un algoritmo para la regresión lineal, pueden haber algunas diferencias
de acuerdo al lenguaje de programación empleado, pero el procedimiento a seguir es
básicamente el mismo.
Antes que todo debe reconocer los datos que debe suministrar al programa para
que ejecute la regresión, y cuáles son las respuestas que espera obtener de él. Para un
problema de regresión lineal dado un conjunto de datos (x,y):

Datos de entrada: conjunto de valores (xi , yi ).

Variables de salida: coeficientes a y b del modelo lineal.

A continuación el algoritmo:
1.5. PROCEDIMIENTO EXPERIMENTAL 5

Se determina el número de pares de datos suministrados.

Se crean las variables necesarias para guardar la sumatoria de x, y, xy y x2 . Todas


ellas deben tener un valor inicial de cero.

Se utiliza un ciclo for desde 1 hasta el número de pares de datos, y en cada


iteración:

• Se actualizan las variables, por ejemplo si sumx, es la variable que guarda la


sumatoria de x. Usted en cada iteración debe calcular: sumx = sumx+x(i).
• Seguir un procedimiento similar para cada una de las variables, respetando
el cálculo que le corresponden, y los datos que deben utilizarse.

Al final del ciclo for se han obtenido todas las sumatorias necesarias. Se procede
a realizar las operaciones matemáticas para calcular a y b.

1.5. Procedimiento experimental


Para la parte experimental se utilizará el siguiente conjunto de datos:

x 1 2 3 4 5 6 7 8 9
y 1 1,5 2 3 4 5 8 10 13

1.5.1. Curva de Tendencia de Excel


Ingrese los datos suministrados a las celdas de excel.

Seleccione los datos e inserte un gráfico de dispersion.

Agregue una línea de tendencia lineal, y seleccione presentar ecuación. Esta ecua-
ción le permitirá evaluar su implementación.

1.5.2. Cálculo de la curva de tendencia en Matlab (Scilab)


Como quizás esta sea su primera vez utilizando Matlab, se le guiará en la implemen-
tación del algoritmo señalado en la sección 1.4.2, para una explicación más detallada
de las herramientas de Matlab refiérase a los apéndices que se incluyen en el manual, o
utilice el help de Matlab.

Abra un nuevo script (SciNotes).

Construya una función en Matlab (Scilab), a la cual se le suministre una matriz de


datos A m × 2, siendo m el número total de datos, con cada fila conteniendo cada
6 LABORATORIO 1. REGRESIÓN LINEAL

par de datos (xi , yi ) 1 . Se desea además que el programa devuelva los coeficientes
a y b de la ecuación. La primera línea de código sería:

f unction [a, b] = lineal(A) (1.5)

Cree las variables necesarias para guardar las sumas como se indica en el algo-
ritmo, y asigne a cada una un valor inicial de cero.El apéndice A.1.1) le indica
como hacer esto.

El siguiente punto es determinar la cantidad de datos suministrados. Esto se puede


hacer en Matlab utilizando los comandos size o length (Apéndice A.3). Escriba
n=length(A) (n=length(A(:,1))).

Implemente un ciclo for (apendice A.5.2.2) para efectuar las sumatorias. Recuer-
de que sus datos de entrada están contenidos en una única matriz A, donde la
primera columna son los valores de x y la segunda columna son los valores de
y. En Matlab se accede a un elemento de la matriz indicando su fila y columna
(refiérase al apéndice A.1.2.3), Ejemplo A(i, j), accede al elemento de A, que se
encuentra en la fila i y la columna j. Para efectuar la suma simplemente emplee
el operador matemático 0 +0 .

Una vez obtenida todas las sumatorias necesarias para efectuar la evaluación de
a y b (ecuaciones 1.3), se procede a realizar el cálculo de estas constantes. Los
operadores matemáticos necesarios se especifican en la tabla A.1 del apéndice
A.2

Matlab devolvera a la ventana de comandos los valores de a y b calculados.

Obtenga ambos gráficos en Matlab, agregando las líneas de código siguiente:


B=a*A(:,1)+b;
plot(A(:,1),A(:,2),A(:,1),B(:))
La primera línea calcula los valores de y para los valores de a y b obtenidos, y
los guarda en el vector B. La segunda línea dibuja ambos gráficos, el de los datos
originales y el de la curva producto de la regresión. Consulte plot en el apéndice
A.3.

Guarde su programa.

Cree la matriz de datos, en la ventana de comandos de Matlab; use los datos


suministrados al inicio de la sección. Use una fila para cada par de datos.
1
Al implementar su algoritmo, ud debe tomar en cuenta de que forma espera que el usuario introduce
los datos de entrada, pudo haberse introducido x y y en dos vectores separados, o en una matriz 2 × m
1.6. RESULTADOS 7

Ejecute su programa, para ello escriba en la ventana de comandos con el mismo


formato que la función creada ([a, b] = lineal(A)), aunque no es necesario que
emplee las mismas variables, por supuesto asegúrese de proporcionar los datos
de entrada. (En scilab se debe cargar antes la función empleando el comando
exec(’nombre de la función’,-1)).

¿Qué valores de a y b obtuvo?

Compare las curvas obtenidas, con las encontradas mediante Excel.

1.6. Resultados
Incluya en su informe las gráficas en excel y Matlab, y la función desarrollada en
Matlab. Recuerde contestar las preguntas formuladas durante el procedimiento.
Al subir el informe a moodle debe incluir el script de matlab.

1.7. Conclusiones
Incluya en el reporte sus conclusiones.
Laboratorio 2

Regresión Lineal para Relaciones no


Lineales

2.1. Introducción
En el laboratorio anterior aplicamos el método de regresión lineal a un conjunto de
datos, sin embargo nuestra experiencia, como estudiantes de ingeniería, nos hace saber
que no todas las relaciones entre variables es lineal. En este laboratorio aplicaremos el
método de regresión lineal a un conjunto de datos para ajustarlos a funciones exponen-
ciales, potenciales y a la ecuación de razón de crecimiento.
El procedimiento para obtener las ecuaciones que relacionan las variables se im-
plementará en Matlab (o Scilab) , para lo cual se empleará la función desarrollada en
el laboratorio anterior; antes los datos deben manipularse de tal forma que se ajusten
a una función lineal. Nuevamente será utilizada las curvas de tendencia de excel para
corroborar los resultados.

2.2. Objetivos
Llevar los datos suministrados a una forma compatible con la regresión lineal.

Utilizar la función de regresión lineal para ajustar una curva a un conjunto de


datos.

Implementar una rutina para obtener de Matlab (Scilab) los parámetros de las
relaciones no lineales que se ajusten a los datos suministrados

Evaluar los resultados al compararlos con las curvas de tendencia respectivas en


excel.

9
10LABORATORIO 2. REGRESIÓN LINEAL PARA RELACIONES NO LINEALES

2.3. Materiales
Computadora con software Excel y Matlab o Scilab instalados.

Papel y lápiz

2.4. Marco Teórico


2.4.1. Linealización de relaciones no lineales
El método visto de regresión lineal puede utilizarse en funciones no lineales, siem-
pre y cuando los datos puedan manipularse para llevarlos a una forma compatible con la
regresión lineal. Ejemplo de estas funciones el modelo exponencial, la ecuación de po-
tencias y la ecuación de razón de crecimiento. A continuación veremos como se obtiene
una relación lineal a partir de cada una de ellas.

2.4.1.1. Ecuación exponencial


La ecuación exponencial tiene la forma:

y = αe(βx) (2.1)
se puede obtener una función lineal, aplicando el logaritmo natural a cada lado de
la ecuación:

ln y = ln α + βx (2.2)
La relación que existe entre el ln y y x, es lineal por lo tanto se puede utilizar la
regresión lineal para encontrarla. Si se compara la ecuación 2.4 con la ecuación de
regresión lineal, y = a0 + a1 x, se observa que el valor de a0 , obtenido de la regresión,
es equivalente a ln α y a1 es equivalente a β.

2.4.1.2. Ecuación de potencias


La ecuación potencial se refiere a un modelo de la forma:

y = αxβ (2.3)
Para linealizarla se aplica logaritmo a ambos lados de la ecuación:

log y = log α + β log x (2.4)


Como se observa existe una relación lineal entre log y y log x, Si se aplica regre-
sión lineal a los datos así transformados, se observa nuevamente que el valor de a0 es
equivalente a ln α y a1 es equivalente a β.
2.5. PROCEDIMIENTO EXPERIMENTAL 11

2.4.2. Ecuación de razón de crecimiento


Este modelo es utilizado para caracterizar la razón de crecimiento poblacional bajo
condiciones limitantes, este modelo es:
x
y=α (2.5)
β+x
lo cual se linealiza si se invierte ambos lados de la ecuación, la relación resultante
es:
1 1 β1
= + (2.6)
y α αx
En esta última ecuación se observa que y1 guarda una relación lineal con x1 . Al aplicar
regresión lineal α1 es equivalente a a0 y αβ es equivalente a a1 .

2.5. Procedimiento experimental


En este laboratorio vamos a hacer tres funciones, una para cada tipo de relación no
lineal descrita en la sección 2.4.

2.5.1. Algoritmo para calcular la aproximación exponencial


En su carpeta de trabajo abra un nuevo script (SciNotes) para realizar su función.
Cree la función, recuerde el formato visto en la clase anterior o el apéndice A.5.
Nuevamente los valores de entrada son los datos, que deben ser suministrado en
una matriz n × 2, con la primera columna con la variable independiente y la
segunda columna la variable dependiente; mientras que los datos de salida son
los parámetros α y β.
Determine el número de datos, use length o size.
Construya una nueva matriz que guarde el conjunto de datos transformados. Esta
matriz debe ser de tamaño n × 2. Utilice el comando zeros de Matlab para crear
esta matriz. 1
En la primera columna de la nueva matriz guarde los elementos de la primera
columna de la matriz de entrada. Esto se hace asignándole a todos los elementos
de la primera columna de la nueva matriz los elementos de la matriz de entra-
da. Ejemplo si B es su nueva matriz y A su matriz de entrada, se debe escribir
B(:,1)=A(:,1).
1
Para más detalles de este u otros comandos utilice el help de Matlab, ya sea en la ventanas de
comandos o en la ventana emergente; un resumen de algunos comandos puede encontrarlo en el apéndice
A.3
12LABORATORIO 2. REGRESIÓN LINEAL PARA RELACIONES NO LINEALES

En su segunda columna guarde los valores del ln(y), esto es el logaritmo natural
de cada elemento de la segunda columna de la matriz de entrada: B(:,2)=log(A(:,2).
En esta expresión se utiliza el comando log que precisamente calcula el logaritmo
natural de un número o cada elemento de un arreglo.

Llame a la función creada en el laboratorio 1, y ejecute la regresión lineal para


la nueva matriz como variable de entrada. Recuerde, si está usando scilab debe
cargar primero la función con el comando exec().

Utilice la función exp() para hallar α.

Calcule los nuevos valores de la variable dependiente utilizando la ecuación ex-


ponencial.

Construya los gráficos

2.5.2. Algoritmo para calcular la aproximación potencial


Abra un nuevo script para realizar su función

Cree una nueva función, asigne un nombre apropiado.

Cree una nueva matriz y asigne los valores del logaritmo de la matriz de entrada,
el logaritmo de base 10 se calcula utilizando la función log10(X).

Llame a la función creada en el laboratorio 1, para calcular la regresión lineal


para la nueva matriz como entrada.

Halle α.

Calcule los nuevos valores de la variable dependiente utilizando la ecuación po-


tencial encontrada.

Construya los gráficos

2.5.3. Algoritmo para calcular la aproximación a la ecuación de ra-


zón de crecimiento
Cree una nueva función, asigne un nombre apropiado.

Cree una nueva matriz y asigne los valores del recíproco de cada elemento de la
matriz de entrada, para hacer operaciones matemáticas sobre cada elemento de
una matriz utilice un punto antes del operador correspondiente. Por ejemplo, para
efectuar la operación deseada B = 1./A

Calcule la regresión lineal para la nueva matriz como entrada.


2.6. RESULTADOS 13

Encuentre α y β

Calcule los nuevos valores de la variable dependiente utilizando la ecuación en-


contrada.

Construya los gráficos

2.5.4. Pruebe sus algoritmos


Para el conjunto de datos:

x 4 4,2 4,5 4,7 5,1 5,5 5,9 6,3 6,8 7,1


y 102,56 113,18 130,11 142,05 167,53 195,14 224,87 256,73 299,5 326,72

aplique la regresión lineal para ajustar los datos a:

1. un polinomio de primer orden

2. una ecuación exponencial

3. una ecuación de potencias

4. una ecuación de razón crecimiento

En cada caso dibuje la curva aproximada, donde se muestre también los datos origi-
nales. Utilice las funciones que usted implementó en Matlab y las lineas de tendencias
de excel.

2.6. Resultados
Incluya en su informe las gráficas en excel y Matlab y las funciones desarrollada
en Matlab. Recuerde incluir las ecuaciones de acuerdo a los parámetros devueltos por
Matlab.
Al subir el informe a moodle debe incluir el script de matlab.

2.7. Conclusiones
Incluya en el reporte sus conclusiones.
Laboratorio 3

Polinomios de Interpolación de
Lagrange

3.1. Introducción

En nuestra carrera de Ingeniería a menudo trabajaremos con tablas de datos que


relacionan diferentes variables; estas tablas nos permiten conocer el valor de una o
más variables si se conoce el valor de alguna(s) otra(s) de la misma tabla. A menudo
no se tiene un dato con el valor exacto de la variable conocida, por lo que hay que
hacer un estimado del posible valor que puede tomar la(s) variable(s) desconocida(s).
Seguramente usted ha empleado, para hacer este estimado, el método de interpolación
lineal, que es el método más común por su simplicidad; sin embargo este método se
aleja un poco del valor real de la variable si los datos no están lo suficientemente cerca
uno del otro. Un método mas adecuado sería la interpolación polinomial. De por sí
el método de interpolación lineal es un ejemplo de interpolación polinomial, donde
se ha elegido un polinomio de orden uno para representar los datos. Se puede ajustar
n cantidad de datos, con un polinomio de hasta (n-1) orden, pero usualmente no es
necesario utilizar todos los datos para encontrar buenos resultados.

Existen diferentes maneras y formas de encontrar el polinomio interpolante, pero en


este laboratorio implementaremos un algoritmo para encontrarlo en su forma de Lagran-
ge, ya que las ecuaciones empleadas para este algoritmo son bastante sencillas. En esta
ocasión se permitirá que el estudiante efectúe el programa, partiendo del pseudocódigo
suministrado en su libro de texto, tomando en cuenta que los comandos y operaciones
matriciales necesarias ya se han empleado en los laboratorios previos. El estudiante ten-
drá la oportunidad de probar su algoritmo al comparar los resultados con los obtenidos
por la función de Matlab (Scilab) que realiza el procedimiento de interpolación.

15
16 LABORATORIO 3. POLINOMIOS DE INTERPOLACIÓN DE LAGRANGE

3.2. Objetivos
Revisar el procedimiento para obtener el polinomio de interpolación de Lagrange
Implementar el algoritmo para la interpolación polinomial utilizando el Polino-
mio de Lagrange.
Calcular diferentes predicciones utilizando el algoritmo creado.

3.3. Materiales
Computadora con software Matlab instalados.
Papel y lápiz

3.4. Marco Teórico


El método más común utilizado para estimar valores intermedios de un conjunto de
datos, es la interpolación polinomial (Chapra y Canale, 2011). Este método consiste en
hallar un polinomio de orden n, que pase por todos los n + 1 puntos conocidos (pares de
datos). Existen varias maneras de expresar y encontrar este polinomio interpolante: la
forma de Lagrange del polinomio interpolante y el método de diferencias divididas de
Newton, vistos hasta ahora en clases, son algunos de ellos; sin embargo, el polinomio
que se ajusta a todos los puntos es único. A continuación repasemos la expresión para
el polinomio de Lagrange

3.4.1. Polinomio de Interpolación de Lagrange


El Polinomio Interpolante de Lagrange es el único que puede calcularse de manera
explícita; está dador por:

Pn (x) = y0 Ln,0 (x) + y1 Ln,1 (x) + . . . + yn Ln,n (x) (3.1)


donde Ln,i son polinomios de grado n, denominados como polinomios fundamen-
tales de Lagrange y se definen como:
n
Y x − xj
Ln,i (x) = (3.2)
j=0,j6=i
x i − xj
(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )
= (3.3)
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )
Si se quiere evaluar el polinomio para un valor dado de x, por ejemplo x = a, en
vez de encontrar el polinomio interpolador, este valor de x se sustituye directamente en
3.5. PROCEDIMIENTO EXPERIMENTAL 17

Figura 3.1: Seudocódigo para la interpolación de Lagrange

la ecuación 3.1 y se evalúa las operaciones indicadas. La figura 3.1 muestra el código
ofrecido en (Chapra y Canale, 2011), que calcula una sola predicción, para un polinomio
de n-ésimo grado, dado n + 1 datos.

3.5. Procedimiento experimental


3.5.1. Implementación del Algoritmo
Implemente el algoritmo para predecir el valor de la variable dependiente para un
valor dado de la variable independiente, utilice como guía el pseudocódigo mostrado
en la figura 3.1. Refiérase al Apéndice A.5 o al help de Matlab (Scilab) cuando sea
necesario.

3.5.2. Prueba del Algoritmo


Utilice la función que usted creó en Matlab para resolver los siguientes problemas:
1. Dado los datos:
x 1 2 3 5 7 8
f (x) 3 6 19 99 291 444
Calcule f(4) con el uso de un polinomio de Lagrange, emplee todos los datos
suministrados.
2. Usar el polinomio de Lagrange para completar la siguiente tabla de datos para el
agua, donde T es la temperatura y ρ es la densidad.
T (C) 50 60 65 68 75 80
ρ(kg/m3 ) 988 985,7 980,5 ? 974,8 971,6
18 LABORATORIO 3. POLINOMIOS DE INTERPOLACIÓN DE LAGRANGE

3.5.3. Comando de Matlab para Interpolación


Investigue que comando tiene Matlab (Scilab) para realizar la interpolación dado un
conjunto de datos. Resuma en que consiste y como se utiliza. Emplee este comando para
verificar los resultados de los ejercicios de la sección 3.5.2. Compare sus resultados.

3.6. Resultados
Para el informe haga una captura de pantalla de la función creada y otra de la ven-
tana de comandos donde muestre los resultados de la interpolación, con el uso de su
algoritmo y del comando de Matlab. Debe incluir su descripción del comando de inter-
polación de Matlab. Envíe a Moodle el archivo donde implementa el algoritmo.

3.7. Conclusiones
Realice las conclusiones de su experiencia.
Laboratorio 4

Método de Bisección

4.1. Introducción
En numerosas aplicaciones de Ingeniería es necesario conocer las raíces de ecuacio-
nes no lineales, algunas veces es posible despejar la variable o existe una fórmula para
encontrar la raíz, como es el caso de la bien conocida fórmula general que calcula la
raíz de una función polinómica de segundo orden. Sin embargo, en términos generales,
no existen tales fórmulas, por lo que se hace necesario desarrollar procedimientos de
cálculo aproximado de las soluciones.
Un grupo de estas técnicas, llamadas métodos cerrados, aplica procedimientos ite-
rativos para encerrar la raíz. En este laboratorio implementaremos en Matlab (o Scilab)
una de las más simples de estas técnicas que es el método de bisección. Cómo en otras
experiencias se introducirá el método y su algoritmo y se describirán los comandos y
herramientas, no utilizados hasta ahora, que posee Matlab/Scilab para la implementa-
ción de dicho algoritmo. Se pedirá al estudiante que pruebe su programa de bisección
mediante el cálculo de las raíces de algunas ecuaciones.

4.2. Objetivos
Implementar el algoritmo de bisección en Matlab/Scilab

Calcular las raíces de una ecuación no lineal mediante el método de bisección.

4.3. Materiales
Ordenador con Matlab o Scilab

19
20 LABORATORIO 4. MÉTODO DE BISECCIÓN

Figura 4.1: Algoritmo para el calculo de una raíz por el método de bisección

4.4. Fundamento Teórico


4.4.1. Método de Bisección
El método de Bisección se basa en el Teorema de Bolzano que nos asegura la exis-
tencia de al menos una raíz de una función f (x) en un cierto intervalo [a, b], si se
verifica para este intervalo que uno de los elementos del par f (a), f (b) sea positivo y
el otro negativo, en otras palabras que {f (a)f (b) < 0}. Si esta condición se cumple el
intervalo se divide por la mitad (xm = a+b 2
), y se busca para cuál de los dos subinterva-
los resultantes, se cumple la condición antes mencionada. Este procedimiento se repite
hasta que el valor de x correspondiente a la mitad del intervalo tenga un error aceptable,
previamente establecido.
Para evaluar el error se utiliza el error relativo porcentual, dado por:

xactual − xanterior
ε=
∗ 100 (4.1)
xactual

La figura 4.1 reproduce el algoritmo de bisección presentado en el libro de texto


(Chapra y Canale, 2011). En el procedimiento experimental se implementará este al-
goritmo en Matlab (o Scilab). Pero antes introduciremos otros comandos no utilizados
aún.

4.4.2. Herramientas de Matlab y Scilab


Para la implementación de nuestro algoritmo debemos hacer uso de algunas he-
rramientas de Matlab/Scilab, a continuación introduciremos algunas de ellas. Si tiene
dudas puede utilizar el help o dirigirse a su tutor.
4.4. FUNDAMENTO TEÓRICO 21

4.4.3. ¿Cómo enviar la función al programa de bisección que se va


a implementar?
En Scilab, antes de llamar la función de bisección debe crear la función no lineal en
la ventana de comandos y luego enviar su nombre cuando se ejecute la función principal.
Por ejemplo, si usted quiere obtener una raíz de la función f (x) = −0,6x2 + 2,4x + 5,5,
debe crear esta en la forma habitual en la ventana de comandos:

> function y = fx(x)


> y=-0.6*x^2+2.4*x+5.5
> end

Una vez definida puede enviarse al programa de bisección como cualquier otro pa-
rámetro de entrada(x = biseccion (fx,...)).
En Matlab, la función a la cual se le desea encontrar la raíz, puede especificarse
en el programa creando esta como una función anónima. La función anónima es una
forma muy simple de crear una función en Matlab, su nomenclatura es la siguiente:
nombredelafuncion=@(argumentos) expresión
donde:

nombredelafuncion es el nombre que usted le quiera dar a su función. Este nombre lo


introducira el usuario como argumento de entrada al programa de bisección.

argumentos Son las variables empleadas en la función que se va a definir.

expresión es la función en sí.

Ejemplo:
Si se escribe f x = @(x) x2 , en la ventana de comandos de Matlab, f x guarda una
función que calcula el cuadrado de la variable x.
Si se escribe luego: c = f x(3), se asignará a c el valor de 9.

4.4.4. Otros comandos de Matlab y Scilab


4.4.4.1. Comando disp
El comando disp se utiliza para visualizar un texto o el contenido de una variable,
sin mostrar su nombre, en la pantalla. El formato de este comando es:
disp(nombre de variable) o disp(’Mensaje’)

4.4.4.2. return
El comando return finaliza la ejecución del programa o secuencia de comando y
retorna el control a la función donde el programa fue invocado o a la ventana de coman-
dos.
22 LABORATORIO 4. MÉTODO DE BISECCIÓN

4.4.4.3. Valor absoluto, abs


La sintaxis de este comando es;
y=abs(A)
que asigna a y el valor absoluto de los elementos contenidos en A.

4.5. Procedimiento experimental


Construya en Matlab o Scilab una función que dada una función f (x), un intervalo
de prueba [a, b], y el error relativo porcentual deseado, devuelva la raíz dentro de ese
intervalo, o le indique al usuario que no hay raíces en el mismo.
Cree la nueva función, recuerde las entradas son f x, a y b, y el porcentaje de error
máximo admitido (e), usted puede utilizar las variables que desee, y recuerde que
el usuario debe crear la función f(x) (ver 4.4.3).
Verifique si no existe raíz dentro del intervalo. Esto se hace comprobando si
f x(a)f x(b) > 0. Si se cumple esta condición envíe un mensaje al usuario in-
dicándole que no existe una raíz dentro del intervalo introducido (use disp) y
termine la ejecución del programa (use return). Si no se cumple la condición
continue con el algoritmo.
Calcule el valor de x para la mitad del intervalo.
En Matlab no existe el ciclo do-while, por lo que se tendrá que utilizar el ciclo
while, que se debe repetir mientras el error sea mayor al admitido por el usuario.
Asegúrese de que el procedimiento se realice al menos una vez, para ello debe
cumplir con la condición del while: asigne un valor inicial a la variable que guarda
el error (ea), por encima del error especificado por el usuario, por ejemplo ea =
e + 2.
Una vez dentro del ciclowhile:
• Determine en que subintervalo está la raíz:
◦ Si f x(a) ∗ f x(x) < 0, asigne el valor de x a la variable b (observe el
algoritmo de la figura 4.1).
◦ Si f x(a) ∗ f x(x) > 0, asigne el valor de x a la variable a.
◦ Si f x(a) ∗ f x(x) = 0, termine la ejecución del programa, use return
• Cree una nueva variable que guarde el valor de x empleado en el ciclo actual.
• Calcule el valor de x que será empleado en el nuevo ciclo, o sea la mitad del
nuevo intervalo.
• Con el nuevo valor de x y el anterior, calcule el error mediante la ecuación
4.1, recuerde usar abs.
4.6. RESULTADOS 23

4.5.1. Pruebe su algoritmo


Utilizando el programa creado en Matlab, determine la raíz real de f (x) = −25 +
82x − 90x2 + 44x3 − 8x4 + 0,7x5 , en el intervalo [0.5,1.0], permitiendo un error no
mayor al 10 %.

4.6. Resultados
En sus resultados incluya una impresión de su algoritmo, y una captura en pantalla
de la evaluación del algoritmo desde la ventana de comandos, con el correspondiente
valor de x. Recuerde anexar su archivo .m o .sce.

4.7. Conclusiones
Laboratorio 5

El Método de la Secante

5.1. Introducción
En este laboratorio se continuará con el estudio de los métodos de solución de ecua-
ciones no lineales, esta vez al implementar el método de la secante. El método requiere
dos aproximaciones iniciales, pero al no exigir que sean de signos diferentes, se clasifi-
can dentro de los métodos abiertos.
En esta guía se incluye una introducción al método, y se muestra el pseudocódigo
del libro de Burden (Richard y Douglas, 2011); se espera que ya en este laboratorio el
alumno maneje satisfactoriamente la programción en Matlab, al menos para los proce-
dimientos y operaciones requeridas, por lo que no se específica una explicación detalla-
da del procedimiento a seguir. Una vez terminado el algoritmo, el estudiante tendrá la
oportunidad de probarlo mediante la resolución de algunos problemas.

5.2. Objetivos
Escribir un programa en Matlab que calcule la raíz de una ecuación mediante el
método de la secante.

Resolver algunos problemas de cálculo de raíces.

Continuar ganando experiencia en la programación de funciones en Matlab.

5.3. Materiales
Ordenador con Matlab

25
26 LABORATORIO 5. EL MÉTODO DE LA SECANTE

Figura 5.1: Método de la Secante

5.4. Fundamento Teórico


5.4.1. Método de Secante
El método de la secante es muy similar al de Newton. En este método la recta
tangente se sustituye por una línea que pasa por las dos últimas estimaciones conocidas.
El punto de intersección de la “recta secante” con el eje x, es el nuevo valor estimado.
Para encontrar el punto de intersección este método utiliza la fórmula de interpolación
lineal, pero a diferencia del de la falsa posición, este a menudo realiza una extrapolación
en vez de una interpolación. Las aproximaciones sucesivas para la raíz se calcula con la
ecuación:

f (kk) (xk − xk−1 )


xk+1 = xk − (5.1)
f (xk ) − f (xk−1 )
Para iniciar la iteración con la ecuación 5.1, se necesita dos valores iniciales, x0
y x1 (Ver figura 5.1), para los cuales se calcula f (x0 ) y f (x1 ),y luego se evalúa la
ecuación para hallar x2 ; la iteración continúa, descartando el número más atrasado.
Como se observa, a diferencia del regula falsi no interesa si los puntos que quedan
son del mismo signo o no, siempre se descarta xk−1 , para la siguiente iteración. El
procedimiento continua hasta que |xk+1 − xk | sea cercano a cero.
El método de la secante puede converger a una raíz no deseada o puede no converger
del todo si la estimación inicial no es buena; se puede utilizar un método similar al de
falsa posición para estimar estos valores iniciales.

5.5. Procedimiento experimental


La figura 5.2 muestra el pseudocódigo para implementar el método de secante,
extraído de (Richard y Douglas, 2011) para el cálculo de la raíz de una ecuación.
Describa línea por línea lo que hace ese pseudocódigo.
5.6. RESULTADOS 27

Figura 5.2: Algoritmo para el cálculo de la raíz por el método de la secante

Implemente el método en Matlab. Recuerde lo aprendido en los laboratorios an-


teriores.
Pruebe su programa resolviendo los siguientes problemas:
1. Se necesita resolver la ecuación trigonométrica sin x + 3 cos x = 0, entre
0 ≤ x ≤ 10 con tres cifras significativas. (Encuentre las tres soluciones).
2. Determine la raíz real más pequeña de f (x) = −1 − 21x + 18x2 − 2,4x3 ,con
el empleo del método de la secante para un valor de ε que corresponda a tres
cifras significativas.
3. Aplique el método de la secante par obtener la solución con una exactitud de
10−5 para la siguiente ecuación: ex − 3x2 = 0, para 0 ≤ x ≤ 1 y 3 ≤ x ≤ 5

5.6. Resultados
En su informe debe aparecer la descripción del pseudocódigo, su programa en
Matlab y los resultados a los problemas. Debe adjuntar a su informe el archivo en
Matlab.
28 LABORATORIO 5. EL MÉTODO DE LA SECANTE

5.7. Conclusiones
Realice las conclusiones.
Apéndice A

Fundamentos de Matlab

A.1. Variables y Arreglos en Matlab


A.1.1. Variables
Una variable es un nombre que se da a una entidad numérica, que puede ser una
matriz, un vector o un escalar. Los nombres de variables deben empezar siempre por una
letra y pueden constar de hasta 63 letras y números; no puede utilizarse como nombre
de variable aquellos utilizados por las funciones de Matlab, como: sin, cos, exp, sqrt.
Además, se debe tener presente que Matlab hace distinción entre la mayúscula y la
minúscula, por ejemplo la variable a es diferente de la variable A.
Para asignar el valor a una variable se utiliza el operador =, que significa que se
quiere fijar a la variable del lado izquierdo el valor asociado con el del lado derecho. Al
escribir variable = expression, se asigna el valor de expression a variable. Por ejemplo,
si se escribe en las ventanas de instrucciones de Matlab y = 40, Matlab crea una variable
y, la cual tiene un valor de 40.

A.1.2. Arreglos
A.1.2.1. Vectores
Para crear un vector fila, se introduce cada elemento del vector (separado por un
espacio o una coma) entre corchetes y se asigna a una variable. Por ejemplo, el vector
A = [1 4 7] se crea en matlab escribiendo en la ventana de instrucciones >> A = [1 4 7]
o A = [1, 4, 7]; ambas expresiones deben arrojar el resultado:

A =

1 4 7
Para generar un vector columna, los elementos deben estar separados por un punto
y coma o deben escribirse en líneas separadas cada elemento.

29
30 APÉNDICE A. FUNDAMENTOS DE MATLAB

A.1.2.2. Matrices
Una matriz es un arreglo de dos dimensiones el cual tiene un número de filas y
columnas. Los elementos de una matriz son entrados fila a fila, con los elementos con-
secutivos de la fila separados por coma o por un espacio, y las filas separadas por punto
y coma o pasando a la siguiente fila (usando enter). La matriz completa debe estar
encerrada
 con corchetes.
 Por ejemplo, si se quiere asignar a la variable A, la matriz
1 3 −4
se introduce A = [1, 3, −4; 0, −2, 8]
0 −2 8

A.1.2.3. Accediendo a los elementos de una matriz


Para acceder a un elemento de la matriz se específica el número de fila y de columna
donde esta ubicado el elemento. Por ejemplo A(2, 3) indica el elemento de la segunda
fila, tercera columna de la matriz A.
Para acceder a un rango de elementos se emplea los dos puntos (:), por ejemplo, si
V es un vector V (:) indicaría todos los elementos del vector V , V (m : n), indicaría los
elementos desde m hasta n.

A.2. Operaciones Matemáticas


La tabla muestra las operaciones matemáticas básicas y los operadores que utiliza
Matlab. El orden en que Matlab realiza las operaciones es el siguiente:

Primero realiza los cálculos adentro del paréntesis, desde el conjunto más interno
hasta el más externo.

A continuación, realiza operaciones de potenciación.

Luego realiza operaciones de multiplicación y división de izquierda a derecha.

Finalmente realiza operaciones de suma y resta de izquierda a derecha.

A.3. Algunas funciones de Matlab


length, L = length(X) Si X es un vector, la función retorna el número de elementos, lo
que es asignado a L; si X es una matriz (m × n) la función devuelve la dimensión
mayor de la matriz.

log, log(X) Retorna el logaritmo natural de cada elemento del arreglo X.


A.4. ¿CÓMO CREAR UNA FUNCIÓN ANÓNIMA EN MATLAB? 31

Operación Matemática Operador de Matlab


suma +
resta −
multiplicación ∗
división /
división por la izquierda \
potenciación ^
suma término a término en arreglos .+
resta término a término en arreglos .−
multiplicación término a término en arreglos .∗
división término a término en arreglos ./
potenciación término a término en arreglos .^
0
traspuesta de un matriz

Cuadro A.1: Operadores aritméticos básicos

plot, plot(X,Y) crea un gráfico de los datos en y versus los correspondientes valores en
x. Si se quiere dibujar mas de un gráfico utilizando los mismos ejes, escriba las
variables de cada para de pnto, uno a continuación del otro: plot(X1,Y1,...,Xn,Yn).
Usted también puede especificar color, línea y marcadores para cada uno de estos
gráficos, colocando los respectivos especificadores entre comillas simples y uno
a continuación del otro. Por ejemplo plot(X,Y, b- -0)], dibujará el gráfico en líneas
punteadas, de color azul y con círculos como marcador.
size, [m,n] = size(X) Retorna el tamaño de la matriz X; m guardará el número de filas
y n el número de columnas.
zeros, zeros(n) retorna un arreglo de ceros, si se escribe zeros(n), retorna una matriz
n×n, cuyos elementos todos son ceros, para definir el número de filas y columnas
de la matriz de ceros use zeros(m,n).
return finaliza la ejecución del programa o secuencia de comando y retorna el control a
la función donde el programa fue invocado o a la ventana de comandos de Matlab.
abs, abs(A) calcula el valor absoluto de los elementos contenidos en A.

A.4. ¿Cómo crear una función anónima en Matlab?


La función anónima es una forma muy simple de crear una función en Matlab, su
nomenclatura es la siguiente:
nombredelafuncion=@(argumentos) expresión
donde:
32 APÉNDICE A. FUNDAMENTOS DE MATLAB

Identificador Marcador Identificador Línea


o círculo - sólida
+ signo de más -- punteada
* asterisco : dos puntos
· punto -. línea punteada y punto
× cruz Color
s cuadrado y yellow
d diamante m mayenta
^ triángulo apuntando hacia arriba c cyan
v triángulo apuntando hacia abajo r rojo
> triángulo apuntando hacia la derecha g verde
< triángulo apuntando hacia la izquierda b azul
p pentagrama w blanco
h hexagrama k negro

nombredelafuncion es el nombre que usted le quiera dar a su función. Este nombre lo


introducira el usuario como argumento de entrada al programa de bisección.

argumentos Son las variables empleadas en la función que se va a definir.

expresión es la función en sí.

Ejemplo:
Si se escribe f x = @(x) x2 , en la ventana de comandos de Matlab, f x guarda una
función que calcula el cuadrado de la variable x.
Si se escribe luego: c = f x(3), se asignará a c el valor de 9.

A.5. ¿Cómo programar en Matlab?


La programación en MATLAB se realiza básicamente sobre archivos M, o M-Files
(llamados así por su extensión .m). Matlab incluye un editor de archivos M, al que se

puede acceder al hacer click sobre el icono new scrip , o al desplegar New y elegir
la opción scrip.
De acuerdo a como se definan, existen dos tipos de archivos tipo m:

Archivos de comandos Simplemente es una secuencia de operaciones o comandos de


Matlab que se escriben línea a línea, igual como se hace en la ventana de co-
mandos. Sin embargo, estas líneas de comandos pueden ser editadas, guardadas y
ejecutadas cuantas veces sea necesario. Los comandos y operaciones así incluidos
A.5. ¿CÓMO PROGRAMAR EN MATLAB? 33

son ejecutados en orden cuando se ejecuta el scrip; ya sea mediante el icono run

del editor o al escribir el nombre del archivo en la ventana de comandos.

Funciones Una función es un archivo M similar al archivo M de comandos, con una


diferencia en su definición. La primera línea de una función posee la siguiente
estructura:
f unction[argumentosSalida] = nombre(argumentosEntrada)

Nombre corresponde al nombre de la función. Debe ser el mismo nombre con-


que se guarda el archivo m.
argumentosSalida representa una lista de elementos o variables de retorno de la
función.
argumentosEntrada parámetros que recibe la función para poder realizar el
procesamiento.

A.5.1. Operadores lógicos y relacionales


Matlab posee seis operadores relacionales:

< Menor que

> Mayor que

<= Menor o igual que

>= Mayor o igual que

∼= Distinto que

== Igual que

Estos operadores comparan dos valores y devuelve un valor de 1 si se cumple la condi-


ción y 0 sino.
Las operaciones de relación pueden combinarse mediante los operadores and (&) y
or (|)

A.5.2. Estructuras de control


A.5.2.1. condicionales if, else, elseif
if es una expresión condicional que consiste un operador relacional y/o lógico. La
estructura básica es la siguiente:
if <condición>
34 APÉNDICE A. FUNDAMENTOS DE MATLAB

<instrucciones>
end
Si la expresión es cierta, las instrucciones entre el if y el end son ejecutadas. Si la
expresión lógica es falsa, entonces salta la instrucción hasta el end.
También se puede dar la estructura:
if <condición>
<acciones a realizar por respuesta afirmativa>
else
<acciones a realizar por respuesta negativa>
end
En este caso si la expresión lógica es falsa se realizaran las instrucciones entre else
y end.
Otra estructura usa la función eslseif:
if <condición 1>
<acciones a realizar para condición 1>
elseif <condición 2>
<acciones a realizar para condición 2>
else
<acciones a realizar si ninguna condición se cumple>
end

A.5.2.2. Estructura for


La estructura for, es empleada para repetir instrucciones mientras el valor de la va-
riable se mantenga entre dos valores establecidos. En Matlab se debe utilizar la siguiente
nomenclatura;
for <Variable> = <Arreglo de elementos>
<Sentencias>
end
Por ejemplo, un arreglo de elementos 2:.3:4, indicaría que las sentencias se repiten
desde que el valor de la variable es de 2 hasta que sea de 4, y cada vez que se ejecuta el
lazo, la variable aumenta una cantidad de 0.3.

A.5.2.3. Estructura while


La instrucción while se utiliza cuando se desea repetir las instrucciones mientras
se mantenga una condición determinada. La nomenclatura empleada en Matlab es la
siguiente:
while <Condición>
<Sentencias>
end
Referencias

Chapra, S., y Canale, R. (2011). Métodos numéricos para ingenieros (Sexta ed.;
S. A. McGraw Hill/ Interamericana Editores, Ed.). México, D.F..

Richard, B., y Douglas, F. (2011). Numerical analysis (Ninth ed.; B. CengageLear-


ning, Ed.). Boston, USA: Richard Stratton.

35

Вам также может понравиться