An 02 fundamentos del matlab

39
Fundamentos de MATLAB Jesús Abel Mejía Marcacuzco, Ph.D. Lima - Perú Universidad Nacional Agraria La Molina Facultad de Ingeniería Agrícola Departamento de Recursos Hídricos Análisis Numérico (Aplicaciones con MATLAB)

Transcript of An 02 fundamentos del matlab

Page 1: An 02 fundamentos del matlab

Fundamentos

de MATLAB

Jesús Abel Mejía Marcacuzco, Ph.D.

Lima - Perú

Universidad Nacional Agraria La Molina

Facultad de Ingeniería Agrícola

Departamento de Recursos Hídricos

Análisis Numérico

(Aplicaciones con MATLAB)

Page 2: An 02 fundamentos del matlab

Introducción

MATLAB es un software que posibilita la ejecución del cálculo

numérico y simbólico de forma rápida y precisa, acompañado

de características gráficas y de visualización avanzadas aptas

para el trabajo científico y de ingeniería. Trabaja en un

entorno interactivo y cuenta con más de 500 funciones para el

trabajo en distintos campos de la ciencia y presenta un

lenguaje de programación de muy alto nivel basado en

vectores, arreglos y matrices.

Materias como la Estadística, Álgebra lineal, Análisis

matemático y Análisis numérico, Análisis de series temporales

y otros se encuentran en el módulo básico de MATLAB y a

través del Simulink, permite diseñar sistemas dinámicos y

simulación mediante un lenguaje agradable basado en

diagramas de bloques. Admite sistemas de tiempo continuo,

sistemas de control y control inteligente, y aplicaciones de

procesamiento de señal digital y comunicaciones.

Page 3: An 02 fundamentos del matlab

Componentes del MATLAB

Los toolboxes, del MATLAB consisten en paquetes de

ampliación al software básico y son aplicables a determinados

campos de la ciencia e ingeniería:

Symbolic Math: Permite integrar la expresión y el cálculo

simbólico al entorno de cálculo y visualizaciones de MATLAB.

Database Toolbox: Permite desde MATLAB consultar e

intercambiar datos con las bases de datos más populares de

forma dinámica, preservándolos durante el intercambio.

Excel Link Toolbox: Integra toda la potencia de MATLAB

con Microsoft Excel permitiendo la transferencia de datos en

ambos sentidos.

Statistics Toolbox: Soporta 20 tipos de distribuciones de

probabilidad, incorpora el control estadístico de procesos, el

diseño de experimentos, estadística descriptiva, etc.

Page 4: An 02 fundamentos del matlab

Optimization Toolbox: Proporciona diversos algoritmos y

técnicas para solucionar problemas de optimización no

lineales, tanto generales como a gran escala.

Spline Toolbox: Mediante un interface gráfico proporciona

potentes funciones para el ajuste de datos, visualización,

interpolación y extrapolación mediante técnicas spline.

Partial Differential Equation Toolbox: De aplicación en la

solución de problemas como: transferencia de calor, flujo en

medios porosos, medios conductores, cálculo de esfuerzos

de estructuras, campos magnéticos, etc. Usa el método

FEM para solucionar ecuaciones diferenciales parciales.

Neutral Network Toobox: Proporciona las versiones más

comunes de paradigmas y algoritmos para el diseño y

simulación de redes neuronales. Incluye bloques de

Simulink en aplicaciones de control y simulación de

sistemas.

Page 5: An 02 fundamentos del matlab

Variables, Números, Operadores y Funciones

Variables: MATLAB crea la variable mediante asignación

directa de su valor. Los nombres de las variables comienzan

por una letra seguida de cualquier número o letras hasta 31

caracteres. Una variable con mayúsculas es distinta a la

misma variable con minúsculas.

Variables vectoriales: Para representar a un vector de n

elementos se puede definir una variable de las siguientes

formas: V = [v1,v2,v3,…,vn] ó V = [v1 v2 v3 … vn]. Al aplicar

