Академический Документы
Профессиональный Документы
Культура Документы
CURSO DE MATLAB
NIVEL I
Bach. Miguel Angel Chicchn Apaza
mchicchona@uni.pe 987803029
The MathWorks
The MathWorks
Objetivo
Se presenta las variables del MatLab como almacenes de datos. Dos operaciones esenciales son enfatizadas:
creacin de variables acceso a los datos contenidos en las variables.
The MathWorks
Que es Matlab?
Programa para la realizacin de clculos matemticos. Ofrece gran facilidad para operar sobre matrices (MATrix LABoratory). Dispone de un lenguaje de programacin interpretado.
The MathWorks
The MathWorks
The MathWorks
Variables Especiales
ans pi eps inf NaN i, j realmin realmax Nombre de variable por defecto para resultados Valor de la mayor precisin de un nmero en matlab Infinito No es un nmero (0/0) i = j = sqrt(-1) = raz cuadrada de -1 El nmero real positivo ms pequeo El nmero real positivo ms grande
The MathWorks
Nota:
56/8 == 8\56
a + b a - b a = b
(asigna b a a)
The MathWorks
Otros smbolos
>> ... , % ;
:
lnea de comando Continua la sentencia en la siguiente lnea separa sentencias y datos comentario y fin de lnea (1) suprime la salida (2) separa lneas en una matriz especifica un rango de datos.
The MathWorks
Ejercicio 1
Calcula el resultado de las siguientes operaciones:
2(4-1)/18 + (8-6)75/(7+9)+ 3/4-5 e + pi cos(pi) sin(pi/2) f = (3+2i)(-2-3i) log(32)+log(4-54)-log10(100)
The MathWorks
Formatos de visualizacin
Por defecto, si un resultado es un nmero entero, lo ofrecer como tal. Si no lo es, lo har con 4 cifras decimales (redondeando a la cuarta cifra). Si el resultado es un nmero grande, lo expresar en notacin cientfica. Este formato que usa por defecto se puede modicar en el men File/Preferences Numeric Format. No obstante, independientemente del formato que se est utilizando, la representacin interna del nmero siempre es la misma, lo nico que cambia es la forma en que lo vemos en la pantalla.
The MathWorks
Formatos de visualizacin
Formato format long format short e format long e format hex format bank format + format rat format short Caracterstica 16 dgitos 5 dgitos ms exponente 16 dgitos ms exponente sistema hexadecimal 2 decimales signo +,- 0 aproximacin racional formato por defecto Ejemplo 0.00402414486922 4.0241e-003 4.024144869215292e-003 3f707b9f29b8eae2 0.00 + 2/497 0.0040
The MathWorks
Matrices en MatLab
The MathWorks
The MathWorks
La matriz en MatLab
1 5
16
A=
1 2
4 8
10 1.2 5
1 9 7 4 13
11
6 4 1 5 0
2 25
21
A (2,4)
12
17
22
Filas (m) 3
4 5
7.2 3 0 23
4
13
18
11 23 56 24 10
25
A (17)
0.5 9 83
10
14
19
15
20
Matriz rectangular: Escalar: matriz de 1X1 Vector: matriz de mX1 matriz de 1Xn Matriz: matriz de mXn
The MathWorks
corchetes rectangulares
NOTA: 1) Separador de fila punto y coma (;) 2) Separador de columna espacio o coma (,)
b =
-2.8000 0 0 + 2.6458i 0 10.5000 0 0 0 0 23.0000
1. Cada expresin de MatLab puede ser ingresada como un elemento de una matriz (internamente es otra matriz) 2. En MatLab, los matrices siempre son rectangulares
The MathWorks
Ejercicio 2
1. Define una matriz A de dimensin 2x4 donde A(i,j)= i+j.
Coloca en la 2 fila y 2 columna el nmero . Haciendo una sola asignacin, crea desde A, la matriz B, tal que B sea cuadrada y contenga toda la matriz A
The MathWorks
Expansin Escalar
Expansin escalar: Suma de matriz + escalar
w=[1 2;3 4] + 5 w = 6 7 8 9 x = 1:5 x = 1 2 y = 2:-0.5:0 y = 2.0000 1.5000 z = rand(2,4) 3 4 5
1.0000
0.5000
z =
0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 0.4565 0.0185
The MathWorks
Ejercicio 3
Suma a cada uno de los elementos de la matriz A, el valor de 3 y asgnalo a la matriz D
Suma solo al elemento de la fila 2 y columna 2 de la matriz A el valor de 5.
Define E = [1 2 3 4 5], F = [2 3 4 5 6]
Suma los elementos de E y F, uno a uno y asgnalos a G
Crea una matriz de 6x6 con valores aleatorios entre 1 y 11. Crea la siguiente matriz con una sola asignacin:
1 2 3 4 5 6 2 3 4 5 6 7 3 4 5 6 7 8 4 5 5 6 6 7 7 8 8 9 9 10 6 7 8 9 10 11
round
The MathWorks
A=
1 2 3
4 8
10
11
6 4 1 5 0
16
21
1.2 7 5
8
9 12 7 13 4 14
17
25 22 11 23 56 24 10 25
A(1:5,5) A(1:end,end) A(:,5) A(:,end) A(21:25) A(21:end)
7.2 3 0 23
4
18
A(3,1) A(3)
4 5
0.5 9
19
83 10 1315
20
The MathWorks
Concatenacin de matrices
Use [] para combinar los matrices como elementos de una matriz
a=[1 2;3 4]
a =
1 3 2 4
corchetes rectangulares []
4*a; 5*a, 6*a] 4 8 8 16 12 24
Separador de fila punto y coma (;) Separador de columna espacio o coma (,)
4*a
The MathWorks
Ejercicio 4
Crea la siguiente matriz (P)
1 2 3 4 5 6 7 8 2 3 4 5 3 4 5 6 4 5 6 7 8 9 10 11 5 6 7 8 9 10 11 12 6 7 7 8 8 9 9 10 10 11 12 13 11 12 13 14 8 9 10 11 12 13 14 15
6 7 7 8 8 9 9 10
6 7 7 8 8 9 9 10
The MathWorks
4.0000
0.1000 A(:,2)=[] A =
3.0000
10.0000
2.5000
1.0000+3.0000i
1.0000
4.0000 0.1000 A(2,2)=[] ???
9.0000
2.5000 1.0000 + 3.0000i
The MathWorks
Multiplicacin de matrices
a = [1 2 3 4; 5 6 7 8];
b = ones(4,3);
c = a*b c = 10 26 10 26 10 26 [2x4]*[4x3]
Multiplicacin punto
a = [1 2 3 4; 5 6 7 8];
b = [1:4; 1:4]; c = a.*b c = 1 5 4 12 9 21 16 32
c(2,4) = a(2,4)*b(2,4)
The MathWorks
Ejercicio 5
Elimina la primera y ltima columna de las matrices P y Q para obtener las matrices R y S.
Multiplica P*Q Calcular la multiplicacin punto P.*Q
The MathWorks
The MathWorks
The MathWorks
Matemtica Elemental
The MathWorks
Matemticas elementales
Operadores lgicos
Funciones matemticas
Polinomios e interpolacin
The MathWorks
Operaciones lgicas
= = equal to
>
<
greater than
less than
Mass = [-2 10 NaN 30 -11 Inf 31]; each_pos = Mass>=0 each_pos = 0 1 0 1 0 1 1 all_pos = all(Mass>=0) all_pos = 0 all_pos = any(Mass>=0) all_pos = 1 pos_fin = (Mass>=0)&(isfinite(Mass)) pos_fin = 0 1 0 1 0 0 1
find
Nota:
1 = TRUE 0 = FALSE
The MathWorks
Ejemplo:
>> A=magic(4) A= 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 >> j=A>10 j= 1001 0100 0001 0110 >> isa(j,'logical') ans = 1 >> A(j)=-10 A= -10 2 3 -10 5 -10 10 8 9 7 6 -10 4 -10 -10 1
The MathWorks
The MathWorks
The MathWorks
donde x y b son vectores columna, y A una matriz cuadrada invertible. La resolucin de este sistema de ecuaciones se puede escribir en las 2 formas siguientes: x = inv(A)*b x = A\b El operador divisin-izquierda por una matriz (barra invertida \) equivale a pre-multiplicar por la inversa de esa matriz. A\b, produce un resultado aunque la matriz no sea cuadrada y aunque no sea invertible. Por ejemplo si el sistema esta sobredeterminado (ms ecuaciones que incgnitas) se calcula la solucin que minimiza la norma 2 de Ax-b (solucin de mnimos cuadrados)
The MathWorks
The MathWorks
Ejercicio
Se considera la matriz A. Calcular el determinante de la matriz A. Resolver el sistema siendo b un vector columna igual a (1 2 3) A=
6 18 2 7 2 4 4 10 6
The MathWorks
Ejercicio
Se considera la matriz A. Calcular los autovectores y autovalores
A=
1 2 0 2 5 1 4 10 1
The MathWorks
Ejercicio
Se considera la matriz A. Calcular los autovectores y autovalores
A=
1 2 0 2 5 1 4 10 1
The MathWorks
Tipos de datos
Matrices reales:
double single
Otros
char logical cell struct
Matrices enteras:
int8, uint8 int16, uint16 int32, uint32 int64, uint64
realmin ->2.2251e-308, realmax -> 1.7977e+308, eps -> 2.2204e-016 realmin -> 1.1755e-038, realmax -> 3.4028e+038, eps -> 1.1921e-007
The MathWorks
Todas las operaciones de matrices funcionan con matrices dispersas. Si se vuelve ineficiente, se convierte automticamente a matriz normal
s=s+3; % s deja de ser dispersa
The MathWorks
The MathWorks
Identificacin lgica
The MathWorks
The MathWorks
Funciones de redondeo
round: redondea al entero ms prximo floor: redondea hacia Inf ceil: redondea hacia +Inf fix: redondea hacia cero
The MathWorks
Cadenas de caracteres
En Matlab las cadenas de caracteres son vectores de tipo char (igual que en C)
Para utilizar variables que contengan ms de una cadena de caracteres es necesario que todas las cadenas tengan la misma longitud. Esto se facilita con la funcin de conversin char: >> nombres = char('Rafael', 'Ana'); Utilizando cell arrays se puede almacenar cadenas de distintas longitudes.
The MathWorks
strcmp: compara cadenas y retorna 1 para cierto y 0 para falso. (OJO: distinto que en C). Otras funciones de comparacin: strncmp, strcmpi, strncmpi
The MathWorks
The MathWorks
No requiere definicin previa se accede a los campos igual que en C Vectores de estructuras se obtienen dinmicamente aadiendo elementos
The MathWorks
The MathWorks
Cell arrays
Un cell array permite construir vectores en las que cada elemento es de un tipo diferente:
Se utilizan llaves { } en lugar de corchetes [ ] o parntesis ( ). La diferencia con las estructuras es que se accede a los valores utilizando un ndice en lugar del nombre del campo. Trabajar con estructuras es muy ineficiente.
The MathWorks
Cell arrays
Un cell array permite construir matrices en las que cada fila es diferente:
The MathWorks
Cell arrays
Utilizando ( ) accedo a un elemento, que es tipo cell Utilizando { } accedo al valor