Está en la página 1de 23

INTRODUCCIN

MATLABPARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1


QU ES MATLAB?

MATLAB (acrnimo de matrix laboratory) es un lenguaje de computacin tcnica que
integra capacidad de clculo, visualizacin y programacin en un ambiente donde los
problemas y las soluciones son expresados en la notacin matemtica familiar a
estudiantes, ingenieros y cientficos. Algunos usos tpicos incluyen

- Clculo numrico

- Desarrollo de algoritmos

- Adquisicin de datos

- Modelamiento y simulacin

- Anlisis, exploracin y visualizacin de datos

- Desarrollo de aplicaciones

En virtud de sus caractersticas, MATLAB se ha convertido en la herramienta estndar de
enseanza en cursos universitarios introductorios y avanzados de matemticas, y la
opcin de mayor seleccin en la industria para anlisis, desarrollo de soluciones e
investigacin.

MATLAB es un sistema interactivo cuyo elemento bsico de datos es un array (arreglo)
que no requiere dimensionamiento. Esto permite resolver muchos problemas de
computacin tcnica, especialmente aquellos con formulacin en trminos de vectores y
matrices, en una fraccin del tiempo que tomara escribir un programa e implementar una
solucin en algn lenguaje escalar no interactivo como FORTRAN, BASIC o C. MATLAB
tambin incluye una familia de colecciones de aplicaciones y funciones llamadas
toolboxes (cajas de herramientas) que extienden el ambiente de MATLAB para la solucin
de problemas especficos, como procesamiento de seales, sistemas de control, redes
neurales, lgica difusa, matemtica simblica, simulacin y otros.

EL SISTEMA DE MATLAB

El sistema de MATLAB consiste de 5 partes principales:

AMBIENTE DE DESARROLLO
Conjunto de herramientas y aplicaciones (la gran mayora de ellas interfaces grficas de
usuario GUI) que permiten el uso de las funciones y archivos de MATLAB. Incluyen el
escritorio de MATLAB, la ventana de comandos, el historial de comandos, el
editor/debugger y otras aplicaciones.



INTRODUCCIN

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
LIBRERA DE FUNCIONES MATEMTICAS
Una vasta coleccin de algoritmos computacionales que van desde funciones elementales,
como sum, si ne, cosi ne y aritmtica compleja, hasta funciones altamente
sofisticadas como inversin de matrices, eigenvalores, funciones de Bessel y
transformadas de Fourier.

LENGUAJE MATLAB
Un lenguaje de programacin de alto nivel basado en matrices y arrays con declaraciones
de control de flujo, funciones, estructuras de datos, entrada/salida, y orientacin a objetos,
que permite tanto programar a lo pequeo para crear soluciones rpidas y poco
elaboradas, como programar a lo grande para crear aplicaciones grandes, complejas y
eficientes.

GRFICAS
MATLAB posee amplias facilidades para mostrar vectores y matrices como grficos.
Incluye funciones de alto nivel para visualizacin bidimensional o tridimensional de datos,
procesamiento de imgenes, animacin y grficos estadsticos.

DOCUMENTACIN
MATLAB provee una extensa documentacin en formato impreso y digital, que lo ayudar
a utilizar todas sus caractersticas. Para ver la documentacin digital, seleccione MATLAB
Help del men Help del escritorio de MATLAB. La documentacin de MATLAB adems
incluye referencias para todas las funciones, ejemplos, demostraciones y versiones PDF
imprimibles de la documentacin.


INTRODUCCIN

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
INICIANDO Y CERRANDO MATLAB

INICIAR MATLAB

Para iniciar MATLAB en una plataforma Windows, seleccione Inicio Todos los
Programas MATLAB 7.0 MATLAB 7.0 si usted es usuario de la versin 7.0, o
haga doble-click en el cono de acceso rpido en el escritorio de Windows, el cual fue
creado automticamente durante la instalacin de MATLAB.

Para iniciar MATLAB desde una ventana DOS, dirjase al directorio donde mat l ab. exe
est instalado y escriba mat l ab en la ventana de DOS.

