Beruflich Dokumente
Kultur Dokumente
INTRODUCCION AL MATLAB
2 13
11
8
7 12
14
1
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
16
5
9
4
3
10
6 15
2
11
7 14
13
8
12
1
Ejercicio: Determinar las suma de las filas de A.
3. diag(A) Matlab responde:
ans = 16
10
7
1
Ejercicio: Hallar la suma de la diagonal de A.
4. Inversa de A: se escribe inv(A)
Ejercicio: Obtener B = la inversa de A
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
SUBINDICES:
El elemento de la fila i y la columna j, se denota A( i, j), siendo posible
las operaciones entre los elementos de una matriz, por ejemplo, la suma
de los elementos de la cuarta columna de A se escribira:
A(1, 4) + A(2, 4) + A(3, 4) + A(4, 4)
La respuesta de MATLAB sera: ans = 34
EL OPERADOR ( : ), es uno de los operadores ms importantes. Se
utiliza de diferentes formas:
1.- Para definir un vector con elementos secuenciales, por ejemplo,
1: 10
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
EXPRESIONES
MATLAB posee expresiones matemticas, pero a diferencia de otros
lenguajes de programacin, estas expresiones estn referidas a matrices,
estas comprenden:
VARIABLES
NUMEROS
OPERADORES
FUNCIONES
VARIABLES:
Para crear una variable MATLAB no requiere ningn tipo de instruccin de
declaracin o dimensionamiento, cuando encuentra un nuevo nombre de
variable, automticamente crea la variable y dispone de un espacio
apropiado para su almacenamiento. Por ejemplo
num-mesas = 50
Crea una matriz 1 x 1 llamada num-mesas y almacena el valor 25 en su
nico elemento.
NUMEROS:
Usa la notacin decimal convencional, la notacin cientfica y para la
notacin imaginaria utiliza i y j como sufijos, algunos ejemplos de
notaciones nemricas son:
9
-45
0.000005
3.1416
1.600035e-10
5.4e13
1i
5 + 4i
3e6j
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
OPERADORES:
MATRICES
ARREGLOS
+ Suma de matrices
idem
- Resta de matrices
idem
Multiplicacin de matrices
/ Divisin a la derecha
\ Divisin a la izquierda
^ Potencia
Trasposicin
( ) Prioridad de evaluacin
Suma de matrices:
A + A
ans=
32
11
17
20
17
17
11
17
14
26
17
23
25
Multiplicacin de matrices:
A * A
ans= 378
212
206
360
212
370
368
206
206
368
378
212
360
206
212
378
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
169
25
100
121
64
81
36
49
144
16
225
196
Las operaciones con arreglos son muy tiles para la fabricacin de tablas.
Ejercicio: Construir una tabla donde la primera columna son los primeros 10
enteros, la segunda esos nmeros al cuadrado, la tercera los nmeros al
cubo, la cuarta el nmero 2 ^ n , la cuarta 3 ^ n (n son los nmeros enteros
de la primera columna).
C=B./A
El resultado es un arreglo donde sus elementos son el resultado de dividir
los elementos b(i,J) / a(i,J), en este caso C=A. Es importante recordar que la
divisin B/A es diferente a la divisin A/B.
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
FUNCIONES:
MATLAB provee una larga lista de funciones matemticas, la mayora
de las cuales acepta argumentos complejos.
Para obtener una lista de las funciones MATLAB escriba:
help elfun
Si se desea una lista de funciones matemticas ms avanzadas
escriba:
help specfun
help elmat
Matlab reconoce algunas funciones especiales, las cuales tiene un
valor constante:
pi
i=j
realmin
3.14159265
-1
nmero ms pequeo 2
infinito
NaN
no numrico
-1022
1023
exponencial
Log
logaritmo natural
Log10
Sqrt
raz cuadrada
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
GRFICOS:
MATLAB tiene amplias facilidades para mostrar frficos
concernientes a vectores y matrices, una de las funciones
ms tiles para la creacin de grficos es la funcin plot.
Plot trabaja de diferentes maneras:
1. Si y es un vector, plot(y) es un grfico de los elementos de y
versus el ndice de esos elementos.
2. Si x y y son dos vectores plot(x,y) produce un grfico de y
versus x.
Por ejemplo: Mostrar el valor de la funcin seno desde 0 a 2:
t = 0:pi/100:2*pi;
y = sen(t);
Plot(t,y)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
COLOR
SMBOLO
PUNTOS
LINEA
SMBOLO
MARCAS DE
+
Amarillo
punteada
magenta
punto raya
-.
Azul claro
continua
Rojo
a trazos
--
Verde
ninguna
Azul
Blanco
Negro
none
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
Tambin es posible:
1.
2.
3.
4.
5.
6.
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
EJERCICIO:
t=(0:pi/100:2*pi)
y=sin(t);
z=cos(t);
plot(t,y,'g-.',t,z,'r-.');
xlabel('Variable Independiente')
ylabel('Variable Dependiente')
gtext('cos(t)');
gtext('sen(t)');
grid on;
1
0.8
Variable Dependiente
0.6
cos(t)
0.4
0.2
sen(t)
0
-0.2
-0.4
-0.6
-0.8
-1
3
4
Variable Independiente
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
CONTROL DE FLUJO:
MATLAB posee cinco formas dierentes para manejar procesos iterativos:
IF
SWITCH
FOR
WHILE
BREAK
IF
Evala una expresin lgica y ejecuta un grupo de instrucciones cuando
a expresin es verdadera. La opcin elseif y else se utilizan para ejecutar
Instrucciones alternativas.
La palabra end finaliza el bloque iterativo.
Ejemplo:
If A > 0
mayor que cero
elseif A<0
menor que cero
elseif A==0
igual a cero
end
SWITCH
Ejecuta un grupo de instrucciones basado en el valor de una variable o
Expresin. Las palabras case y otherwise definen los bloques de ejecucin
La palabra end define el cierre de la instruccin.
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
EJEMPLO:
Switch (a+b)
Case 0
c=1
Case 1
c=5
Case 2
c=10
Other wise
c=20
end
FOR
Repite un bloque de instrucciones un nmero preeterminado de
veces. La palabra end define el final del bloque de instrucciones a
repetir.
Ejemplo: for n:2:32
r(n)=2*n;
end
r
Ejercicio: Construir un programa en MATLAB que multiplica dos
matrices A = 2 3 5 4
B= 3
3
1 2 8 10
1
2
3 1 4 2
4
1
5
7
PROGRAMA EN MATLAB
%m=n filas de A
%n=ncolumnas de A = n filas de B
%p= n columas de B
m=3;
n=4;
p=2;
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
for k=1:p
for i=1:m
sum=0
for j=1:n
sum=sum+A(i,j)*B(j,k);
end
C(i,k)=sum
end
end
C
WHILE
Repite un bloque de instrucciones un nmero indefinido de veces, bajo
el control de una condicin lgica. La palabra end define el fin del bloque
Ejemplo:
a=0; fa=-inf
b=3; fb=inf
while b-a > eps*b
x = (a+b)/2
fx = x^3-2x-5;
if sign(fx) == sign (fa)
a=x; fa=fx
else
b=x; fb=fx;
end
end
x
ANALISIS NUMERICO
INTRODUCCION AL MATLAB
BREAK
Permite interrupir un lazo iterativo cuando se requiera
Ejemplo:
a=0; fa=-inf
b=3; fb=inf
while b-a > eps*b
x = (a+b)/2
fx = x^3-2x-5;
if fx == 0
break
elseif sign(fx) == sign (fa)
a=x; fa=fx
else
b=x; fb=fx;
end
end
x