los comandos y funciones del MATLAB sobre una variable

vectorial se aplica sobre cada elemento del vector.

En MATLAB un vector fila se obtiene separando sus

elementos con un espacio en blanco o mediante comas y un

vector columna se obtiene separando sus elementos por

punto y coma, o también transponiendo un vector fila

mediante una comilla simple situada al final de su definición.

Page 6: An 02 fundamentos del matlab

>>b=[2;3;4;5]

b =

2

3

4

5

>> b=a'

b =

2

3

4

5

>>a=[2,3,4,5]

a =

2 3 4 5

Variables matriciales: Las matrices se definen introduciendo

entre corchetes todos sus vectores fila separados por punto y

coma. Por ejemplo, una variable matricial de dimensión 3x3 o

nxn se puede introducir de las dos formas siguientes:

M = [a11 a12 a13;a21 a22 a23;a31 a32 a33] ó

M = [a11,a12,a13;a21,a22,a23;a31,a32,a33]

>> A=[1 3 5;7 9 11]

A =

1 3 5

7 9 11

>> A(2,3)=0

A =

1 3 5

7 9 0

Page 7: An 02 fundamentos del matlab

Números: En MATLAB se puede

trabajar con números enteros, reales,

racionales y complejos. Las operaciones

aritméticas se definen de acuerdo con

las convenciones matemáticas estándar:

x + y Suma

x - y Diferencia

x * y ó x y Producto

x/y División

x y Potencia

>> 174/13

ans =

13.3846

>> format rat; 1/2+1/3+1/4

ans =

13/12

>> format long; 174/13

ans =

13.38461538461539

Formatos de números comúnmente más usados:

Page 8: An 02 fundamentos del matlab

Números complejos: El campo de los números complejos

está perfectamente implementado en MATLAB.

>> (1-5i)*(1-i)/(-1+2i)

ans =

-1.6000 + 2.8000i

pi Número = 3,1415926

exp(1) Número e = 2,7182818

Inf Infinito (por ejemplo 1/0)

NaN Indeterminación (por ejemplo 0/0)

realmin Menor número real positivo utilizable

realmax Mayor número real positivo utilizable

A continuación un grupo importante de números irracionales

y reales que por su utilización merecen trato especial:

Page 9: An 02 fundamentos del matlab

rand Devuelve un número decimal aleatorio distribuido uniformemente

en el intervalo [0,1]

rand(n) Devuelve una matriz de dimensión nxn cuyos elementos son

números decimales aleatorios distribuidos uniformemente en el

intervalo [0,1]

rand(m,n) Devuelve una matriz dimensión mxn cuyos elementos son

números decimales aleatorios distribuidos uniformemente en

intervalo [0,1]

randn Devuelve un número decimal aleatorio distribuido según una

normal de media 0 y varianza 1

randn(n) Devuelve una matriz de dimensión nxn cuyos elementos son

números decimales aleatorios distribuidos según una normal de

media 0 y varianza 1

randn(m,n) Devuelve una matriz de dimensión mxn cuyos elementos son

números decimales aleatorios distribuidos según una normal de

media 0 y varianza 1

Números aleatorios: MATLAB proporciona la función rand

para generar números aleatorios distribuidos uniformemente

y la función randn para generar números aleatorios

distribuidos normalmente.

Page 10: An 02 fundamentos del matlab

Operadores aritméticos: Existen en MATLAB dos tipos de

operaciones aritméticas: las operaciones aritméticas

matriciales, que se rigen por las reglas del álgebra lineal, y las

operaciones aritméticas con vectores, que se realizan

elemento a elemento:

Operador Función que desempeña

+ Suma de escalares, vectores o matrices

- Resta de escalares, vectores o matrices

* Producto de escalares o de matrices

.* Producto de escalares o de vectores

\ A\B = inv(A)*B, siendo A y B matrices