EL ESCRITORIO DE MATLAB

Cuando usted inicia MATLAB, aparece el escritorio de MATLAB, el cual contiene las
herramientas del ambiente de desarrollo para administrar archivos, variables, y
aplicaciones asociadas con MATLAB. La siguiente figura muestra el escritorio
predeterminado. Usted puede personalizar la disposicin de las herramientas de acuerdo
a sus necesidades.

Comunquese con MATLAB ingresando
expresiones en la ventana de comandos.
Mantenga un registro de las funciones de
MATLAB que ha utilizado con el historial
de comandos


INTRODUCCIN

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
CERRAR MATLAB

Para cerrar MATLAB en cualquier momento, puede proceder de las siguientes maneras:

- Haga click sobre el botn de cerrar en el escritorio de MATLAB

- Seleccione Exit MATLAB del men File del escritorio.

- Escriba qui t en la ventana de comandos.


LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
LECCIN 1
MATRICES MGICAS


La mejor forma de empezar a utilizar MATLAB es aprendiendo cmo manejar matrices.
Inicie MATLAB y siga cada uno de los pasos del ejemplo a continuacin.

INGRESAR UNA MATRIZ

A continuacin intentaremos ingresar la matriz A elemento por elemento. Dicha matriz
est dada por



16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
A



=






Para hacerlo, basta con seguir algunas convenciones bsicas:

- Los elementos de una misma fila se separan por medio de comas o espacios.

- Un punto y coma (; ) indica el final de una fila.

- La lista entera de elementos debe ir rodeada de corchetes, [ ] .


Escriba en la ventana de comandos la siguiente expresin:

A = [ 16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]

MATLAB a continuacin mostrar la matriz que acaba de ingresar:

A =

16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1

La matriz que acaba de ingresar se conoce como matriz mgica de 4to. Orden. Una
matriz mgica de orden n es una matriz n x n construido por los enteros de 1 a
2
n , que
tiene una propiedad mgica: sus filas, columnas y diagonales todas suman


LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
2
(1 2 ... )/ n n + + + . En el renacimiento, se crea que matrices de este tipo tenan
propiedades genuinamente mgicas y no eran solo una curiosidad matemtica.

Despus de haber sido ingresada con el nombre A, la matriz es automticamente
almacenada en el espacio de trabajo de MATLAB, por tanto, basta con escribir A para
referirse a ella.

SUMAS, TRANSPUESTAS Y DIAGONALES

A continuacin vamos a comprobar con MATLAB las propiedades mgicas de la matriz
que ingresamos. La primera declaracin que probaremos es

sum( A)

El resultado que arroja MATLAB es

ans =

34 34 34 34

Cuando no se especifica una variable de salida, MATLAB usa la variable ans para
almacenar los resultados del clculo que usted realice. Lo que usted ha hecho al utilizar la
funcin sumcon la matriz A es calcular un vector fila que contiene las sumas de las
columnas de A, las cuales son todas
2
(1 2 ... 4 )/ 4 34 + + + = .

Vamos ahora a comprobar las sumas de las filas. MATLAB no tiene una funcin que sume
las filas de una matriz, como si la tiene para las columnas, pero podemos valernos
transponiendo la matriz A y luego calculando las sumas de las columnas de la matriz
transpuesta, que equivalen a las sumas de las filas de A.

MATLAB tiene dos operadores para transponer:

- El apstrofe (A ) realiza una transposicin compleja conjugada, esto es, voltea la
matriz alrededor de su diagonal principal y cambia el signo de la componente
imaginaria de sus elementos complejos.

- El apstrofe-punto (A . ) realiza una transposicin sin afectar el signo de los
elementos complejos.

Entonces, escribir

A

produce


ans =



LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1

y

sum( A )

produce un vector columna que contiene las sumas de las filas

ans =

34
34
34
34

La suma de los elementos en la diagonal principal se obtiene utilizando las funciones sum
y di ag:

di ag( A)

produce

ans =

16
10
7
1
y

sum( di ag( A) )

produce

ans =

34

