Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al...
Transcript of Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al...
Informática aplicada al Medio Ambiente 2
Workspace
Variables y funciones definidas who → lista de variables whos → descripción
>> whos
Name Size Bytes Class
A 3x3 72 double array
help función: Ayuda sobre la función doc función: Ayuda extendida, en navegador lookfor texto: busqueda del texto
Informática aplicada al Medio Ambiente 3
Variables
A = Expresión % Letra + letra, dígitos o subrayado. Sensible a mayúsculas/minúsculas
Nomenclatura: Matrices en Mayúsculas
Ej.: MiMatriz = [1, 2; 3, 4] Escalares y vectores en minúsculas
Ej.: escalar = 3
Valores especiales: pi, inf, NaN, realmin, realmax, ans
Informática aplicada al Medio Ambiente 4
Matrices y vectores
Matriz: [ fila ;|fila ... ] Filas: Elementos separados por ',' o blanco Ej.: A=[1 2 3; 4, 5 6
7 8, 9] El tamaño puede cambiar
Vector = Matriz con solo una fila o una columan Ej.: vectorFila=[1, 2, 3] Ej.: vectorColumna=[1; 2; 3]
Informática aplicada al Medio Ambiente 5
Matrices y vectores
Acceso: V(Fila, Columna) V(Posición) (Las matrices se almacenan por
columnas)
Ej.: M= [1, 2, 3; 4, 5, 6; 7, 8, 9] v1= [1, 2, 3], v2= [1; 2; 3] M(2, 3) M(1, 2) m(1, 2) M(1, 4) M(1)? M(4)? M(10)? M(0)? v1(2)? v2(3)? v1(1, 2)? v2(2, 1)?
Informática aplicada al Medio Ambiente 6
Sentencias Separadas por o comas
>> v1=[1, 2, 3], v2=[3 4 5]v1 =
1 2 3
v2 =
3 4 5
Separadas por ; Solo muestra el resultado de la última sentencia
ejecutada
Comentarios % v= 3+4 % una suma v= 4+4; % sin mostrar el resultado
Informática aplicada al Medio Ambiente 7
Respuesta
ans %answer Almacena la última
respuesta no asignada a ninguna variable
Se puede utilizar en los siguientes cálculos
>> A=[1, 2, -3; 4, -5, 6; -7, 8, 9]
A = 1 2 -3
4 -5 6
-7 8 9
>> inv(A)
>> ans*Aans =
1.0000 -0.0000 -0.0000
-0.0000 1.0000 0
0.0000 0 1.0000
Informática aplicada al Medio Ambiente 8
Modificación de matrices
A=[1, 2, 3; 4, 5, 6; 7, 8, 9]
A(1, 3)=9 A(2, 4)= 3 Vectores fila por
omisión W(3)= 5
w =
0 0 5
A =
1 2 9
4 5 6
7 8 9
A =
1 2 9 0
4 5 6 3
7 8 9 0
Informática aplicada al Medio Ambiente 9
Matrices y submatrices
v= [a:b] ó [a:s:b] %series linspace (a, b, n) %n elementos entre a y b x(a:b) devuelve elementos entre a-ésimo y
bésimo A(a:b, c:d) A(:, c:d) A(a, :) A(:, :)
Informática aplicada al Medio Ambiente 10
Operadores matriciales
+ adición o suma – sustracción o resta * multiplicación ' traspuesta ^ potenciación \ división-izquierda
(a\b) = b/a en escalares. inv(A)*B
/ división-derecha
.* producto elemento a elemento
./ y .\ división elemento a elemento
.^ elevar a una potencia elemento a elemento
Informática aplicada al Medio Ambiente 11
Funciones con matrices
diag(A) %diagonal como columna
eye(n) %identidad eye(m, n) zeros(m, n) ones (m, n) rand (m, n)
%uniforme [0..1] randn(m, n) %normal
size(A) length(v) tril(A) %triángulo inf.
izq. (inc. diag.) triu(A) %triángulo
sup. der. (inc. diag.) inv(A)
Informática aplicada al Medio Ambiente 12
Cadenas de caracteres
c='una cadena' abs(c) → ASCII setstr(vector) →
cadena
str2mat(filas de cadenas)
num2str(numero) int2str(entero)
dec2hex(entero) hex2dec(cadena) lower(cadena) upper(cadena) strcmp(s1, s2)
1=iguales, 0=distintas
strncmp(s1, s2, n) strcmpi, strncmpi
(ignoring case)
Informática aplicada al Medio Ambiente 13
Cadenas de caracteres
disp(cadena) %muestra la cadena strrep(s, exp1, exp2) findstr(s, exp) %posiciones de exp en s ischar(exp)
Obsoleto: isstr(exp)
eval('expresion') Concatenación: [cadena1, cadena2, ....]
Informática aplicada al Medio Ambiente 14
Entrada de datos
input('mensaje', 's') ej.: input ('¿Cómo te llamas? ', 's')
input('mensaje') %evalua la expresión introducida
menu('Título', opción1, opción2....) Devuelve el número de opción. 1=opción1...
Informática aplicada al Medio Ambiente 15
Números
Tipos Enteros Racionales Reales Complejos
Operadores básicos Aritméticos: +, -, *, /, ^ Lógicos: ~v (negación de v), a&b (and), a|b (or),
xor(a,b) (or exclusivo) Relacionales: <, <=, >, >=, ==, ~=
Informática aplicada al Medio Ambiente 16
Operadores básicos
Valores booleanos: (Álgebra de G. Bool) 0=Falso ~=0 Verdadero. Normalmente se usa el 1
any(v): Devuelve si algún componente del vector ~= 0
all(x): Devuelve si todos son no nulos En matrices devuelve vector fila con resultado
de cada columna
Informática aplicada al Medio Ambiente 17
Prioridad
^ → *, / → +, - En igualdad se ejecutan de izquierda a derecha Paréntesis para alterar prioridad Aritméticos → relacionales → lógicos (& → | ) && y || equivalen a & y |, en cortocircuito
Más eficientes en algunos casos
Informática aplicada al Medio Ambiente 18
Tipos numéricos. Enteros
int64, int32, int16, int8, uint64, uint32, uint16, uint8
Conversión: x= int16(32000) Detección:
class(x) isinteger(x) isa(x, 'int16') isnumeric(x)
Rangos: intmin('int64'), intmax('int64')
Informática aplicada al Medio Ambiente 19
Tipos numéricos. Reales
single(x), double(y) isfloat(x) %single o double realmin, realmax realmin('single'), realmax('single'
%sin argumentos= realmax o realmin('double')
Otras funciones: isnumeric, class, isa
Informática aplicada al Medio Ambiente 20
Ejemplo
n=1000; AA=rand(n); A=single(AA); tic, Bs=inv(A); toc tic, Bd=inv(AA); toc Nota: Octave aún no tiene single, todos son
double
Informática aplicada al Medio Ambiente 21
Funciones numéricas
rem(n, m) → resto división n/m sign(n) → signo, 1 >0, -1 < 0 max(n, m), min(n,m) gcd(n, m) → máximo común divisor lcm(n, m) → mínimo común múltiplo factorial(n) factor(n) → factores primos
Informática aplicada al Medio Ambiente 22
Cambios de base
dec2base(decimal, base) base2dec('número', base) dec2bin(n), bin2dec('número') dec2hex(n), hex2dec('número')
Informática aplicada al Medio Ambiente 23
Formatos de salida
Format ('tipo') o format tipo Solo afecta a la presentación
Tipos: bank → 2 decimales fijos compact/loose → -/+ legibilidad hex → hexadecimal rat → racional aproximado long / short → 16 o 4 cifras long e, short e → Notación científica Long g, short g → Largo óptimo
Informática aplicada al Medio Ambiente 24
Funciones trigonométricas
sin, cos, tan, csc, sec, cot Radianes
asin, acos, atan, acsc, asec, acot Hiporbólicas
sinh, cosh, coth asinh, acosh, acoth
Informática aplicada al Medio Ambiente 25
Exponenciales y logarítmicos
exp(x) → e ^x log(x) log10(x), log2(x) pow2(x) → 2^x sqrt(x) → raíz cuadrada de X power(x, y) → x^y
Informática aplicada al Medio Ambiente 26
Otras funciones numéricas
abs(x) → valor absoluto floor(x) → suelo ceil(x) → techo round(x) → redondeo al entero más próximo fix(x) → redondea hacia cero