1. 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)
2. 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.
3. 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.
4. 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.
5. 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.
6. >>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
7. 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:
8. 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:
9. 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.
10. 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
AB = 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)
11. 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)
13. 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)
14. 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
15. 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
16. 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
1
dttea at
x
at
dtte
a
ax
0
11
, aLog
1
0
11
1,
wz
wz
dtttwz zw
x
zw
x dttt
wz
wzI
0
11
1
,
1
,
wzLog ,
17. [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) =
2
sin1 m
0 2
sin1
1
d
m
u
1
0
2/
0
2
2
2
,2/sin1
1
1
mEdmdt
t
mt
me
1
0
2/
0 22
2
,2/
sin1
1
1
1
mFd
m
dt
mt
t
mk
)(2
2
0
,2/1,0
2
xFdtexerf N
t
x
t
xerfdtexerfc 1
2 2
x
xerfcexerfcx x 112
xerfyyerfinvx
x
dt
t
e 1
18. 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
nm
n
x
xPxPxxP
2!
1
con11
2
2/2
.
0!/!21 ,
2/1
, mxPmnmnxS nm
m
nm
19. 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
20. 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
21. 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
22. 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
23. 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
24. 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
25. 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
26. 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))
27. 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:
28. 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 3
0
0.2
0.4
0.6
0.8
1
20%
30%
10%
25%
15%
Gráficos 2D: Barras, Sectores,
Histogramas, Racimo y Flechas
29. 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 3
0
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
30. 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
32. 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 3
0
0.5
1
normal
10
-2
10
0
10
2
10
-4
10
-2
10
0
logaritmica
10
-2
10
0
10
2
0
0.5
1
semilogaritmica en x
0 1 2 3
10
-4
10
-2
10
0
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')
33. 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 3
10
0
10
1
10
2
10
3
10
4
t
exp(t.*t)
34. 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')
1
20
2
1
k
k
M
k
P
P
0 0.2 0.4 0.6 0.8 1
1
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
35. 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
1
0
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:
37. 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
38. 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
0
0.5
1
-1
0
1
0
1
2
3
4
22 yx
xeZ
-2 -1 0 1 2
-2
-1
0
1
2
3
39. 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
5
0
0.2
0.4
0.6
0.8
1
0
10
20
30
0
10
20
30
-0.5
0
0.5