La funcin di ag( X, K) produce un vector columna formado por los elementos de la
diagonal K-sima diagonal de la matriz X. di ag( X) es la diagonal principal de X.

La otra diagonal de la matriz A, llamada antidiagonal, no tiene mucha importancia
matemtica, por eso MATLAB no tiene una funcin que extraiga la antidiagonal de una
matriz, pero existe una funcin llamada f l i pl r que voltea una matriz de derecha a
izquierda:

sum( di ag( f l i pl r ( A) ) )

ans =

34


LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
Con esto termina nuestro estudio de la matriz mgica de 4 x 4, con lo que hemos
aprendido algunas operaciones con matrices en MATLAB.

SUBNDICES

El elemento en la fila i y la columna j de la matriz A se denota como A( i , j ) . Para la
matriz mgica que hemos venido trabajando, la suma de los elementos de la cuarta
columna podra obtenerse escribiendo

A( 1, 4) +A( 2, 4) +A( 3, 4) +A( 4, 4)

ans =

34

pero no es precisamente la forma ms elegante de sumar una columna. Si intenta usar un
elemento fuera de la matriz, MATLAB produce un error:

t =A( 4, 5)
??? I ndex exceeds mat r i x di mensi ons.

En cambio, si almacena un valor en un elemento por fuera de la matriz, el tamao
aumenta para acomodar al nuevo nmero.

X=A;
X( 4, 5) =17

X =

16 3 2 13 0
5 10 11 8 0
9 6 7 12 0
4 15 14 1 17

EL OPERADOR DOS PUNTOS

El smbolo dos puntos, : , es uno de los operadores ms importantes de MATLAB. Se
puede presentar de diversas formas. La expresin

1: 10

es un vector fila que contiene los enteros del 1 al 10:
ans =

1 2 3 4 5 6 7 8 9 10

Para obtener un espaciamiento no unitario, se debe especificar un incremento, como por
ejemplo, la expresin

100: - 7: 50



LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
produce

ans =

100 93 86 79 72 65 58 51

y

0: pi / 4: pi

resulta en

ans =

0 0. 7854 1. 5708 2. 3562 3. 1416

Las expresiones de subndices que incluyen dos puntos hacen referencia a porciones de
una matriz:

A( 1: k, j )

hace referencia a los primeros k elementos de la columna j de la matriz A. Entonces

sum( A( 1: 4, 4) )

calcula la suma de la cuarta columna. Pero hay una mejor manera. El operador dos
puntos se refiere por s mismo a todos los elementos de una fila o columna, y la palabra
end se refiere a la ltima fila o columna, as

sum( A( : , end) )

calcula la suma de los elementos de la ltima columna de A.

LA FUNCIN magic

MATLAB tiene una funcin que genera matrices mgicas de casi cualquier tamao. Dicha
funcin se llama magi c:

B=magi c( 4)

da como resultado

B =

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Esta matriz es casi la misma que trabajamos antes, solo que las dos columnas de la mitad
estn intercambiadas.


LECCIN 1 - TRABAJANDO CON MATRICES - BIBLIOGRAFA

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
Para convertir la matriz B en la matriz A basta con intercambiar las columnas intermedias

A=B( : , [ 1 2 3 4] )

Esto es, para cada fila de la matriz B, reordene los elementos en el orden 1,3,2,4. Esta
expresin produce

A =

16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1




LECCIN 2 - EXPRESIONES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
LECCIN 2
EXPRESIONES


De la misma forma como dos personas se comunican de manera oral o escrita por medio
de una frase, MATLAB y su usuario se comunican por medio de expresiones matemticas
tal como cualquier otro lenguaje de programacin, solo que en MATLAB dichas
expresiones trabajan con matrices enteras. Los componentes de las expresiones son:

- Variables

- Nmeros

- Operadores

- Funciones

Cada uno de estos componentes ser estudiado en detalle a continuacin

VARIABLES

MATLAB no requiere ningn tipo de declaracin o instruccin de dimensionamiento para
definir variables. Cuando MATLAB encuentra un nuevo nombre de variable,
automticamente crea la variable y le asigna la cantidad de espacio apropiado. Si la
variable ya existe, MATLAB cambia su contenido, y de ser necesario, asigna nuevo
espacio de almacenamiento. Por ejemplo,

