Top Banner
Matlab Informática aplicada al medio ambiente curso 2010/2011
27

Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

Aug 18, 2018

Download

Documents

haminh
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

Matlab

Informática aplicada al medio ambiente curso 2010/2011

Page 2: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 3: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 4: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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]

Page 5: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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)?

Page 6: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 7: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 8: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 9: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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(:, :)

Page 10: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 11: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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)

Page 12: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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)

Page 13: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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, ....]

Page 14: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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...

Page 15: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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: <, <=, >, >=, ==, ~=

Page 16: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 17: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 18: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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')

Page 19: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 20: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 21: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 22: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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')

Page 23: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 24: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 25: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 26: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

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

Page 27: Matlab - arantxa.ii.uam.esarantxa.ii.uam.es/~iama/intro-matlab.pdf · Informática aplicada al Medio Ambiente 2 Workspace Variables y funciones definidas who → lista de variables

Informática aplicada al Medio Ambiente 27

Números complejos

i, j = sqrt(-1) x= 3 – 2i x= complex(3, -2) real(x) → 3 imag(x) → -2