Está en la página 1de 71

Facultad de Ingeniera Qumica y Metalurgia

CURSO PARA INGENIEROS:


Introduccin a MATLAB y
SIMULINK
Por:

Ing Jos S. Orbegoso Lpez

CONTENIDOS:

1. Generalidades.
2. Manipulacin de matrices.
3. Grficas en 2D y 3D.
4. Programacin.
5. Mtodos numricos.
6. Matemticas simblicas.
7. Simulink.

Huacho, Abril de 2013

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

1. Generalidades
Desarrollado a finales de los setenta en las Universidades de New Mexico y Stanford. En la
actualidad ampliamente difundido en diversas Universidades e Industrias. Ncleo bsico del
programa: Clculo numrico basado en matrices. Matlab= Matrix Laboratory. Mdulos
adicionales. Simulink, MatLab Symbolic Toolbox (ncleo del programa Maple), etc. La versin
ltima es R2013a.

Operadores

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Tipos de datos: MATLAB es un programa preparado para trabajar con vectores y matrices.
Como caso particular tambin trabaja con variables escalares (matrices de dimensin 1). MATLAB
trabaja siempre en doble precisin, es decir guardando cada dato en 8 bytes, con unas 15 cifras
decimales exactas. Ya se ver ms adelante que tambin puede trabajar con cadenas de caracteres
(strings) y, desde la versin 5.0, tambin con otros tipos de datos: Matrices de ms dos
dimensiones, matrices dispersas, vectores y matrices de celdas, estructuras y clases y objetos.

Otras formas de definir matrices: Existen en MATLAB varias funciones orientadas a


definir con gran facilidad matrices de tipos particulares. Algunas de estas funciones son las
siguientes:
eye (4) forma la matriz unidad de tamao (4x4)
zeros(3,5) forma una matriz de ceros de tamao (3x5)
zeros(4) dem de tamao (4x4)
ones(3)forma una matriz de unos de tamao (3x3)
ones(2,4) dem de tamao (2x4)
linspace(x1,x2,n) genera un vector con n valores igualmente espaciados entre x1 y x2logspace(d1,d2,n) genera un vector con n valores espaciados logartmicamente entre10^d1
y 10^d2. Si d2 es pi6, los puntos se generan entre 10^d1y pi
rand(3)forma una matriz de nmeros aleatorios entre 0 y 1,con distribucin uniforme, de
tamao (3x3)
rand(2,5) dem de tamao (2x5)
randn(4)forma una matriz de nmeros aleatorios de tamao(4x4), con distribucin normal,
de valor medio 0 y varianza
magic(4)crea una matriz (4x4) con los nmeros 1, 2, ... 4*4, con la propiedad de que todas
las filas y columnas suman lo mismo
hilb(5)crea una matriz de Hilbert de tamao (5x5). La matriz de Hilbert es una matriz cuyos
elementos (i, j) responden a la expresin (1/(i+j-1)). Esta es una matriz especialmente difcil
de manejar por los grandes errores numricos a los que conduce.

Formacin de una matriz a partir de otras


A continuacin se describen algunas de las funciones que crean una nueva matriz a partir de otra o
de otras, comenzando por dos funciones auxiliares:
[m,n]=size(A) devuelve el nmero de filas y de columnas de la matriz A.
3

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Si la matriz es cuadrada basta recoger el primer valor de retorno


N=length(x)calcula el nmero de elementos de un vector x
zeros(size(A))forma una matriz de ceros del mismo tamao que una matriz A previamente
creada.
ones(size(A))dem con unos.
A=diag(x)forma una matriz diagonal A cuyos elementos diagonales son los elementos de un
vector ya existente x
x=diag(A)forma un vector x a partir de los elementos de la diagonal de una matriz ya
existente A
diag(diag(A))crea una matriz diagonal a partir de la diagonal de la matriz A.
blkdiag(A,B)crea una matriz diagonal de submatrices a partir de las matrices que se le
pasan como argumentos.
triu(A)forma una matriz triangular superior a partir de una matriz A (no tiene por qu ser
cuadrada).
tril(A)dem con una matriz triangular inferior

OPERADOR DOS PUNTOS (:)


Defnase un vector x con el siguiente comando:
>> x=1:10
x=
1

2 3 4 5 6 7 8 9 10

En cierta forma se podra decir que el operador (:) representa un rango: en este caso, los nmeros
enteros entre el 1 y el 10.
Por defecto el incremento es 1, pero este operador puede tambin utilizarse con otros valores
enteros y reales, positivos o negativos. En este caso el incremento va entre el valor inferior y el
superior.
>> x=1:2:10
x=
1

3 5 7 9

>> x=10:-1:1
x=
10 9 8 7 6 5 4 3 2 1
4

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

OPERADORES RELACIONALES

OPERADORES LOGICOS

FUNCIONES MATEMTICAS ELEMENTALES QUE OPERAN DE MODO


ESCALAR

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

FUNCIONES QUE ACTAN SOBRE LOS VECTORES

FUNCIONES QUE ACTUAN SOBRE MATRICES

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Tabla de cdigos ASCII - Formato de caracteres


estndares
ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

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

0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F

NUL
SOH
STX
ETX
EOT
ENQ
ACK
BEL
BS
TAB
LF
VT
FF
CR
SO
SI

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F

DLE
DC1
DC2
DC3
DC4
NAK
SYN
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US

32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47

20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F

(espacio)
!
"
#
$
%
&
'
(
)
*
+
,
.
/

48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63

30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F

0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?

ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

ASCII

Hex

Smbolo

64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79

40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F

@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O

80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95

50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F

P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_

96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F