num_est udi ant es_O1=25

crea una matriz 1 x 1 llamada num_est udi ant es_O1 y almacena el valor de 25 en su
nico elemento. Para ver la matriz asignada a una variable, basta con ingresar el nombre
de la variable en la ventana de comandos.

Los nombres de variables consisten de una letra, seguido de hasta 30 nmeros, letras,
dgitos, o subrayados. MATLAB distingue entre maysculas y minsculas.

NMEROS

MATLAB usa notacin decimal convencional, con punto decimal opcional y signo de ms
o menos, para nmeros. La notacin cientfica usa la letra e para especificar un factor de
escala potencia de 10. Los nmeros imaginarios usan bien i o j como sufijo.

Algunos ejemplos de nmeros legalmente escritos pueden ser:



LECCIN 2 - EXPRESIONES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
3 - 99 0. 0001
9. 6397238 1. 60210e- 20 6. 02252e23
1i - 3. 1459j 3e5i


Todos los nmeros se almacenan internamente usando el formato long especificado por
el estndar de coma flotante de IEEE.

OPERADORES

Las expresiones usan operadores aritmticos y reglas de precedencia familiares.

+ Adicin

- Substraccin

* Multiplicacin

/ Divisin

\ Divisin izquierda

^ Potenciacin

Transposicin compleja conjugada

( ) Especificacin del orden de evaluacin

FUNCIONES

MATLAB provee un gran nmero de funciones matemticas elementales, como abs,
sqr t , si n y exp, adems de funciones ms avanzadas, como bessel j o gamma. Para
una lista de las funciones matemticas elementales, escriba en la ventana de comandos

hel p el f un

Para una lista de funciones matemticas y matriciales ms avanzadas, escriba

hel p specf un
hel p el mat

Algunas funciones, como sqr t y si n son parte del core (ncleo) de MATLAB y por tanto
son muy eficientes, pero los detalles de cmo se calculan no son fcilmente accesibles.
Otras funciones, como gamma y si nh, han sido implementadas en archivos M, por tanto
se puede ver su cdigo e incluso modificarlo.

Existen algunas funciones que proveen los valores de constantes tiles:



LECCIN 2 - EXPRESIONES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
pi 3.14159265

i Unidad imaginaria, 1

j Igual que i

eps Precisin relativa de coma flotante,
52
2



r eal mi n Mnimo nmero de coma flotante,
1022
2



r eal max Mximo nmero de coma flotante, ( )
1023
2 2

I nf Infinito

NaN Not-a-number (No-es-un-nmero)


Infinito es generado al dividir un valor diferente de cero por cero, o al evaluar una
expresin matemtica que excede (overflow) el valor de r eal max. No-es-un-nmero es
generado al tratar de evaluar expresiones indeterminadas como 0/0, / , y 0.

EJEMPLOS DE EXPRESIONES

A estas alturas de seguro ya habr visto varios ejemplos de expresiones de MATLAB.
Aqu presentamos ms ejemplos y sus valores resultantes.

r ho = ( 1+sqr t ( 5) ) / 2

r ho =

1. 6180

a = abs( 3+4i )

a =

5

z = sqr t ( bessel k( 4/ 3, r ho- i ) )

z =

0. 3730 + 0. 3214i









gr ande = exp( l og( r eal max) )

gr ande =

1. 7977e+308

muygr ande = pi *gr ande

muygr ande =

I nf



LECCIN 3 ALGEBRA LINEAL Y MATRICES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
LECCIN 3
ALGEBRA LINEAL Y MATRICES


Una matriz es un arreglo rectangular bidimensional de nmeros reales y complejos que
representan una transformacin lineal. MATLAB tiene una docena de funciones para crear
matrices con propiedades especiales, basta con escribir hel p el mat en la ventana de
comandos para ver cules son y qu resultado producen. Usaremos dos de ellas para
crear un par de matrices 3 x 3 para su uso a lo largo de esta seccin:

A = pascal ( 3)

A =

1 1 1
1 2 3
1 3 6

A = pascal ( n) retorna la matriz de Pascal de orden n: una matriz positiva definida con
elementos enteros construida a partir del tringulo de Pascal. La siguiente matriz la
construiremos usando la funcin magi c.

B = magi c( 3)

B =

8 1 6
3 5 7
4 9 2

Otro ejemplo es una matriz rectangular de 3 x 2 compuesta por enteros aleatorios.

C = f i x( 10*r and( 3, 2) )

C =

2 9
6 7
3 4

r and( m, n) produce una matriz de m x n de de nmeros aleatorios cuyos elementos
estn uniformemente distribuidos en el intervalo (0,1). f i x( A) redondea hacia cero los
elementos de la matriz A, resultando en una matriz de nmeros enteros (Esta funcin es
diferente a r ound, que redondea al entero ms cercano).

Un vector columna es una matriz m x 1, un vector fila es una matriz 1 x n, y un scalar es
una matriz 1 x 1. Las instrucciones

u = [ 3; 1; 4]

v = [ 2 0 - 1]


LECCIN 3 ALGEBRA LINEAL Y MATRICES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1

s = 7

producen un vector columna, un vector fila y un escalar.

u =

3
1
4

v =

2 0 - 1

s =

7

ADICIN Y SUSTRACCIN

La adicin y sustraccin de matrices est definida elemento por elemento. Sumar A a B y
luego sustraer A del resultado recupera a B.

X = A + B

X =

9 2 7
4 7 10
5 12 8

Y = X - A

Y =

8 1 6
3 5 7
4 9 2

La adicin y sustraccin de matrices requieren que las dos matrices que se van a operar
tengan la misma dimensin, o que alguna de las dos sea un escalar. Si las dimensiones
no concuerdan, se produce un error.

X = A + C

??? Er r or usi ng ==> pl us
Mat r i x di mensi ons must agr ee.

w = v + s

w =

9 7 6



LECCIN 3 ALGEBRA LINEAL Y MATRICES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
MULTIPLICACIN

La multiplicacin de matrices est definida de forma que refleje la composicin de la
transformacin lineal subyacente y permita la representacin compacta de sistemas de
ecuaciones lineales simultneas. Para el producto matricial C AB = , si A es m x p y B es
p x n, C es entonces m x n. MATLAB usa un asterisco simple para denotar multiplicacin
matricial.

X = A*B

X =

15 15 15
26 38 26
41 70 39

Y = B*A

Y =

15 28 47
15 34 60
15 28 43

Obsrvese que AB BA , esto es, la multiplicacin matricial no es conmutativa.

La multiplicacin de matrices rectangulares debe satisfacer las condiciones de
compatibilidad de dimensiones.

X = A*C

X =

11 20
23 35
38 54

Y = C*A
??? Er r or usi ng ==> mt i mes
I nner mat r i x di mensi ons must agr ee.

Cualquier cosa puede ser multiplicada por un escalar.

w = s*v

w =

14 0 - 7

Z=s*A

Z =

7 7 7
7 14 21
7 21 42


LECCIN 3 ALGEBRA LINEAL Y MATRICES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
MATRIZ IDENTIDAD

La notacin matemtica generalmente aceptada usa la letra mayscula I para denotar
matrices identidad. Estas matrices tienen la propiedad que AI A = y IA A = , siempre y
cuando las dimensiones sean compatibles. La versin original de MATLAB no poda
distinguir entre maysculas y minsculas, y dado que i serva como unidad imaginaria, no
poda usarse I para este propsito. Se decidi entonces usar un juego de palabras
fontico para las matrices identidad. La funcin

eye( m, n)

retorna una matriz identidad m x n, y eye( n) retorna una matriz identidad n x n. (En
ingls, eye suena como I).

NORMAS DE VECTORES

La p -norma de un vector x est dada por


( )
1/ p
p
i
p
x x =