.\ A.\B = [B(i,j/A(I,j)], siendo A y B vectores [dim(A)=dim(B)]

/ Cociente escalar o B/A = B*inv(A), siendo A y B matrices

./ A.\B = [A(i,j/B(I,j)], siendo A y B vectores [dim(A)=dim(B)]

Potencia de escalares o potencia escalar de matriz (Mp)

. Potencia de vectores (A. ^B= [A(i,j)B(i,j)], A y B vectores)

Page 11: An 02 fundamentos del matlab

Operadores relacionales: Ejecutan comparaciones elemento a

elemento entre dos matrices y devuelven una matriz del mismo

tamaño cuyos elementos son ceros si la correspondiente

relación es cierta, o unos si la correspondiente relación es falsa.

< Menor (para complejos sólo afecta a partes reales)

<= Menor o igual (sólo afecta a partes reales)

> Mayor (sólo afecta a partes reales)

>= Mayor o igual (sólo afecta a partes reales)

x == y Igual (afecta a los números complejos)

x = y Desigualdad (afecta a los números complejos)

Operadores lógicos: Los operadores lógicos ofrecen un

camino para combinar o negar expresiones relacionales:

A Negación lógica (NOT) o complementario de A

A & B Conjunción lógica (AND) o intersección de A y B

A | B Disyunción lógica (OR) o unión de A y B

xor(A,B) OR exclusivo (XOR) o diferencia simétrica de A y

B (vale 1 si A o B, pero no ambos, son 1)

Page 12: An 02 fundamentos del matlab

Funciones trigonométricas

Función Inversa

sin(x) asin(x)

cos(x) acos(x)

tan(x) atan(x) y atan2(x)

csc(x) acsc(x)

sec(x) asec(x)

cot(x) acot(x)

Funciones hiperbólicas

Función Inversa

sinh(x) asinh(x)

cosh(x) acosh(x)

tanh(x) atanh(x) y atan2(x)

csch(x) acsch(x)

sech(x) asech(x)

coth(x) acoth(x)

Page 13: An 02 fundamentos del matlab

Funciones exponenciales y logarítmicas

Función Inversa

exp(x) Función exponencial en base e (ex)

log(x) Función logaritmo en base e de x

log10(x) Función logaritmo en base 10 de x

log2(x) Función logaritmo en base 2 de x

pow2(x) Función potencia de base 2 de x

sqrt(x) Función raíz cuadrada de x

Funciones específicas de variable numérica

Función Significado

abs(x) Valor absoluto del real x

floor(x) El mayor entero menor o igual que el real x

ceil(x) El menor entero mayor o igual que el real x

round(x) El entero más próximo al real x

fix(x) Elimina la parte decimal del real x

rem(x) Da el resto de la división entre los reales a y b

sign(x) Signo del real x (1 si x>0, -1 si <0)

Page 14: An 02 fundamentos del matlab

Funciones matemáticas elementales

abs Módulo o valor absoluto

acos, acosh Arco coseno y arco coseno hiperbólico

acot, acoth Arco cotangente y arco cotangente hiperbólico

acsc, acsch Arco cosecante y arco cosecante hiperbólico

angle Argumento

asec, asech Arco secante y arco secante hiperbólico

asin, asinh Arco seno y arco seno hiperbólico

atan, atanh Arco tangente y arco tangente hiperbólico

atan2 Arco tangente en el cuarto cuadrante

ceil Redondeo al entero más próximo

complex Forma un complejo con sus componentes real e imaginaria

conj Complejo conjugado

cos, cosh Coseno y coseno hiperbólico

cot, coth Cotangente y cotangente hiperbólica

csc, csch Cosecante y cosecante hiperbólica

exp Exponencial

Page 15: An 02 fundamentos del matlab

fix Elimina la parte decimal

floor Mayor entero menor o igual que un real dado

gcd Máximo común divisor

imag Parte imaginaria de un número complejo

lcm Mínimo común múltiplo

log Logaritmo natural (neperiano)

log2 Logaritmo en base 2

log10 Logaritmo decimal

mod Modulo

nchoosek Coeficiente binomial

real Parte real de un número complejo

rem Resto de la división

round Redondeo al entero más cercano

sec, sech Secante y secante hiperbólica

sign Función signo

sin, sinh Seno y seno hiperbólico

sqrt Raíz cuadrada

tan, tanh Tangente y tangente hiperbólica

Page 16: An 02 fundamentos del matlab

Funciones matemáticas especiales

airy(Z)=airy(0,Z)

airy(2,Z)

Soluciones linealmente independientes de la ecuación

diferencial w’’-zw=0, w=w(Z) (funciones de Airy clase 1 y 2)

airy(1,Z) y airy(3,Z) Primeras derivadas de las funciones de Airy de clases 1 y 2

besselj(k,Z)

bessely(k,Z)

Funciones de Bessel de 1a y 2a clase soluciones de la

ecuación de Bessel Z2 w”+Zw’+(Z2-k2)w=0, w=w(Z)

besseli(k,Z)

besselk(k,Z)

Funciones de Bessel de 1a y 2a clase modificadas soluciones

de la ecuación de Bessel Z2w’’+Zw’+(Z2+k’) w=0, w=w(Z)

besselh(k,1,Z)

besselh(k,2,Z)

Funciones de Bessel de 3a clase (o de Hankel), que cumplen:

besselh(k,1,Z)=besselj(k,Z)+ibessely(k,Z)

besselh(k,2,Z)=besselj(k,Z)-ibessely(k,Z)

gamma (A)

gammainc(X,A)

gammaln

(A y X vectores)Función gamma gamma incompleta Log de gamma

beta(Z,W)

betainc(X,Z,W)

betaln(X,Z,W)Función Beta Beta incompleta

0

1dttea at

xat dtte

aax

0

11, aLog

1

0

111,

wz

wzdtttwz zw

x

zw

x dtttwz

wzI0

111

,

1,

wzLog ,

Page 17: An 02 fundamentos del matlab

[SN,CN,DN] =

ellipj(U,M)Funciones elípticas de Jacobi

SN(u)=sin(), CN(u) = cos(), DN(u) =

K = ellipke(M)

[K,E] = ellipke(M)

Integrales elípticas completas de 1a (K) y 2a (M) clase

erf(X) =

función de error

erfc(X) =

complementaria de

función de error

erfcx(X) =

complementaria de

escalada de error

erfinv(X) =

inversa de error

F = dist. normal

expint(X)Exponencial integral expint(x) =

2sin1 m

0 2sin1

1d

mu

1

0

2/

0

2

2

2

,2/sin11

1mEdmdt

t

mtme

1

0

2/

0 22

2

,2/sin1

1

1

1mFd

mdt

mt

tmk

)(22

0,2/1,0

2

xFdtexerf N

t

x

t xerfdtexerfc 12 2

x

xerfcexerfcx x 112

xerfyyerfinvx

xdt

t

e 1

Page 18: An 02 fundamentos del matlab

factorial(n)

P = legendre(n,X)

S =Legendren(n,X,’sch’)

Funciones asociadas de Legendre

Funciones de Smith seminormalizadas

pow2(Y)

pow2(F,Y)

2y

f*2y

[N,D] = rat(X)

S = rats(X)

Devuelve los arrays N y D tales que N./D aproxima X

con una tolerancia por defecto de 1.e-6*norm(X(:),1)

Devuelve X en formato racional

1.2.321! nnnnfactorialFuncion

n

nn

n

m

n

mm

nmn

xxPxPxxP

2!

1con 11

22/2

.

0!/!21 ,

2/1

, mxPmnmnxS nm

m

nm

Page 19: An 02 fundamentos del matlab

Funciones de análisis de datos y análisis estadístico

Análisis de datos

cumprod(A) Vector de productos acumulados de las columnas de la matriz A

cumprod(A,2) Vector de productos acumulados de las filas de la matriz A

max(A)

max(A,[ ], 2)

max(A,B)

Vector con los valores máximos de las filas de la matriz A

Vector con los valores máximos de las columnas de la matriz A

Matriz con los máximos de los términos correspondientes de A y B

mean(A)

mean(A,2)

Vector con las medias de las columnas de la matriz A

Vector con las medias de las filas de la matriz A

median(A)

median(A,2)

Vector con las medianas de las columnas de la matriz A

Vector con las medianas de las filas de la matriz A

min(A)

min(A,[ ],2)

min(A,B)

Vector con los valores mínimos de las filas de la matriz A

Vector con los valores mínimos de las columnas de la matriz A

Matriz con los mínimos de los términos correspondientes de A y B

std(A)

std(A,1)

std(A,0,2)

std(A,1,2)

Vector con las cuasidesviaciones típicas de las columnas de A

Vector con las desviaciones típicas de las columnas de la matriz A

Vector con las cuasidesviaciones típicas de las filas de la matriz A

Vector con las desviaciones típicas de las filas de la matriz A

Page 20: An 02 fundamentos del matlab

var(A)

var(A,1)

var(A,W)

Vector con las cuasivarianzas de las columnas de la matriz A

Vector con las varianzas de las columnas de la matriz A

Vector con las varianzas de las columnas de la matriz A ponderados

por las frecuencias absolutas incluidas en el vector W

sum(A)

sum(A,2)

Vector con las sumas de las columnas de la matriz A

Vector con las sumas de las filas de la matriz A

perms(V) Matriz cuyas filas son las posibles permutaciones de los n

elementos del vector fila V

primes(n) Genera un vector con los números primos menores o iguales que n

factor(n) Genera un vector con los factores primos de n

prod(V)

prod(A)

prod(A,2)

Producto de los elementos del vector V

Vector cuyos elementos son los productos de las columnas de A

Vector cuyos elementos son los productos de las filas de la matriz A

sort(V)

sort(A)

sort(A,2)

Ordena los elementos de V en orden ascendente

Ordena cada columna de la matriz A

Ordena cada fila de la matriz A

sortrows(A)

sortrows(A,V)

Ordena las filas A como un grupo en orden ascendente

Ordena la matriz A según los números de columna del vector V

Page 21: An 02 fundamentos del matlab

Diferencias finitas

del2(U)

del2(U,h)

del2(U,hx,hy)

del2(U,hx,hy,)

Laplaciana discreta del vector U (d2u/dx2 + d2u/dy2)/4

Laplaciana discreta del vector U con intervalo h

Laplaciana discreta del array rectangular U con interv. hx y hy

Laplaciana discreta del array multidimensional U con interv. h

FX =

gradient(F)

[FX,FY] =

gradient(F)

[Fx,Fy, Fz,] =

gradient(F)

Gradiente numérica de la matriz F en la dirección de la columna

x (dF/dx)

Gradiente numérica de la matriz F en las direcciones de la

columna x (dF/dx) y de la fila y (dF/dx)

Gradiente numérico de la matriz F en las direcciones de la

todas las componentes (dF/dx, dF/dx, dF/dz, )

Y = diff(F)

Y = diff(F,n)

Vector de diferencias del vector X. Si X es una matriz diff(X)

devuelve los vectores de diferencias por filas

Diferencias sucesivas de orden n

Correlación

corrcoef(X)

corrcoef(x,y)

Matriz de correlaciones, donde X es una matriz cuyas columnas

son variables y cuyas filas son los valores de estas variables

Coeficiente de correlación de los vectores columna x e y

cov(X)

cov(x,y)

Matriz de covarianzas, donde X es una matriz cuyas columnas

son variables y cuyas filas son los valores de estas variables

Covarianza de los vectores columna x e y

Page 22: An 02 fundamentos del matlab

Límites y Continuidad

La sintaxis para calcular el límite de una función f(x)

cuando x tiende a xo, es: limit(f,x,xo).

Por ejemplo para f(x) = x2 + 3x, el límite cuando x tiende a 2

se obtiene con:

>> syms x

>> limit(x^2+3*x,x,2)

ans =

10

El límite de (6x2+2x+1)/(6x2-3x+4), cuando x tiende a ∞ es:

>> syms x

>> limit(((6*x^2+2*x+1)/(6*x^2-3*x+4)),x,inf)

ans =

1

Page 23: An 02 fundamentos del matlab

Se dice que la función es continua en el punto x = a, si se

cumple que limit(f,x,xo) = f(a). Si esta condición no se

cumple se dice que la función es discontinua. Como ejemplo

verificamos la continuidad de la función sin(x)/x en a:

>> syms x a

>> limit(sin(x)/x,x,a)

ans =

sin(a)/a

Adicionalmente verificamos que f(x) es discontinua en x = 0.

>> syms x a

>> limit(sin(x)/x,x,0)

ans =

1

Page 24: An 02 fundamentos del matlab

Derivadas e Integrales

Para calcular derivadas e integrales en MATLAB es

necesario definir x como una variable simbólica por: syms x.

La primera derivada de f(x) = x2 + 2x - 3 se calcula con:

>> syms x

>> f=x^2+2*x-3;

>> diff(f)

ans =

2*x + 2

La segunda derivada se calcula como:

>> diff(f,2)

ans =

2

Page 25: An 02 fundamentos del matlab

La integral indefinida de f(x) = (x3+5x2-4)/(x2), se calcula

como:

>> syms x

>> int((x^3+5*x^2-4)/(x^2))

ans =

(x^3 + 10*x^2 + 8)/(2*x)

La integral definida de f(x) = (e(-x)sin(x))/x se calcula como:

>> syms x

>> f=(exp(-x)*sin(x))/x;

>> int(f,0,inf)

ans =

pi/4

Page 26: An 02 fundamentos del matlab

Ecuaciones Diferenciales

En MATLAB para describir una ecuación diferencial, la

primera derivada se escribe como Dy y la segunda derivada

como D2y. Por ejemplo la solución de la ecuación diferencial

d2y(t)/dt2 + y(t) = 4; usando la instrucción dsolve, es:

>> y=dsolve('D2y+y=4')

y =

C5*cos(t) + C6*sin(t) + 4

La ecuación diferencial d2y(t)/dt2 + ady(t)/dt + by(t) = c, tiene

como solución:

>> y=dsolve('D2y+a*Dy+b*y=c')

y =

c/b + C2*exp(-t*(a/2 - (a^2 - 4*b)^(1/2)/2)) + C3*exp(-t*(a/2 +

(a^2 - 4*b)^(1/2)/2))

Page 27: An 02 fundamentos del matlab

Representación Gráfica en MATLAB

El módulo básico de MATLAB ofrece una gama amplia de

opciones para realizar representaciones gráficas. Permite

realizar gráficos de curvas planas y superficies,

posibilitando la agrupación y la superposición; con colores,

mallas y marcos apropiados. Las representaciones de

funciones pueden realizarse en coordenadas implícitas,

explícitas y paramétricas. MATLAB es, por tanto, un

software matemático con elevadas capacidades gráficas, lo

que le distingue de muchos otros paquetes de cálculo

simbólico. También permite MATLAB realizar gráficos de

barras, líneas, estrellas, histogramas, poliedros, mapas

geográficos y animaciones.

A continuación algunos ejemplos de gráficos en MATLAB:

Page 28: An 02 fundamentos del matlab

A continuación se presenta

un gráfico de barras definidas

por la función e-x*x cuando x

varía de -3 a 3 cada 0.2.

>> x=-2.9:0.2:2.9;

>> bar(x,exp(-x.*x))

Como primer ejemplo se

presenta un gráfico de

sectores, de acuerdo a la

siguiente sintaxis:

>> x=[20 30 10 25 15];

>> pie(x)

-3 -2 -1 0 1 2 30

0.2

0.4

0.6

0.8

1

20%

30%

10%

25%

15%Gráficos 2D: Barras, Sectores,

Histogramas, Racimo y Flechas

Page 29: An 02 fundamentos del matlab

Gráfico escalonado relativo a

la función e-x*x

>> x=-2.9:0.2:2.9;

>> stairs(x,exp(-x.^2))

Gráfico de errores para la función

de densidad de una distribución

normal (0,1), entre -4 y 4, siendo

definidos los errores por 40

valores aleatorios uniformes

(0,10):

>> x=-4:.2:4;

>> y=(1/sqrt(2*pi))*exp(-(x.^2)/2);

>> e=rand(size(x))/10;

>> errorbar(x,y,e)

-3 -2 -1 0 1 2 30

0.2

0.4

0.6

0.8

1

-5 0 5-0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Page 30: An 02 fundamentos del matlab

Gráfica de la función f(x) = sen(x)e-

0.4x en el intervalo [0,10]; mediante

la siguiente sintaxis:

>> x=0:0.05:10;

>> y=sin(x).*exp(-0.4*x);

>> plot(x,y)

Alternativamente, la misma curva

puede ser obtenida:

>>ezplot(‘sin(x).*exp(-0.4*x)’,[0,10]

Gráfico sobre los mismos ejes de las

curvas sen(x), sen(2x) y sen(3x);

usando trazos diferentes, mediante la

siguiente sintaxis:

>>fplot('[sin(x),sin(2*x),sin(3*x)]',[0,2*pi])

Gráficos 2D: Funciones Explícitas, Paramétricas y Polares

0 2 4 6 8 10-0.2

0

0.2

0.4

0.6

0 1 2 3 4 5 6-1

-0.5

0

0.5

1

Page 31: An 02 fundamentos del matlab

p=0:0.05:8*pi;

z=(cos(p)+i*sin(2*p)).*exp(-

0.05*p)+0.01*p;

plot(real(z),imag(z))

xlabel('Re(z)');ylabel('Im(z)')

Gráfico en coordenadas

polares, mediante la

siguiente sintaxis:

>> t=0:0.1:2*pi;

>> r=sin(2*t).*cos(2*t);

>> polar(t,r)

-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Re(z)

Im(z

)

0.25

0.5

30

210

60

240

90

270

120

300

150

330

180 0

0.01p))2sin()(cos(

:complejaFunción

05.0 pepipz

Page 32: An 02 fundamentos del matlab

Títulos, Etiquetas y Texto en Gráficos

Gráfico de la función y = abs(e-0.5xsen(5*x)), en escala normal,

logarítmica y semilogarítmica; sobre un mismo gráfico:

0 1 2 30

0.5

1normal

10-2

100

102

10-4

10-2

100

logaritmica

10-2

100

102

0

0.5

1semilogaritmica en x

0 1 2 310

-4

10-2

100

semilogaritmica en y

>> x=0:0.01:3;

>> y=abs(exp(-0.5*x).*sin(5*x));

>> subplot(2,2,1)

>> plot(x,y)

>> title('normal')

>> hold on

>> subplot(2,2,2)

>> loglog(x,y)

>> title('logaritmica')

>> subplot(2,2,3)

>> semilogx(x,y)

>> title('semilogaritmica en x')

>> subplot(2,2,4)

>> semilogy(x,y)

>> title('semilogaritmica en y')

Page 33: An 02 fundamentos del matlab

Gráfico en escala semilogarítmica de la función y = et*t en el

rango [0.1,3]: >>t=.1:.1:3;

>>semilogy(t,exp(t.*t))

>>grid

>>xlabel('t');ylabel('exp(t.*t)');

0 0.5 1 1.5 2 2.5 310

0

101

102

103

104

t

exp

(t.*

t)

Page 34: An 02 fundamentos del matlab

Gráfico de Relación de Presión Vs. Número

de Mach.

Se recomienda generar un archivo M:

clear;clf;hold off;

M=[0:0.01:1]';

k=1.4;

rp=(1+(k-1)/2*M.^2).^(k/(k-1));

hold on

axis('square');

plot(M,rp)

xlabel('M,numero de Mach')

ylabel('Po/P')

title('Relacion de Presion,

P(estancamiento)/P(estatica)')

text(0.45,1.55,'compresible')

Mb=[0:0.01:0.7]';

rpb=1+k/2*Mb.^2;

plot(Mb,rpb,'--')

text(0.5,1.1,'Incompresible')

120

2

1

k

k

Mk

P

P

0 0.2 0.4 0.6 0.8 11

1.1

1.2

1.3

1.4

1.5

1.6

1.7

1.8

1.9

M,numero de Mach

Po

/P

Relacion de Presion, P(estancamiento)/P(estatica)

compresible

Incompresible

Page 35: An 02 fundamentos del matlab

Gráfico de la hélice paramétrica

x(t) = sen(t), y(t) = cos(t), z(t) = t,

para valores de t entre 0 y 10

separados /50:

>> t=0:pi/50:10*pi;

>> plot3(sin(t),cos(t),t)

>> grid on

>> axis square-1

0

1

-1

0

10

10

20

30

40

Gráfico de tallos para visualizar una

función de dos variables

>> X=linspace(0,1,10);

>> Y=X./2;

>> Z=sin(X)+cos(Y);

>> stem3(X,Y,Z,'fill')

Gráfico de Líneas 3D:

Page 36: An 02 fundamentos del matlab

Superficies Explícitas, Paramétricas y Líneas de Contorno

22

22

yx

yxSenz

>> [X,Y]=meshgrid(-7.5:0.5:7.5);

>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);

>> meshc(X,Y,Z)

-10-5

05

10

-10

0

10-0.5

0

0.5

1

>> [X,Y]=meshgrid(-7.5:0.5:7.5);

>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);

>> surf(X,Y,Z)

-10-5

05

10

-10

0

10-0.5

0

0.5

1

Page 37: An 02 fundamentos del matlab

Curvas de nivel bidimensional y tridimensional para el gráfico del

ejemplo anterior

>> [X,Y]=meshgrid(-7.5:0.5:7.5);

>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);

>> contour(Z)

>> [X,Y]=meshgrid(-7.5:0.5:7.5);

>> Z=sin(sqrt(X.^2+Y.^2))./sqrt(X.^2+Y.^2);

>> contour3(Z,50)

5 10 15 20 25 30

5

10

15

20

25

30

10

20

30

10

20

30

-0.5

0

0.5

1

Page 38: An 02 fundamentos del matlab

Gráfica de un cilindro en coordenadas

paramétricas siguientes: x(t)=t,

y(t)=Sen(t), z(t)=u cuando t varia en

[0.2л] y u varia en [0.4].

>> t=(0:0.1:2*pi)';

>> r=(0:0.1:4);

>> X=sin(t)*ones(size(r));

>> Y=cos(t)*ones(size(r));

>> Z=ones(1,size(t))'*r;

>> mesh(X,Y,Z)

Gráfico de contorno para la superficie

>> [X,Y]=meshgrid(-2:.2:2,-2:.2:3);

>> Z=X.*exp(-X.^2-Y.^2);

>> contour(X,Y,Z,50)

-1-0.5

00.5

1

-1

0

10

1

2

3

4

22 yx

xeZ

-2 -1 0 1 2-2

-1

0

1

2

3

Page 39: An 02 fundamentos del matlab

Generando los cilindros definidos por los

perfiles de las funciones:

2 + cos(t) y 2 + sen(t)

>>t=0:pi/10:2*pi;

>>cylinder(2+cos(t));

>>axis square

Evaluación y Gráfica de la función

en el rango [-2 , 2]; [-2, 2]:

>> [x,y]=ndgrid(-2:.2:2,-2:.2:2);

>> z=x.*exp(-x.^2-y.^2);

>> mesh(z)

22

),(yx

xeyxf

-5

0

5

-5

0

50

0.2

0.4

0.6

0.8

1

010

2030

0

10

20

30-0.5

0

0.5