`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o

112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

En caso de que el teclado se desconfigure se puede recurrir a sta tabla,


digitando: ALT + NUMERO DE LA COLUMNA ASCII, para obtener el carcter
necesario.
Ejemplo:
ALT + 92 va a dar \
ALT + 91 va a dar [
ALT + 93 va a dar ]
ALT + 94 va a dar ^
ALT + 58 va a dar :
ALT + 59 va a dar ;
Etc.

GUIA DE LA CLASE1
Ambiente de trabajo de MatLab. Workspace, Windows y Help.

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Fig 1: Ventana Inicial de Matlab 7.12.0.635(R2011a)


En la ventana inicial se sugieren ya algunos comandos para el usuario inexperto que quiere echar un
vistazo a la aplicacin. En dicha ventana aparece tambin el prompt caracterstico de MATLAB ().
Esto quiere decir que el programa est preparado para recibir instrucciones. Puede hacerse que
aparezca un saludo inicial personalizado por medio de un fichero de comandos personal que se
ejecuta cada vez que se entra en el programa.
Una vez que el programa comienza, se visualizan tres pequeas ventanas: Command, Wokspace y
Command History. Estas son 3 de las ocho diferentes ventanas en Matlab. El listado de las
ventanas y sus propsitos se muestran en la tabla 1.

Tabla 1 : Ventanas de Matlab


Ventana

Propsitos

Command Window

Ventana principal, variables enteras, corre programas.

Figure Window

Contiene informacin para controles grficos.

Editor Window

Crea y elimina escritos y archivos de funciones.

Help Window

Proporciona informacin de ayuda

Launch Pad Window

Provee acceso a herramientas, demostraciones y documentacin.


10

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Command History Window

Introduce los controles principales en la ventana de control .

Workspace Window

Proporciona informacin de las variables que son usadas.

Current Directory Window

Muestra los archivos actuales en el directorio.

Ventana Command: Esta ventana es la ventana principal y se abre cuando comienza Matlab. Es
conveniente tener la ventana command como la nica ventana visible y esto puede hacerse cerrando
todas las otras ventanas.
Ventana Figure: La ventana figure se abre automticamente cuando ejecutamos los comandos
grficos y contienen grficos creados por estos comandos. Un ejemplo de la ventana Figure es
mostrada en la figura 2.

{ Puede usted ingresar lo siguiente, utilizando una hoja de editor:


>> x = [0:0.1:16];
>> y = x.^ (1.4).*cos(x)
>> plot(x,y)
>> title('Grfica de la funcin y = x.^1^.^4.*cos(x)') }

FIGURA 2 : GRFICO DE LA FUNCIN COSENO(X)

11

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Ventana Editor: La ventana editor es usada para escribir y editar, crear y modificar programas,
tanto como ejecutarlos paso a paso para ver si contienen errores (proceso de depuracin). El editor
muestra con diferentes colores los diferentes tipos o elementos de los comandos (en verde, para los
comentarios; en rojo, las cadenas de caracteres, etc.). El editor se preocupa de que las comillas o
parntesis que se abren, no se queden sin cerrar. Figura 3

Figura 3: Ventana Editor


Ventana Help
MATLAB 7.12.0.635 (R2011a) dispone de un excelente Help con el que se puede encontrar la
informacin que se desee. La Figura 4 muestra las distintas opciones que aparecen en el men Help.
1. Help Window, Se abre la ventana de la Figura 4, en la que se puede buscar ayuda sobre la
funcin o el concepto que se desee.
2. Help Tips. Ofrece ideas prcticas para utilizar la ayuda.
3. Help Desk. Se abre un browser de Internet (Netscape Communicator, en el caso de la Figura 5)
que permite acceder a toda la informacin sobre MATLAB en formato HTML. Esta informacin es
equivalente a los manuales impresos del programa. Desde la parte inferior de esta pgina, mediante
el enlace Online Manuals (in PDF) se puede acceder a la versin *.pdf (PortableDocument
Format) de los manuales de MATLAB.

12

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

FIGURA 4:

ING. JOSE SAUL ORBEGOSO LOPEZ

VENTANA HELP

13

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Este formato es menos adecuado para consultar que el HTML, pero mucho ms adecuado
para imprimir y revisar luego sobre papel. El formato *.pdf requiere del programa gratuito
Adobe Acrobat Reader 5.0 o una versin superior.
4. Examples and Demos. Se abre una ventana que da acceso a un buen nmero de ejemplos
resueltos con MATLAB, cuyos resultados se presentan grficamente de diversas formas. Es
bastante interesante recorrer estos ejemplos para hacerse idea de las posibilidades del
programa.

FIG 5: VENTANA DEMOS DE HELP WINDOW.

FIG 6 : VENTANA TOOLBOX DE HELP

DESK

14

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Adems, se puede tambin recurrir al Help desde la lnea de comandos. Se aconseja hacer
prcticas al respecto. Por ejemplo, obsrvese la respuesta a los siguientes usos del comando
help:
help
help lang
El comando helpwin seguido de un nombre de comando muestra la informacin
correspondiente a ese comando en la ventana Help Window (ver Figura 5), incluyendo
tambin comandos similares sobre los que se ofrece ayuda.
El comando doc seguido de un nombre de comando muestra la informacin correspondiente a
ese comando a travs de Netscape Navigator o Internet Explorer, en formato HTML.
El Debugger es un programa enormemente til para detectar y corregir errores, que hay que
conocer muy bien. Para ello lo mejor es practicar. De hecho, al realizar operaciones con el
Debugger grfico van a apareciendo las correspondientes instrucciones en la lnea de
comandos.
VISITE:

VENTANA WORKSPACE

El espacio de trabajo consiste en el sistema de variables acumuladas durante una sesin de


usar el software de MATLAB y almacenadas en memoria. Usted agrega variables al espacio
de trabajo usando las funciones, M-archivos corrientes, y cargando espacios de trabajo
ahorrados. Por ejemplo, si usted funciona estas declaraciones,
A = magic(4)
R = randn(3,4,5)
El espacio de trabajo incluye dos variables, A y R.
Usted puede realizar workspace y operaciones relacionadas usando el browser del workspace.
Cuando estn disponibles, las funciones equivalentes se documentan con cada caracterstica
del browser del espacio de trabajo. Si usted tiene una conexin activa del Internet, usted
puede mirar el Workspace browser video demo para una descripcin de la funcionalidad
principal:

15

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Matemticas escalares. Funciones matemticas bsicas.


2. Operaciones con Vectores y Matrices
>> A=[1 2 3; 4 5 6; 7 8 9]
La respuesta del programa es la siguiente:
A=

123
456
789
Una sencilla operacin con A es hallar su matriz traspuesta. En MATLAB el apstrofe (')
es el smbolo de trasposicin matricial.
Para calcular A' (traspuesta de A) basta teclear lo siguiente:

>> A'
ans

=
14 7
258
369

La variable ans puede ser utilizada como operando en la siguiente expresin que se
introduzca. Tambin podra haberse asignado el resultado a otra matriz llamada B:

>> B = A'
16

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

B =
147
258
369
Ahora ya estn definidas las matrices A y B, y es posible seguir operando con ellas. Por
ejemplo, se puede hacer el producto B*A (deber resultar una matriz simtrica):
>> B*A
ans =
66 78 90
78 93 108
90 108 126
En MATLAB se accede a los elementos de un vector poniendo el ndice entre parntesis
(por ejemplo x(3) x(i)). Los elementos de las matrices se acceden poniendo los dos
ndices entre parntesis, separados por una coma (por ejemplo A(1,2) A(i,j)). Las
matrices se almacenan por columnas (aunque se introduzcan por filas, como se ha dicho
antes), y teniendo en cuenta esto puede accederse a cualquier elemento de una matriz con
un slo subndice. Por ejemplo, si A es una matriz (3x3) se obtiene el mismo valor
escribiendo A(1,2) que escribiendo A(4).
Invertir una matriz es tan fcil como transponerla.
A continuacin se va a definir una nueva matriz A no singular-en la forma:
>> A = [1 4 -3; 2 1 5; -2 5 3]
A=
1 4 -3
2 1 5
-2 5 3
Ahora se va a calcular la inversa de A y el resultado se asignar a B. Para ello basta hacer
uso de la funcin inv ( )
>> B = inv(A)
B=
0.1803
0.1311
-0.0984

0.2213
0.0246
0.1066

-0.1885
0.0902
0.0574

Para comprobar que este resultado es correcto basta con multiplicar A por B
>> B*A
ans =
17

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

1.0000
0.0000
0.0000

0.0000
1.0000
0.0000

ING. JOSE SAUL ORBEGOSO LOPEZ

0.0000
0.0000
1.0000

De forma anloga a las matrices, es posible definir un vector fila x en la forma siguiente
(silos tres nmeros estn separados por blancos o comas, el resultado ser un vector fila):
>> x=[10 20 30] % vector fila
x=
10 20 30
MATLAB considera comentarios todo lo que va desde el carcter tanto por ciento (%)
hasta el final de la lnea.
Si los nmeros estn separados por intros o puntos y coma (;) se obtendr un vector
columna:
>> y=[11; 12; 13] % vector columna
y=
11
12
13
MATLAB tiene en cuenta la diferencia entre vectores fila y vectores columna. Por ejemplo,
si se intenta sumar los vectores x e y se obtendr el siguiente mensaje de error:
>> x+y
??? Error using ==> +
Matrix dimensions must agree. (Deben estar de acuerdo las dimensiones de la matriz).
Estas dificultades desaparecen si se suma x con el vector transpuesto de y:
>> x + y'
ans =
21 32 43

EJERCICIOS UTILIZANDO MATLAB


1. Transferencia de Calor:
Un objeto con una temperatura inicial de T 0 es colocado al tiempo t = 0 dentro de una
cmara que tiene una temperatura constante de Ts experimentar un cambio de
temperatura de acuerdo a la ecuacin:
T = Ts + (T0 Ts) e-kt
Donde:T = Temperatura del objeto al tiempo.
18

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

k = constante.
Una soda a una temperatura de 120F es ubicada dentro de un refrigerador donde la
temperatura es 38F. Determine la temperatura alcanzada despus de 3 horas. Asumir
k=0.45. Primero define todas las variables y entonces calcula la temperatura usando un
comando Matlab.
Solucin
>> Ts= 38;

T0 = 120;

k = 0.45;

t = 3;

>>T = round (Ts +(T0 Ts) *exp(-k*t))


T = 59
2. Identidad Trigonomtrica:
Una identidad trigonomtrica est dado por:
x tan x sin x
cos2
2 tan x
2

Verificar que la identidad es correcta calculando en cada lado de la ecuacin y


sustituyendo x = /5.
Solucin
>> x = pi/5;
>>LHS = cos(x/2)^2
LHS =
0.9045
>>RHS = (tan(x) +sin(x))/(2*tan(x))
RHS =
0.9045

3. La presin de vapor de agua


Escribir una funcin en MATLAB, para el clculo de la presin de vapor del agua.
Use una funcin es decir, s para calcular la presin de vapor de agua para las
temperaturas de 30, 60 y 90C.

Resolucin: La presin de vapor de agua, pv [bar] es funcin de la temperatura T [K]


y puede ser calculado por la expresin:

+ 1,5 + 3 + 6
ln =

1
Donde:
19

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

= 1

Los coeficientes a, b, c, d con valores -7,76451, 1,45838, -2,7758 respectivamente 1,23303. En estas relaciones Tc es una temperatura crtica y Pc la presin crtica del
agua. Esta tiene los valores de 647,3 y 221,2Kbar. De esta relacin se puede expresar
la presin de vapor:

esta ecuacin se utiliza para escribir la funcin MATLAB necesario. Esta funcin
llama un argumento que tiene en cuenta el valor de la temperatura y valor de retorno
actual correspondiente presin de vapor.
La funcin se presenta a continuacin:
function pv = pvapH2O(T);
% Funcin para calcular la presin de vapor del agua
%%
Mod de llamar:
% PV = PVAPH2O(T)
% donde: PV - presin de vapor, [bar]
% T - temperatura, [K]
Tc = 647.3; % temperatura critica, [K]
Pc = 221.2; % presin critica, [bar]
a = -7.76451;
b = 1.45838;
c = -2.7758;
d = -1.23303;
Tr = 1 - T./Tc;
pv = exp((a*Tr+b*Tr.^(1.5)+c*Tr.^3+d*Tr.^6)./(1-Tr)).*Pc;
% end function pvapH2O

Llamado esta funcin puede obtener un escalar.


>> pv = pvaph2o(303.15)
pv =
0.0425
O a travs de un vector matriz.
>> pv = pvaph2o(273.15+[30 60 90])
pv =
0.0425 0.1994 0.7015

OTROS EJERCICIOS:
Polinomios:

20

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Coeficientes del polinomio completo y ordenado decrecientemente:


= 3 + 2 2 + 3 x + 4
>>A=[1 2 3 4]
Comandos:
roots: nos da las races
>>races = roots(A)
poly: nos da los coeficientes del polinomio que originan esas races.
>>poly (races)
>>r=[1 1+j 1-j 2];
>>poly(r)
1

-5 10 -10

( 4 5 3 + 10 2 10 + 4 = 0)

conv: nos da el product de polinomios


>>pp=[1 2 3 4 ];
>>qq=[1 0 0 2 3];
>>producto=conv(pp, qq)
deconv: nos da el cociente y el residuo de una divisin de polinomios
>>[co, re]=deconv(qq,pp)
co=
1

-2

re=
0

4 11

polyval: eval el polinomio P(x) en un valor xo, es decir P(xo)


>>A=[1 2 3 4];
>>p=polyval(A,[1 2 3 ])
pl =
26
polyder: nos da los coeficientes de la derivada del polinomio
>>D=polyder(A)

21

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

FUNCIN input
>>n = input(teclee el numero de ecuaciones);
>>nombre=input(Cmo te llamas?, s)
(en este caso, la respuesta se lee y se devuelve sin evaluar, con lo que se almacena en la
cadena nombre).
FUNCION disp: Siempre imprime en pantalla un mensaje de texto o el valor de una
matriz, pero sin imprimir su nombre
>>disp(EL programa ha terminado)
>>A=rand(4)
>>disp(A)
FUNCIONES
Definicin:

function [lista de valores de retorno]=name (lista de argumentos)

Ejm: Se crear una funcin que evale el numerador, denominador y la divisin de:
P(x,y)=

+
2+ 3

function[num, den, c]=division(x,y)


num=x.^y + sin(x.*y) x;
den=x.^2 + y.^3;
c=num./den;
Guardar el archivo como division. m y lo ejecutamos

GUIA DE CLASE 2:

22

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Recuerde: Los parntesis cuadrados [ y ] son empleados para matrices, mientras que los
parntesis ( y ) se emplean para funciones. El carcter coma , para separar elementos
[1,2,3,4] y el punto y como ; para separar filas en las matrices. [ 1 2; 3 4]. El carcter dos
puntos : indica nmeros consecutivos entre dos valores, [2:5] es equivalente a [2 3 4 5].
Grficas de funciones
MATLAB tiene un gran potencial de herramientas grficas. Se pueden dibujar los valores de
un vector frente a otro (de la misma longitud):
>>x=pi*(-1:0.1:1);
>>y=x.*sin(x);
>>plot(x,y) % Por defecto une los puntos (x(i),y(i)) mediante una poligonal.

1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-4

-3

-2

-1

Como se ve, con pocos puntos la grfica tiene un aspecto demasiado lineal a trozos. Para
"engaar" al ojo, basta tomar ms puntos.
>>x=pi*(-1:0.01:1);
>>y=x.*sin(x);
>>plot(x,y)

23

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

2
1.8
1.6
1.4
1.2
1
0.8
0.6
0.4
0.2
0
-4

-3

-2

-1

>>hold on % Mantiene en la ventana grfica los dibujos anteriores


>>plot(x,cos(x)) % Dibuja sobre la grfica anterior la funcin cos(x)

1.5

0.5

-0.5

-1
-4

-3

-2

-1

>>hold off % Con esto olvida los dibujos anteriores % y dibuja en una ventana nueva El
mismo grfico de la figura superior puede obtenerse con una nica orden, dibujndose cada
curva de un color distinto:
24

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

>>plot(x,cos(x),x,y)

1.5

0.5

-0.5

-1
-4

-3

-2

-1

Adems se puede especificar el color de cada curva, el tipo de lnea y el marcador, segn la
tabla:

Otros comandos muy tiles a la hora de realizar grficas son:


title: le ponemos un ttulo a la grfica
xlabel: le ponemos una etiqueta al eje x
ylabel: le ponemos una etiqueta al eje y
legend: incluimos una legenda en la grfica
25

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Por ejemplo
>> plot(x,cos(x),'ro-',x,y,'bp:')

1.5

0.5

-0.5

-1
-4

-3

-2

-1

>> xlabel('tiempo')
>> ylabel('valor')
>> legend('coseno','y')
>> title('grafico de ejemplo')

26

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

grafico de ejemplo
2
coseno
y
1.5

valor

0.5

-0.5

-1
-4

-3

-2

-1

0
tiempo

Tambin se pueden realizar grficas logartmicas con las instrucciones: semilogx (eje x
logartmico), semilogy (eje x logartmico) y loglog (ejes x e y logartmicos). Adems de
grficas en 3D con las instrucciones: mesh, surf, plot3...
Ejercicio:
Representar simultneamente dos funciones sinusoidales de frecuencia 50 Hz desfasadas 90 (/2
rad) de amplitud 10 y 20, respectivamente. Siendo la primera de ellas en color verde a puntos y la
segunda en azul continua y con asteriscos. Incorporar adems: nombre eje x: tiempo nombre eje y:
seal ttulo grfica: onda seno legenda: onda1 y onda 2
Funcin sinusoidal:

y A sin kx

A: amplitud, k: factor multiplicativo del argumento, que se denomina pulsacin en el caso de que la
variable sea independiente del tiempo; el desfasaje

>>y = 10*sin(x +pi/2);


>> plot(x,y)
>> hold on
>> y = 20*sin(x +pi/2);
>> plot(x,y)
27

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

>>xlabel('tiempo');ylabel('seal'); title('onda seno'); legend('onda1','onda2');


onda seno
20
onda1
onda2

15
10

seal

5
0
-5
-10
-15
-20
-4

-3

-2

-1

0
tiempo

POLINOMIOS Y ECUACIONES
Para resolver un polinomio, se formula el vector de los coeficientes del mismo, en forma
completa y ordenado decrecientemente, siendo el objetivo aqu es la determinacin de las
races.
Ejemplo:
= 4 + 2 2 + 3 + 4
>>A=[1 2 3 4]
A=
1

RAICES: se emplea el comando roots que al digitarlo en la ventana de comando nos da las
races del polinomio.
>> raices=roots(A)
raices =
-1.6506
28

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

-0.1747 + 1.5469i
-0.1747 - 1.5469i
poly: da los coeficientes del polinomio que origina esas races.
>> poly(raices)
ans =
1.0000 2.0000 3.0000 4.0000
>> r=[1 1+j 1-j 2];
>> poly(r)
ans =
1

-5 10 -10

Producto de polinomios: conocidos los polinomios, se pueden multiplicar utilizando el


comando conv:
>> pp=[1 2 3 4];
>> qq=[1 0 0 2 3];
>> producto=conv(pp,qq)
producto =
1

12

17

12

El Cociente y Residuo de una divisin de polinomios: se obtiene empleando el comando


deconv:
>> [co,re]=deconv(qq,pp)
co =
1

-2

re =
0

11

Polyval: evala un polinomioP(x) en un valor xo, es decir P(xo)


>> A=[1 2 3 4];
>> p=polyval(A,2)
29

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

p=
26
>> p1=polyval(A,[1 2 3])
p1 =
10 26 58
Polyder: nos da los coeficientes de la derivada del polinomio
>> D=polyder(A)
D=
3

FUNCION INPUT
Permite imprimir un mensaje en la lnea de comandos de MatLab y recuperar como valor de
retorno un valor numrico o el resultado de una expresin tecleada por el usuario. Despus de
imprimir el mensaje, el programa espera que el usuario teclee el valor numrico o la
expresin. El usuario puede teclear un vector o una matriz. En cualquier caso, la expresin
introducida es evaluada cono los valores actuales de las variables de MATLAB y el resultado
se devuelve como valor de retorno.
>> n=input('Teclee el numero de ecuaciones')
Teclee el numero de ecuaciones 4
n=
4
Otra forma: obsrvese el parmetro s:
>> nombre=input('Cmo te llamas?', 's')
Cmo te llamas? Jos
nombre =
Jos
En este caso el texto tecleado como respuesta se lee y se devuelve sin evaluar, con lo que se
almacena en la cadena nombre. As, pues, en este caso, si se teclear una frmula, se almacena
como texto sin evaluarse.
FUNCION DISP
30

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Permite imprimir en pantalla un mensaje de texto o el valor de una matriz, pero sim imprimir
su nombre. En realidad, disp. Siempre imprime vectores y/o matrices: las cadenas de
caracteres son un caso particular de vectores.
>> disp('El programa ha terminado')
El programa ha terminado
>> A=rand(4)
A=
0.9501
0.2311
0.6068
0.4860

0.8913
0.7621
0.4565
0.0185

0.8214
0.4447
0.6154
0.7919

0.9218
0.7382
0.1763
0.4057

0.8913
0.7621
0.4565
0.0185

0.8214
0.4447
0.6154
0.7919

0.9218
0.7382
0.1763
0.4057

>> disp(A)
0.9501
0.2311
0.6068
0.4860

Programacin con MATLAB


Para escribir un programa o fichero de comandos con MATLAB habr que crear un fichero
que tenga extensin .m y contenga las instrucciones. Esto se puede hacer con cualquier editor
de textos, pero tiene algunas ventajas usar el editor propio de MATLAB llamndolo desde la
barra de herramientas con los mens FILE > NEW > M-FILE. Una vez estamos en el editor
de funciones se puede ejecutar el cdigo escrito con el men DEBUG>RUN o pulsando la
tecla F5, o bien escribiendo en el Command Windows el nombre de la funcin.
MATLAB trabaja con memoria dinmica, por lo que no es necesario declarar las variables
que se van a usar. Por esta misma razn, habr que tener especial cuidado y cerciorarse de que
entre las variables del espacio de trabajo no hay ninguna que se llame igual que las de nuestro
programa (proveniente, por ejemplo, de un programa previamente ejecutado en la misma
sesin), porque esto podra provocar conflictos.
FICHEROS *.m
Los ficheros con extensin (.m) son ficheros de texto sin formato (ficheros ASCII) que
constituye el centro de la programacin en MATLAB. Existen dos tipos de ficheros *.m, los
ficheros de comandos (llamados scripts en ingls) y las funciones. Los primeros contienen
simplemente un conjunto de comandos que se ejecutan sucesivamente cuando se teclea el
nombre del fichero en la lnea de comandos de MATLAB.
31

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Las funciones permiten definir funciones enteramente anlogas a las de MATLAB, con su
nombre, sus argumentos y sus valores de retorno. Los ficheros *.m que definen funciones que
permiten extender las posibilidades de MatLab: de hecho existen bibliotecas de ficheros *.m
que se venden (toolkits) o se distribuyen gratuitamente ( a travs de internet). Las funciones
definidas en ficheros *.m se caracterizan por que la primera lnea (que no sea comentario)
comienza por la palabra funcin, seguida por los valores de retorno (entre corchetes [ ] y
separados por comas, si hay ms de uno), el signo igual ( = ) y el nombre de la funcin,
seguido de los argumentos (entre parntesis y separados por comas).
DEFINICION DE FUNCIONES:
La primera lnea de un fichero llamado name.m que define una funcin tiene la forma:
function [lista de valores de retorno] = name (lista de argumentos)
donde name es el nombre de la funcin. Entre corchetes y separados por comas van los
valores de retorno (siempre que haya ms de uno) y entre parntesis tambin separados por
comas los argumentos. Recuerde que los argumentos son los datos de la funcin y los valores
de retorno sus resultados. Si no hay valores de retorno se omiten los corchetes y el signo igual
( = ); si solo hay un valor de retorno no hace falta poner corchetes. Tampoco hace falta poner
parntesis si hay argumentos.
Ejemplo: Se crear una funcin que nos evale el numerador, denominador y la divisin de:
+
, =
2 + 3
Observamos que depende de 2 entradas x e y , adems tiene tres salidas: num, den y la
divisin num/den.
>> [a,b,c]=division(2,3)
a=
5.7206
b=
31
c=
0.1845
Ejemplo: Crear una funcin de Newton (fnewton) que resuelva una ecuacin no lineal de
una sola variable, abriendo una ventana de programacin y teclear el siguiente contenido:
% Funcin que resuelve Ecuaciones No - Lineales de una sola variable
32

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

% empleando el mtodo de Newton - Raphson


% _________________________________________________________________
%
% [xn]=fnewton(f,xo,to1)
% xn es el valor que satisface la ec. no - lineal (respuesta)
% f es el nombre de la funcin donde se guard la ecuacin a resolver
% xo es un valor inicial
% to1 es el error menor a cuanto por ejemplo 0.000001
function [xn]=fnewton(f,xo,to1)
x=xo;
h=0.0001;
error=1000;
while (error>to1)
y=feval(f,x);
f_deriv=(feval(f,x+h)-feval(f,x))/h;
xn=x-(y/f_deriv);
error=abs(xn-x);
x=xn;
end
Para correr la funcin (fnewton) necesitamos abrir uan ventana de programa y creamos una
funcin donde guardaremos la ecuacin a resolver, por ejemplo x=cos(x), y se guarda con el
nombre calcular:
function y=calcular(x)
y=x-cos(x);
Y, desde el command window ejecutamos:
>> x=fnewton('calcular',0,0.00001)
x=
0.7391
Un programa escrito en MATLAB admite la mayora de las estructuras de programacin al
uso y su sintaxis es bastante estndar. En los siguientes apartados se muestra la sintaxis de
algunas de estas estructuras (if, for, while,...).

La condiciones if y switch
IF

33

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Una de las operaciones ms habituales en programacin es la ejecucin de unos determinados


comandos si se cumple una determinada condicin lgica, es lo que se conoce como
bifurcaciones. Para ello se emplea la orden if...end de la siguiente forma:
if condicin
comandos
end
Si la bifurcacin es mltiple entonces podemos combinar con los comandos else y elseif
If

condicion
comandos
elseif condicion
comandos
elseif condicion
comandos
else
comandos
end
Por ejemplo, crear el fichero prueba_condicion.m y ejecutar el siguiente cdigo:
A = 1; B = 2;
if A + B == 3
disp('el resultado es 3')
elseif A+B > 5
disp('el resultado es mayor que 5 ')
else
disp('el resultado ni es 3 ni mayor que 5 ')
end
(la orden disp se utiliza para visualizar texto en la orden de comandos)
Para ejecutar la funcin realizada se pulsa F5 se estamos en el editor de funciones, o se
escribe su nombre en la Command Window:
>>prueba_condicion
el resultado es 3
Tambin se puede llamar la funcin recin descrita desde otra funcin sin ms que escribir su
nombre.
SWITCH
La sentencia switch realiza una funcin anloga a un conjunto de if...elseif concatenados. Su
forma general es la siguiente:
34

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

switch expresion
case case_expr1
comandos
case case_expr2
comandos
...
otherwise % opcin por defecto
comandos
end
Por ejemplo si queremos realizar acciones distintas en funcin del valor de una variable entera
podemos escribir:
A = 1; B = 2;
switch A + B
case 3
disp('el resultado es 3')
case 5
disp('el resultado es 5 ')
otherwise
disp('el resultado ni es tres ni cinco')
end
Los bucles for y while
FOR...END
Cuando queremos ejecutar un conjunto de comandos un nmero predeterminado de veces
utilizamos la funcin for...end, cuya forma general es:
for contador = [vector de valores]
comandos
end
A modo de ejemplo si queremos sumar los cuadrados de los nmeros enteros impares del 1 al
11 podemos escribir:
suma = 0
for k = 1:2:11
suma = suma + k^2;
end
suma
Aunque producira el mismo resultado la instruccin:
>> suma = sum([1:2:11].^2)
Ejercicio:
35

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Crear un fichero llamado primos.m (FILE>NEW>M-FILE) para calcular la suma de los


100 primeros trminos de la sucesin 1, 2x, 3x2, 4x3, ...
WHILE...END
A diferencia del comando for, el comando while se utiliza cuando el nmero de veces que se
ejecuta un determinado conjunto de sentencias depende de una determinada condicin lgica.
Su utilizacin genrica es la que sigue:
while condicion
comandos
end
Por ejemplo si queremos sumar el cuadrado de nmeros pares mientras no se supere un
determinado valor, por ejemplo, 500, entonces:
suma = 0; num = 2;
while suma < 500
suma = suma + num^2;
num = num + 2;
end
suma
Una instruccin muy til es el comando break que se utiliza para salir de un bucle. Por
ejemplo, si desea salir del bucle en el caso de que alguna suma parcial sea exactamente igual a
100, entonces:
suma = 0; num = 2;
while suma < 500
suma = suma + num^2;
num = num + 2;
if suma == 100
break
end
end
suma

Ejercicio:
Dada la funcin y = e-x calcular el valor x que haga que se cumpla la igualdad x = e-x con un
error de 10-6. Tomar como valor inicial 0.5. Poner una condicin que limite a 10 el nmero
de iteraciones para llegar a la solucin (utilizar break). Adems, probar el programa realizado
suponiendo como condicin inicial x=10.
36

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Ejercicio:
Se desea programar una funcin que calcule, mediante el algoritmo de Euclides, el mximo
comn divisor de dos nmeros naturales, basta escribir un fichero euclides.m cuyo contenido
sea:
function m=euclides(a,b)
% Clculo del mximo comn divisor de dos nmeros naturales
% mediante el algoritmo de Euclides
if a<b
c=b;
b=a;
a=c;
end
while b>0
c=rem(a,b);
a=b;
b=c;
end
m=a;
Si, una vez escrito el fichero anterior, en el espacio de trabajo o en un programa se escribe la
instruccin
mcd=euclides(33,121)
en la variable mcd se almacenar el valor 11.
Las variables de una funcin son siempre locales. Por tanto, aunque en el seno de la funcin
se modifiquen los argumentos de entrada, el valor de las variables correspondientes queda
inalterado.
Por ejemplo, en la funcin euclides.m se modifica el valor de los argumentos de entrada, pero,
sin embargo:
>>x=15;
>>mcd=euclides(x,3);
>>x
x=
15
Si se pretende que las modificaciones de un argumento de entrada afecten a la variable
correspondiente, deber situarse dicho argumento, adems, en la lista de argumentos de
salida.
37

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Ejercicio:
Crear una funcin llamada miexp que dado un valor de x devuelva como los dos resultados
de las ecuaciones:
1 = +
2 =
Utilizar dicha funcin para resolver la ecuacin no lineal = + mediante NewtonRaphson con un error de 10 6 limitando el nmero de iteraciones a 10.

GUIA DE CLASE N 3:
GRAFICOS BI Y TRIDIMENSIONALES:
Para realizar grficos 2 D hay cuatro funciones bsicas:
PLOT( ): permite crear un grfico a partir de vectores y/o columnas de matrices con
escalas lineales sobre ambos ejes (x e y).
Loglog( ): igual que el anterior, pero con escala logartmica.
Semilogx( ): igual que el primero con escala lineal en el eje de las ordenadas y
logartmica en el eje de las abscisas.
Semilogy( ): igual que el primero con escala lineal en el eje de las abscisas y
logartmica en el eje de las ordenadas.
Se toma como referencia la primera y las dems, como consecuencia.
Para agregar ttulos, nombres a cada eje, cuadrculas, textos, etc., existen otras funciones:

title (Grfica P vs T)

aade un ttulo al grfico

xlabel(Temp(C))

aade etiqueta al eje x (con xlabel off desaparece).

ylabel(Presin(KPa))

text (x,y,texto)

introduce texto en el lugar especificado por las coordenadas


x e y Si x e y son vectores, el texto se repite pro cada par de
elementos. Si el texto es tambin un vector d cadenas de texto
de la misma dimensin, cada elemento se escribe en las
coordenadas correspondientes.

gtext(texto)

introduce texto con ayuda del ratn: el cursor cambia de


forma y se espera un clic para introducir el texto en esa
posicin.

legend ( )

define rtulos para las distintas lneas o ejes usados en la


figura.

aade etiqueta al eje y (con ylabel off desaparece).

38

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

grid on

ING. JOSE SAUL ORBEGOSO LOPEZ

activa la inclusin de una cuadrcula en el dibujo. Con grid


off desaparece la cuadrcula.

Ejemplo: Realizar una grfica de un coseno multiplicado por una funcin exponencial
Recordar dar espaciamiento entre puntos pequeos (0.01 o 0.00 son suficientes) y que los
productos o divisiones se tienen que hacer elemento a elementos (.* ./ ).
>> x= -5: 0.01:5;
>> y= cos(x).*exp(-0.05* x);
>>h=figure(1);
>>plot(x,y,r); % grafica x vs y de color rojo.
>>xlabel(Eje X);
%etiqueta del eje x
>>yalbel(Eje Y);
% etiqueta del eje y
>>title(COSENO EXPONENCIAL); % ttulo
>>text(1.5, 0.75,cos(x)*exp(-0,05 * x)); % texto en la posicin x,y,
>>grid on;
% rejilla
>>legend(Coseno Exponencial); %rtulo
>>figure (gcf); % para que la figura pase a primer plano.

COSENO EXPONENCIAL
1.5
Coseno Exponencial
1
cos(x)*exp(-0,05 * x)

Eje Y

0.5

-0.5

-1

-1.5
-5

-4

-3

-2

-1

0
Eje X

COMANDOS hold on y hold off:


Se usan en las grficas para ciertas condiciones. El primero de ellos hace que los grficos
sucesivos respeten los ya dibujados en la figura.
Es posible que haya modificacin en la escala de los ejes.
El comando hold off deshace el efecto de hold on
39

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

GUIA DE CLASE N 4:
SISTEMAS
DE
ECUACIONES
TRIDIMENSIONALES.

FUNCIONES

Interpretacin Grfica:
Una ecuacin lineal con dos variables, como 2x y =3, define una recta (y=mx+b). Se puede
escribir como y=2x -3. Si hay dos ecuaciones, estas pueden ser lineales y cruzarse o no. Si
una ecuacin tiene tres variables, x, y, z, representan un plano en un espacio tridimensional.
Si hay dos ecuaciones con tres variables, pueden representar dos planos que se cruzan o no,
etc..
Hiperplano: es el conjunto de puntos definido por una ecuacin con ms de tres variables. Y
en general, un conjunto de M ecuaciones lineales con N incgnitas, donde cada ecuacin
define un hiperplano nico que no es idntico a ninguno otro del sistema. Si M<N, el sistema
est subespecificado y no existe una solucin nica. Si M=N, existir una solucin nica si
ningn par de ecuaciones representa hiperplanos paralelos. Si M>N, el sistema est sobre
especificado y no existe solucin nica. El conjunto de ecuaciones tambin se denomina
sistema de ecuaciones. Un sistema de ecuaciones con una solucin nica es no singular, y
uno que no tiene solucin nica se llama singular.
Ejemplo:
Para el sistema:

x+y=2; 2x y = 1; x + 2y = 3;

M=3>N=2, de modo que la nica solucin es x =1, y=1. Si M>N el sistema puede no tener
solucin, tener solucin nica o infinidad de soluciones.
Ejercicio: considere el siguiente sistema de tres ecuaciones con tres incgnitas:
3x + 2y z =10
x + 3y + 2 z = 5
x - y - z = -1
Utilizando matrices, se puede escribir:
=

3 2 1
1 3
2 ;
1 1 1

= ;

10
= 5
1

La forma matricial:
40

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

AX = B
Se puede multiplicar y se obtiene el sistema original
Pero, si se tiene ms de tres variables, la notacin se puede hacer torpe, x1, x2, x3, etc. El
conjunto de ecuaciones se representa como vectores fila B y X:
Ejemplo:
3 1 + 2 2

3 = 10

1 + 3 2 + 2 3 = 5
1 2 3 = 1

X=[ x1 x2 x3]

3 1
1
2
3 1
1
2 1

B=[ 10 5 -1]t

PROGRAMACION BASICA:

Limitaciones computacionales. Opciones de exhibicin. Exactitud y


precisin.
Administracin de archivos. Ficheros M-Files.
depuracin. Rutas de bsqueda y arranque en Matlab.

Errores

Ejemplos prcticos (visin general)


Reaccin de primer orden
Raz de una funcin usando un m-file y fzero
Usando fzero desde el Command Window
Solucin de sistemas de ecuaciones lineales
Integracin numrica y simblica
Ecuaciones diferenciales de primer y segundo orden
Sistemas de ecuaciones diferenciales ordinarias
41

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Reacciones mltiples
CLASE N 5:
APLICACIONES DE MATLAB A LA RESOLUCIN DE PROBLEMAS
DE INGENIERA
TRADUCIR CON GOOGLE. DE RUMANO A ESPAOL
Resolver:
"En clculos de Ingeniera, el calor especfico de una solucin de NaOH (expresado en [J /(kg * K)]), la
Cp, de la solucin se calcula a un valor aproximado:
Cp, sol= 4190 (1 xNaOH) + Cp, NaOH xNaOH
donde Cp, NaOH representa el calor especfico del hidrxido de sodio anhidro y xNaOH es la fraccin de la
masa del hidrxido en solucin. El error respecto al verdadero valor de soluto concentrado local es vlido
para una concentracin (xNaOH > 0.2). La solucin inorgnica diluida en (xNaOH 6-0, 2) se toma
mediante la relacin:
Cp, sol = 4190 (1 xNaOH)
El Calor especfico del hidrxido de sodio anhidro (expresada en [J /(kg * K)]) como trabajo, es decir
temperatura, se calcula con la relacin:
CpNAOH = 0,1835 + 3.125 T + 0,347 T2
La funcin en MATLAB que puede calcular el calor especfico del NaOH es:
function cp = cpSuelo(x, T)
% funcin para calcular el calor especfico de una solucin de NaOH
%%
Modo de aplicarse:
% CP = CPSOL(X,T)
% donde: CP calor especfico de un soluto, [J/(kg.K)]
% X - fraccin masica del NaOH en la solucin
% T - temperatura, [K]
if x<=0.2
cpSol = 4190*(1 - x);
else
cpNaOH = 0.1835 + 3.125*T + 0.347/T.^2;
cp = 4190*(1 - x) + cpNaOH*x;
end
% end function cpSol
Para calcular el calor especfico de una solucin de Na OH a una fraccin msica de 0,25, la
temperatura de 50C =323,15K,el comando necesario es:
>> cpSol(0.25,323.15)
ans =
3.3950e+003
Densidad de una mezcla de gases:
Ejercicio:
Se desea escribir una funcin en MatLab para determinar la densidad de una mezcla de gases (CO 2, H2 y
CO). Utilice una funcin que determine la densidad de la mezcla expresada en porcentajes molares: 25%
de CO2, 60% de H2, y 15% de CO, a la temperatura de 150C y una presin de 20 bar
Solucin:
La densidad de una mezcla de gases reales, mez, se calculas mediante la expresin: mez = Mmez P Zmez RT
Donde:
Mmez representa la masa molecular de la mezcla, Zmez es el coeficiente de compresibilidad de la mezcla, T es la
temperatura en [K] y R es la constante universal de los gases igual a 8,3143 [J/(molK)].
La Masa molecular de la mezcla se calcula por la expresin:
Mmez = =1 y los coeficienes de comprensibilidad mediante la relacin:

42

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Zam = =1
Para el caso en que la mezcla se compone de n componentes la relacin de representacin de una maza
molecular con el coeficiente de compresibilidad Zi, y xi representa una fraccin molar de cada componente en la
mezcla tomada.
Los datos necesarios para los calculos son presentados en una tabla:.
Tabla. Datos de los componentes de la mezcla de gases
Componente
Masa
Coeficiente
Molecular
de compresibilidad
CO2
44,010
0,274
H2
2,016
0,303
CO
28,010
0,295
La funcin en MATLAB est diseada para medir los tres argumentos siendo el primero un vector de tres
componentes para determinar el contenido de CO2, H2 y CO en fracciones molares, y la temperatura en K, la
presin, en bar, aplicada a la mezcla de gases.
Tenemos la siguiente funcin en MATLAB:
function ro = densMez(x,T,P)
%Funcin para calcular la densidad de una mezcla de CO2 H2 y CO
%%
Modo de aplicarse:
% RO = DENSMEZ(X,T,P)
% donde: RO densidad de mezcla, [kg/mc]
% X - composicin en fraccin msica en orden CO2 H2 CO
% T - temperatura, [K]
% P - presin, [bar]
R = 8.3143; % const.univ. de los gases, [J/(mol.K)]
% masa molecular
% CO2 H2 CO
M = [44.01 2.016 28.01];
% coeficiente de compresibilidad
% CO2 H2 CO
z = [0.274 0.303 0.295];
Zmez = sum(x.*z);
Mmez = sum(M./x);
ro = Mmez.*P./(Zmez.*T.*R);
% end function densMez
Llamando a la funcin con nuestros datos:
>> densMez([0.25 0.6 0.15],423,20)
ans =
7.0688
Calcular el grosor de un cilindro
Un recipiente cilndrico es utilizado para almacenar un lquido corrosivo de una densidad media de 1.200 kg/m3.
El vaso ha sido construido para trabajar con una presin mxima de 8 bar y una temperatura de 60C con un
dimetro de 1.100 mm y una altura de 2.100 mm, con fondo y tapa plana. Construir un programa en MATLAB
para calcular el grosor del cilindro
Solucin:
El grosor de la pared de un tanque en mm se calcula de la relacin:
_p = + cex + cr
donde _0 es el espesor de la resistencia de la paredel elemento, cex est agregado para Llevar a Condit
establecido operativo y cr representan el redondeo aplicado para llevar el valor de espesor disear un espesor
normalizado un Espesor resistente un _0 en [mm] para un elemento cilndrico se da un tiempo relativamente
tomar:
_0 = pc D
2 ' _ta
pc
(10.10)
unde: pc este presiunea de calcul a recipientului n [MPa], D este diametrul recipientului
n [mm], _ta

43

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

este rezistenta admisibila a materialului de constructie al vasului


la temperatura de calcul exprimata n [MPa] iar ' este coeficientul de rezistenta al
mbinarilor sudate.
Adaosul pentru conditiile de exploatare, cex n [mm] este grosimea suplimentara
care se adauga la grosimea de rezistenta a peretelui vasului ce este susceptibil de a se
subtia datorita coroziunii/eroziunii n asa fel ncat sa asigure functionarea sigura pe
durata de functionare a vasului. Acest adaos este dat de relatia:
cex = (vce + vci + ve) _ (10.11)
unde: vce este viteza de coroziune pe fata exterioara a vasului n [mm/an], vci este
viteza de coroziune pe fata interioara a vasului, n [mm/an], ve este viteza de eroziune
n [mm/an] iar _ reprezinta durata de functionare a aparatului exprimata n [ani].
Ultima componenta a calculului grosimii de proiectare este rotunjirea cr, care tine
seama de valoarea grosimii standardizate imediat superioare sumei _0+cex a tablei din
care se confectioneaza vasul si de abaterea negativa la grosime, cab, care se stabileste
din standarde functie de grosimea standardizata.
Calcul de rezistenta prezentat este valabil doar pentru vase cu pereti subtiri,
conditia care se cere a fi ndeplinita pentru aceasta fiind:
__
0D
6 0,1 (10.12)
unde __
0 = _p cex cab este grosimea de rezistenta efectiva.
Presiunea de calcul, pc este egala cu presiunea maxima admisibila de lucru a
vasului, pm la care se adauga presiunea hidrostatica a coloanei de lichid din vas:
pc = pm + ph (10.13)
Presiunea hidrostatica, ph reprezinta presiunea datorata coloanei de lichid din
recipient si se calculeaza cu relatia:
ph = 9,81 109 hl _ (10.14)
unde hl reprezinta naltimea coloanei de lichid iar _ densitatea lichidului.
Presiunea de ncercare hidraulica a recipientului pph este data de relatia:
pph = 1,25 pm _20
a

_ta
(10.15)
unde _20
a este rezistenta admisibila a materialului de constructie al vasului la temperatura
de 20C.
Presiunea de ncercare hidraulica calculata, pphc este data de relatia:
pphc = pph + pha (10.16)
unde pha este presiunea hidrostatica a lichidului de ncercare care este apa.
Rezistenta admisibila a materialului _20
a si _ta
se calculeaza prin relatiile:
_20
a = min
__20
c

1,5 ; _20
r

2,4
_
(10.17)
_ta
= min
_ _tc
1,5; _tr
2,4

44

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

_
(10.18)
unde: _c si _r reprezinta limita de curgere respectiv rezistenta la rupere la tractiune
n [MPa].
Rezistenta efectiva a peretelui vasului la ncercarea de presiune hidraulica se calculeaz
a cu relatia:
_ef = pphc(D + s_
0)
2 ' __
0

(10.19)
Verificarea vasului la presiune hidraulica implica respectarea conditiei:
_ef 6 0,9 _20
c (10.20)
Calculul de rezistenta al peretelui unui vas cilindric implica parcurgerea urmatorului
algoritm:
1. se calculeaza grosimea de rezistenta _0 cu relatia 10.10;
2. se calculeaza adaosul pentru conditiile de exploatare, cex cu relatia 10.11;
3. se identifica valoare rotunjirii cr prin alegerea grosimii standardizate imediat
superioare valorii calculate _0 + cex;
4. se verifica daca vasul este cu pereti subtiri conform conditiei 10.12. Daca acest
lucru nu se verifica, algoritmul este abandonat;
5. se calculeaza rezistenta efectiva cu relatia 10.19;
6. se verifica conditia 10.20. Daca aceasta conditie se verifica grosimea de proiectare
a peretelui vasului, _p este corecta si algoritmul furnizeaza aceasta valoare.
Daca conditia nu de respecta se incrementeaza cu 1 mm grosimea de rezistenta
efectiva a vasului, __
0 si se revine la pasul 2 al algoritmului.
Caracteristicile materialului de constructie al vasului sunt aratate n tabelul 10.2.
Tabelul 10.2. Caracteristici OL42 (conform SR EN 10207/95).
Caracteristici Valoare
_20
c , [MPa] 260
_tc
, [MPa]
la 100C 225
la 150C 216
la 200C 206
la 250C 186
_20
r , [MPa] 410
_tr
, [MPa]
la 100C 395
la 150C 380
la 200C 360
la 250C 300
grosime tabla, [mm] 4, 5 (abatere la grosime: 0,5 mm)
6, 7 (abatere la grosime: 0,6 mm)
8, 9, 10, 12, 14, 15, 16, 18, 20, 22, 25
(abatere la grosime: 0,8 mm)
28, 30 (abatere la grosime: 0,9 mm)
32, 35, 38, 40 (abatere la grosime: 1,0 mm)
Utilizand toate aceste informatii, se scrie urmatorul program MATLAB:
%Program de calcul al grosimii de proiectare
% pentru un vas cilindric vertical

45

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

clear all;clc
false = 0;
true = 1;
p_m = 0.8; % presiunea maxima admisibila, [MPa]
D = 1100; % diametrul vasului, [mm]
H = 2100; % inaltimea vasului, [mm]
t = 60; % temperatura maxima de lucru, [grd.C]
ro = 1200; % densitatea lichid stocat, [kg/mc]
an = 10; % durata de exploatare, [ani]
v_ex = 0.1; % viteza procesului de coroziune externa, [mm/an]
v_in = 0; % viteza procesului de coroziune interna, [mm/an]
v_e = 0.01; % viteza procesului de eroziune, [mm/an]
fi = 0.9; % coef. suduri
ro_apa = 1000; % densitate lichid de incercare, [kg/mc]
% caracteristici material
sig_c_20 = 260;
sig_r_20 = 410;
t_date = [100 150 200 250];
sig_c = [225 216 206 186];
sig_r = [395 380 360 300];
% grosime si abatere standard a tablei
ds = [4 5 6 7 8 9 10 12 14 15 16 ...
18 20 22 25 28 30 32 35 38 40];
ab = -[0.5 0.5 0.6 0.6 0.8 0.8 0.8 0.8 0.8 0.8 0.8 ...
0.8 0.8 0.8 0.8 0.9 0.9 1 1 1 1];
% calcul rezistenta material
sig_a_20 = min([sig_c_20/1.5 sig_r_20/2.4]);
sig_c_t = interp1([20 t_date],[sig_c_20 sig_c],t);
sig_r_t = interp1([20 t_date],[sig_r_20 sig_r],t);
sig_a_t = min([sig_c_t/1.5 sig_r_t/2.4]);
% presiunea hidrostatica, [MPa]
p_h = 9.81e-8*H*ro;
% presiunea de calcul, [MPa]
p_c = p_m + p_h;
% grosimea de rezistenta, [mm]
d0 = p_c*D / (2*fi*sig_a_t - p_c);
% adaos de exploatare, [mm]
c_ex = (v_ex + v_in + v_e)*an;
% grosimea de rezistenta calculata, [mm]
d0c = d0 + c_ex;
test = false;
while ~test
% grosimea standardizata, [mm]
i = 1;
while (d0c-ab(i))>ds(i)
i = i + 1;
end
c_r = ds(i) - (d0 + c_ex - ab(i));
d_p = d0 + c_ex + c_r - ab(i);
% presiunea de incercare hidraulica, [MPa]
p_ph = 1.25*p_m*sig_a_20/sig_a_t;
% presiunea hidrostatica apa, [MPa]
p_ha = 9.81e-8*H*ro_apa;
% presiunea de incercare hidraulica calculata, [MPa]
p_phc = p_ph + p_ha;
if (d0c/D)>0.1
error(Vasul este cu pereti grosi!!!);
end

46

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

sig_ef = p_phc*(D + d0c)/(2*fi*d0c);


test = sig_ef<=(0.9*sig_c_t);
if ~test d0c = d0c + 1; end
end;
% raport
disp( Calculul grosimii de proiectare);
disp( =========================================);
disp(sprintf( diametrul, [mm] %4d,D));
disp(sprintf( inaltimea, [mm] %4d,H));
disp(sprintf( presiunea, [MPa] %5.1f,p_m));
disp(sprintf( temperatura, [grd.C] %3d,t));
disp( -----------------------------------------);
disp(sprintf( rezistenta mat. 20C, [MPa] %5.1f,sig_a_20));
disp(sprintf( rezistenta mat.%3dC, [MPa] %5.1f,t,sig_a_t));
disp( -----------------------------------------);
disp(sprintf( presiunea de calcul, [MPa] %7.3f,p_c));
disp(sprintf( pres.de incercare hidr., [MPa] %7.3f,p_phc));
disp( -----------------------------------------);
disp(sprintf( grosimea de proiectare, [mm] %2d,d_p));
disp( =========================================);
% end script
Dupa rularea programului obtinem urmatorul raport:
Calculul grosimii de proiectare
=========================================
diametrul, [mm] 1100
inaltimea, [mm] 2100
presiunea, [MPa] 0.8
temperatura, [grd.C] 60
----------------------------------------rezistenta mat. 20C, [MPa] 170.8
rezistenta mat. 60C, [MPa] 161.7
----------------------------------------presiunea de calcul, [MPa] 1.047
pres.de incercare hidr., [MPa] 1.263
----------------------------------------grosimea de proiectare, [mm] 6
=========================================
10.2.2. Calculul puterii necesare la antrenarea unui amestecator
Exercitiul 10.5. Se cunosc urmatoarele informatii despre un reactor prevazut
cu un sistem de amestecare cu elice:
presiunea maxima de lucru din vas: 0,8 MPa;
densitatea mediului de lucru: 1.200 kg/m3;
vascozitatea dinamica a mediului de lucru: 5,5 cP;
diametrul elicei: 0,4 m;
turatia: 300 min 1;
diametrul arborelui: 60 mm;
latimea unui inel de etansare: 20 mm.
Sa se scrie un program MATLAB pentru calculul puterii electromotorului
de actionare al sistemului de amestecare.
Rezolvare: Puterea efectiva de actionare a unui amestecator, N, se stabileste functie
de mai multe elemente: puterea necesara amestecarii, Nam, care exprima puterea efectiv
a transmisa mediului de lucru, puterea pierduta prin frecare n cutia de etansare,
Nf si puterea pierduta n vas datorita amenajarilor interioare (teaca de masurare a
temperaturii, serpentina, spargator de vartej, rugozitatea peretilor, s.a.m.d.). Relatia
de calcul utilizata este [20]:

47

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

N=k
_t

h
Nam
_
1+
X
'i
_
+ Nf
i
(10.21)
unde: k reprezinta coeficientul de majorare a puterii care tine seama de suprasarcinile
care apar la pornire, umplere sau alimentare, _t este randamentul total al sistemului
de actionare iar 'i reprezinta factori de majorare datorate prezentei unor amenajari
interioare. In cazul P'i = 0,4. nostru, valorile acestor coeficienti sunt: k = 1,25, _t = 0,95 si
Puterea necesara amestecarii, n [kW], pentru alte amestecatoare decat cele de
tipul impeller, se calculeaza cu relatia:
Nam = np
_n
60
_3
d5 _ 103 (10.22)
unde: np este numarul caracteristic de putere, n reprezinta turatia amestecatorului
[min1], d este diametrul amestecatorului, [m], iar _ este densitatea lichidului antrenat.
Numarul caracteristic de putere, np, se stabileste functie de criteriul Reynolds
conform datelor prezentate n tabelul 10.3. Valoarea criteriului Re se calculeaza cu
expresia:
Re = 16,25 n d2 _
_ (10.23)
unde _ reprezinta vascozitatea mediului de lucru, n [cP].
Tabelul 10.3. Numarul caracteristic de
putere pentru amestecatoare cu elice.
Valoarea Numarul caracteristic
criteriului Re de putere, np
102 1
103 0,5
104 0,3
105 0,27
106 0,22
Puterea consumata prin frecare n cutia de etansare a sistemului de amestecare,
Nf n [kW], se calculeaza cu relatia:
Nf = 2,255 107 d2
a m b pm n (10.24)
unde: da este diametrul arborelui amestecatorului n dreptul cutiei de etansare, n
[mm], m reprezinta numarul de inele de etansare, b estenaltimea unui inel de etansare,
n [mm], este coeficientul de frecare si pm reprezinta presiunea maxima admisibila
de lucru n vas, [MPa]. Valorile utilizate n acest caz sunt: m = 4, b = 20 [mm] si
= 0,075.
Puterea calculata a electromotorului, conform relatiei 10.21, este folosita pentru
alegerea puterii electromotorului dintr-o lista de puteri disponibile. Puterile electromotoarelor
disponibile pe piata formeaza urmatorul sir de valori, n [kW]: 0,8; 1,1;
1,5; 2,2; 3; 4; 5,5; 7,5; 10; 13; 17; 22; 30; 40; 55; 70.
Utilizand aceste informatii, se construieste urmatorul program MATLAB:
%Program de calcul al puterii electromotorului

48

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

% de antrenare al unui amestecator cu elice


clear all;clc
false = 0;
true = 1;
p_m = 0.8; % presiunea maxima admisibila, [MPa]
d = 0.4; % diametrul elicei, [mm]
d_a = 60; % diametrul arbore, [mm]
n = 300; % turatia elicei, [1/min]
ro = 1200; % densitatea mediului de lucru, [kg/mc]
eta = 5.5; % vascozitatea mediului de lucru, [cP]
k = 1.25; % coef. majorare putere
rt = 0.95; % randament totalal sistemului de actionare
sfi = 0.4; % suma amenajari interioare
m = 4; % numar inele de etansare
b = 20; % inaltimea inelului de etansare, [mm]
c_f = 0.075; % coeficient de frecare
Re_t = [1e2 1e3 1e4 1e5 1e6];
np_t = [1 0.5 0.3 0.27 0.22];
P_disp = [0.8 1.1 1.5 2.2 3 4 5.5 7.5 ...
10 13 17 22 30 40 55 70];
% calculul coeficientului de putere
Re = 16.25*n*d^2*ro/eta;
np = interp1(log(Re_t), np_t, log(Re));
% calculul puterii necesare pentru amestecare
N_am = np * (n/60)^3 * d^5 * ro * 1e-3;
% calculul puterii consumate prin frecare
N_f = 2.255e-7 * d_a^2 * m * b * c_f * p_m * n;
% calcul puterii efective de actionare
N = k/rt*(N_am*(1 + sfi) + N_f);
disp(sprintf(Puterea efectiva %6.2f kW,N));
% alegerea puterii electromotorului
i = 1;
while N>P_disp(i)
i = i + 1;
end;
P = P_disp(i);
disp(sprintf(Putere electromotor %6.2f kW,P));
% end script
Apeland acest program, obtinem urmatorul rezultat:
Puterea efectiva 2.27 kW
Putere electromotor 3.00 Kw

FUNCION plot3( )
La funcin plot3 es anloga a su homloga bidimensional plot. Su forma ms sencilla es la
siguiente:
>> plot3(x,y,z)
que dibuja una lnea que une los puntos (x(1), y(1), z(1)), (x(2), y(2), z(2)), etc. y la proyecta
sobre un plano para poderla representar en la pantalla.
Ejemplo:
49

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

x=cost(t);
y=cost(t);
z=t;

DIBUJO DE MALLADOS:
FUNCIONES meshgrid(), mesh(), surf()
Meshgrid

50

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

51

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

52

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

DIBUJO DE CURVAS DE NIVEL:


FUNCIONES contour, contour3, surf.

Siguiendo con el ejemplo anterior:

53

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

54

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Otros tipos de ploteos tridimensionales de Funciones:


La table de abajo mestra todas la variedad de graficaciones de funciones y volmenes 3D. Inclusive funciones
que generan data 3-D (cilindro, elipsoide, esfera), ademas otros arreglos de data o funciones. Para
informacinacerca de los ejemplos del uso de funciones grficas 3-D, ver Creacin de Grafics 3 D en la
documentacin Visualizacin 3 D.

Lneas

mallas

GRAFICOS DE:
reas
superficies

direcciones

volumtricos

55

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Sistemas de ecuaciones no lineales.


Comando fsolve()

mifuncion.m

56

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

En la ventana de comandos:

Integracin
quad(@f, a, b)Integra por cuadraturas la funcin f, desde ahasta b.

Diferenciacin numrica:
diff(x)
Si x = [x(1) x(2) x(n)] entonces
diff(x) = [x(2)-x(1) x(3)-x(2) x(n)-x(n-1)]
EDOs de primer orden

57

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Lmites

58

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Derivacin e integracin

59

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

60

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

61

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

62

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Series de Taylor

63

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Ecuaciones diferenciales ordinarias

64

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

Simulacin de un reactor no isotrmico

65

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

66

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

67

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

68

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

69

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

70

MANUAL DE MATLAB BASICO I


MATLAB VER 7.12.0.635 (R2011a)

ING. JOSE SAUL ORBEGOSO LOPEZ

71

También podría gustarte