y MATLAB la calcula usando la funcin nor m( x, p) . Esta operacin est definida para
cualquier valor 1 p > , pero los valores ms comunes son 1, 2 en Infinito. El valor por
defecto es 2 p = , que corresponde a la longitud euclidiana.

[ nor m( v, 1) nor m( v, 2) nor m( v, i nf ) ]

ans =

3. 0000 2. 2361 2. 0000

INVERSAS Y DETERMINANTES

Si A es una matriz cuadrada no singular, las ecuaciones AX I = y XA I = tienen una
misma solucin nica X denominada inversa de A, que se denota por
1
A

, y se puede
calcular usando la funcin i nv. El determinante de A se calcula con la funcin det ,
donde A es una matriz cuadrada.

d = det ( A)

d =

1


X = i nv( A)

X =

3 - 3 1
- 3 5 - 2
1 - 2 1




LECCIN 4 SISTEMAS DE ECUACIONES LINEALES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
LECCIN 4
SISTEMAS DE ECUACIONES LINEALES

Uno de los problemas ms importantes de la computacin tcnica es la solucin de
sistemas de ecuaciones lineales simultneas. En notacin matricial, el problema podra
formularse as: Dadas dos matrices A y B , existe una nica matriz X tal que

AX B = XA B = ?

A modo de ilustracin, consideremos el ejemplo 1 x 1: Tiene la ecuacin

7 21 x =

una nica solucin?. La respuesta, por supuesto, es s. La ecuacin tiene una nica
solucin 3 x = . La solucin es fcilmente obtenida usando el operador divisin:

21/7 3 x = =

La solucin de una ecuacin de este tipo no suele obtenerse calculando la inversa de 7,
1
7 0.142857...

= y luego multiplicando 7
-1
por 21. Este procedimiento implica ms trabajo,
y si 7
-1
es representado por un nmero finito de dgitos, la respuesta ser menos precisa.
Consideraciones similares aplican para sistemas de ecuaciones lineales con ms de una
incgnita: MATLAB soluciona dichos sistemas sin calcular la inversa de la matriz.

Aunque no es una notacin comnmente aceptada, MATLAB usa la terminologa de la
divisin para describir la solucin de un sistema de ecuaciones simultneas. Los dos
smbolos de divisin, slash, /, y backslash, \, se usan en las situaciones siguientes:

X = A\ B denota la solucin de la ecuacin matricial AX B =

X = B/ A denota la solucin de la ecuacin matricial XA B =

Dado que los problemas de la forma AX B = ocurren con mucha ms frecuencia que los
de la forma XA B = , nos concentraremos en el operador backslash en lo que resta de esta
leccin. Las condiciones de compatibilidad de dimensiones para X=A\ B requieren que las
matrices A y B tengan el mismo nmero de filas, as, X tiene el nmero de columnas de B
y por filas tiene el nmero de columnas de A. La matriz A no tiene que ser cuadrada. Si A
es m x n, se pueden presentar tres casos:

m=n Sistema cuadrado o determinado. Solucin exacta.

m>n Sistema sobredeterminado. Ninguna solucin.

m<n Sistema indeterminado. Soluciones infinitas.




LECCIN 4 SISTEMAS DE ECUACIONES LINEALES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
SISTEMAS CUADRADOS

La situacin ms comn es en la que A es una matriz cuadrada y B es un vector columna.
La solucin x = A\ B tiene el mismo tamao que B. Por ejemplo,

x = A\ u

x =

10
- 12
5

Puede comprobarse que A*x es exactamente igual a u. Si A y B son matrices cuadradas
del mismo tamao, entonces X = A\ B tambin tiene dicho tamao.

X = A\ B

X =

19 - 3 - 1
- 17 4 13
6 0 - 6

Se dice que una matriz A es singular si no tiene columnas linealmente independientes. Si
A es singular, la solucin a AX B = o bien no existe, o no es nica. El operador backslash
en A\ B emite una advertencia si A es casi singular, o emite un error si A es exactamente
singular.

SISTEMAS SOBREDETERMINADOS

Pueden encontrarse a menudo sistemas sobredeterminados de ecuaciones lineales
simultneas cuando se intenta ajustar una curva a un grupo de datos experimentales.
Supngase el caso hipottico en que una cantidad y ha sido medida para diferentes
valores de tiempo t , produciendo las siguientes observaciones:

t y
0.0 0.82
0.3 0.72
0.8 0.63
1.1 0.60
1.6 0.55
2.3 0.50

Estos datos pueden ingresarse a MATLAB usando las expresiones

t = [ 0 0. 3 0. 8 1. 1 1. 6 2. 3] ' ;
y = [ 0. 82 0. 72 0. 63 0. 60 0. 55 0. 50] ' ;



LECCIN 4 SISTEMAS DE ECUACIONES LINEALES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
Se cree que los datos pueden ser modelados por una funcin de decaimiento exponencial
de la forma

( )
1 2
t
y t c c e

+

Esta ecuacin plantea que el vector y puede ser aproximado por medio de la
combinacin lineal de dos vectores: un vector con todos sus elementos igual a 1, y otro
vector con componentes
t
e

. Los coeficientes desconocidos


1
c y
2
c pueden ser calculados
haciendo un ajuste de mnimos cuadrados, que minimiza la suma de los cuadrados de las
desviaciones de los datos del modelo. El problema es de 6 ecuaciones y 2 incgnitas, que
puede escribirse de la forma

Ec y =

La matriz E puede construirse con MATLAB usando la siguiente expresin:

E = [ ones( si ze( t ) ) exp( - t ) ]

E =

1. 0000 1. 0000
1. 0000 0. 7408
1. 0000 0. 4493
1. 0000 0. 3329
1. 0000 0. 2019
1. 0000 0. 1003

La solucin por mnimos cuadrados se obtiene usando el operador backslash.

c = E\ y

c =

0. 4760
0. 3413

Se concluye que la curva de ajuste a los datos por mnimos cuadrados es

( ) 0.4760 0.3413
t
y t e

+

Las siguientes instrucciones evalan el modelo para valores de t regularmente
espaciados y grafica el resultado junto con los datos originales. La figura se puede
apreciar a continuacin.

Se puede observar que E*c no es exactamente y, pero las diferencias puede ser
menores que los errores de medicin de los datos originales.



LECCIN 4 SISTEMAS DE ECUACIONES LINEALES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1

SISTEMAS INDETERMINADOS

Un sistema indeterminado es aquel que tiene ms incgnitas que ecuaciones. La solucin
de dichos sistemas nunca es nica. MATLAB encuentra una solucin base, que tiene a lo
sumo m componentes diferentes de cero, pero esta solucin puede no ser nica.

Considrese un ejemplo aleatorio.

R = f i x( 10*r and( 2, 4) )

R =

8 6 9 1
4 7 7 4

b = f i x( 10*r and( 2, 1) )

b =

9
9

El sistema Rx b = tiene 2 ecuaciones y 4 incgnitas. La solucin particular obtenida se
obtiene usando el operador backslash.



LECCIN 4 SISTEMAS DE ECUACIONES LINEALES

MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
p=R\ b

p =

0
0
0. 9310
0. 6207

La solucin completa del sistema indeterminado puede ser caracterizada agregando un
vector arbitrario del espacio nulo, que puede ser encontrado utilizado la funcin nul l .

Z=nul l ( R)

Z =

- 0. 5503 0. 3360
- 0. 3617 - 0. 6364
0. 7433 0. 0487
- 0. 1176 0. 6926

Puede comprobarse que A*Z es cero y que cualquier vector de la forma

x = p + Z*q

donde q es un vector arbitrario, satisface R*x = b.


BIBLIOGRAFA
MATLAB PARA ESTUDIANTES DE MTODOS EN INGENIERA QUMICA I v0.1
BIBLIOGRAFA

Getting Started with MATLAB (c) 2006. The MathWorks, Inc.
http://mathworks.com/access/helpdesk/help/pdf_doc/matlab/getstart.pdf

Mathematics with MATLAB (c) 2006. The MathWorks, Inc.
http://mathworks.com/access/helpdesk/help/pdf_doc/matlab/math.pdf

También podría gustarte