Está en la página 1de 80

Ingeniería Eléctrica y Electrónica

Introducción a Matlab
Taller Intersemestral
Agosto 2005
Ingeniería Eléctrica y Electrónica

Objetivo:

Presentar Matlab como una herramienta


auxiliar para el análisis y solución de
problemas. Seleccionando y adecuando las
distintas funciones a las necesidades
particulares de cursos del departamento.
Ingeniería Eléctrica y Electrónica

Desglose de Temas
•Introducción
•Funciones y archivos M
•Operaciones con matrices
•Operaciones con arreglos de datos
•Operadores relacionales
•Operadores lógicos
•Funciones para análisis de datos
•Graficación
Ingeniería Eléctrica y Electrónica

Introducción
•MATLAB® es un lenguaje de alto rendimiento para
cómputo técnico.

•Integra elementos de cálculo, visualización en 2 y 3


dimensiones y programación.

•MATLAB significa “MATrix LABoratory” o laboratorio


de matrices.

•Todos los datos en MATLAB son almacenados como


matrices o vectores.
Ingeniería Eléctrica y Electrónica

Introducción
•MATLAB es un lenguaje basado en expresiones.

•Las expresiones tecleadas por el usuario son


interpretadas y evaluadas por el sistema de MATLAB.

•Las órdenes dadas al sistema son formuladas como


enunciados, los cuales tienen la siguiente forma:

variable = expresión
o simplemente
expresión
Ingeniería Eléctrica y Electrónica

Introducción
•Las expresiones se componen de operadores,
caracteres especiales y de nombres de funciones y
variables.

•La evaluación de una expresión produce una matriz, la


cual es desplegada en la pantalla y asignada a una
variable para su uso futuro.

•Si el nombre de una variable y el signo = no son


proporcionados, una variable con el nombre ans
(proviene de “answer” en inglés) es automáticamente
generada.
Ingeniería Eléctrica y Electrónica

Variables
•Los nombres de variables deben ser de una sola
palabra y que no contengan espacios.

•MATLAB distingue entre mayúsculas y minúsculas.

•Los nombres de variables pueden contener hasta 19


caracteres, deben iniciar con una letra seguida por
cualquier número, letra, digito o una línea de
subrayado.

•Los signos de puntuación no son permitidos ya que la


mayoría tiene un significado especial en MATLAB.
Ingeniería Eléctrica y Electrónica

Variables
•MATLAB almacena la información de las variables en
forma progresiva en lo que se llama espacio de trabajo
de MATLAB (MATLAB workspace).

• El comando who lista nuestras variables.

•Información más detallada se puede obtener con el


comando whos.

•El comando clear puede ser usado para limpiar o


borrar una variable del espacio de trabajo.
Ingeniería Eléctrica y Electrónica

Variables especiales
ans Nombre de la variable usada por default

pi 3.14159.........

eps Precisión relativa de punto flotante (Versión 6.5: 2.2204e-


16)
inf Significa infinito como 1/0

NaN Que significa Not-a-Number o no es un número como 0/0

iyj i = j = sqrt(-1)

nargin El número de argumentos de entrada para una función

nargout El número de argumentos de salida de una función

realmin El número real positivo más pequeño que se puede usar


(Versión 6.5: 2.2251e-308)
realmax El número real positivo más grande que se puede usar
(Versión 6.5: 1.7977e+308)
Ingeniería Eléctrica y Electrónica

Documentación

% Se usa como inicio de un comentario, lo que esté


a la derecha de este signo no se evaluará.

; Al final de un enunciado, evita que MATLAB imprima


en la pantalla el resultado de evaluar un enunciado.
Ingeniería Eléctrica y Electrónica

Operadores aritmeticos

Operación Símbolo Ejemplo

Suma ( a + b ) + 5+3

Resta ( a – b ) – 23 – 12

Multiplicación (a x b ) * 2.05 x 1.48

División ( a ÷ b ) / 50/5 = 10

División izquierda \ 50\5 = 0.1

Potencias ( ab ) ^ 6^2
Ingeniería Eléctrica y Electrónica

Orden de operaciones

•Las expresiones son evaluadas de derecha a izquierda

•Potencia tiene el más alto orden de precedencia, seguido


de la multiplicación y división, las cuales tienen la misma
precedencia.

•Seguidos por la suma y resta con igual precedencia.

•Los paréntesis pueden ser usados para alterar este


orden, en este caso, la precedencia se aplica en los
paréntesis más internos y se aplica hacia afuera.
Ingeniería Eléctrica y Electrónica

Escalares, Vectores y Matrices

•La notación decimal convencional es usada para


representar escalares, con punto decimal y signo positivo
(opcionales) o negativo al inicio.

•Un factor de escala en potencias de diez puede ser


incluido como sufijo.

3 -99 0.0001

9.6397238 1.60210E-20 6.02252e23


Ingeniería Eléctrica y Electrónica

Vectores y Matrices
•La principal estructura de datos en MATLAB son las
matrices.

•Un vector puede ser representado en forma de una


matriz con un solo renglón (llamado vector o matriz
renglón).

• O con una sola columna (llamado vector o matriz


columna).

•Los elementos individuales de una matriz se indexan de


acuerdo a su número de renglón y columna con los cuales
se forma un subíndice.
Ingeniería Eléctrica y Electrónica

Vectores y Matrices
•La forma más sencilla para capturar los elementos de
una matriz es usando listas explicitas.

•Las listas explicitas contienen los elementos de una


matriz separados por espacios o comas y están
encerrados en corchetes y usando “punto y coma” para
indicar el fin de cada renglón.

A = [ 1 2 3; 4 5 6; 7 8 9 ]
Ingeniería Eléctrica y Electrónica

Vectores y Matrices
•Los elementos de una matriz pueden ser cualquier
expresión de MATLAB, por ejemplo el enunciado

X = [ -2.5 sqrt(3) (1+3+7)/3*8 ]

•Los elementos individuales se pueden referenciar


usando los subíndices encerrados en paréntesis, por
ejemplo:

X(1)

ans =
-2.5000
Ingeniería Eléctrica y Electrónica

Vectores y Matrices
Además, se pueden introducir nuevos datos o cambiar
valores de elementos ya existentes referenciandolos por
su subíndice, por ejemplo:

X(5) = abs(x(1))
Produce la salida

X=
-2.5000 1.7321 29.3333 0.0000 2.5000

Note que el tamaño de X se incrementa automáticamente


para acomodar el nuevo elemento y que los elementos
intermedios no definidos se inicializan con cero.
Ingeniería Eléctrica y Electrónica

Números complejos
Los números complejos son permitidos en todas las
operaciones y funciones en MATLAB. Los números
complejos se capturan usando las funciones especiales i
y j, por lo cual el enunciado

Z = 4 + 4*i ( Z = 4+4i )

es igual a

Z = 4 + 4*j ( Z = 4+4j )

No es necesario el signo de * para definir los números


complejos, pero si cuidar el poner la i o j después del
número imaginario.
Ingeniería Eléctrica y Electrónica

Números complejos

Otra forma de capturar los números complejos es en


su forma polar

W = r*exp(i*theta) ( w = 5*exp(i*pi/2) )

donde r es la magnitud y theta es el ángulo en


radianes.
Ingeniería Eléctrica y Electrónica

Números complejos
Existen dos formas para capturar matrices complejas, la
primera sería con el enunciado

A = [ 1 2; 3 4 ] + i * [ 5 6; 7 8 ]

y la segunda con el enunciado

A = [ 1+5i 2+6i; 3+7i 4+8i ]

Cuando se introducen elementos complejos se debe


tener cuidado de no usar espacios ya que se pueden
tomar como dos números separados.
Ingeniería Eléctrica y Electrónica

Funciones y archivos M

Funciones de Matlab

9Intrinsecas (Paquete básico)

9Archivos M (Toolboxes)

9Definidas por el usuario


Ingeniería Eléctrica y Electrónica

Funciones matemáticas básicas


abs(x) Valor absoluto o magnitud de un número complejo
acos(x) Coseno inverso
acosh(x) Coseno inverso hiperbólico
angle(x) Ángulo de un número complejo en cuarto cuadrante
asin(x) Seno inverso
asinh(x) Seno inverso hiperbólico
atan(x) Tangente inverso
atan2(x,y) Tangente inverso en cuarto cuadrante
atanh(x) Tangente inverso hiperbólico
ceil(x) Redondeo hacia el infinito positivo
abs(x) Valor absoluto o magnitud de un número complejo
conj(x) Complejo conjugado
cos(x) Coseno
cosh(x) Coseno hiperbólico
exp(x) Exponencial ex
Ingeniería Eléctrica y Electrónica

Funciones matemáticas básicas


fix(x) Redondeo a cero
floor(x) Redondeo hacia el infinito negativo
gcd(x,y) Máximo común divisor de los enteros x y y
imag(x) Parte imaginaria de un número complejo
lcm(x) Mínimo común múltiplo de los enteros x y y
log(x) Logaritmo natural
log10(x) Logaritmo común ó base 10
real(x) Parte real de un número imaginario
rem(x,y) Sobrante de la división de x/y
round(x) Redondeo al entero más cercano
sign(x) Función de signo, regresa el signo como argumento
(1:positivo, -1:negativo, 0:cero)
sin(x) Seno
sinh(x) Seno hiperbólico
sqrt(x) Raíz cuadrada
tan(x) Tangente
Ingeniería Eléctrica y Electrónica

Funciones
•El comando help se utiliza para obtener ayuda en línea
sobre cualquier función de MATLAB

Por ejemplo:

help sin

•Es muy útil para aclarar dudas sobre los argumentos de


cada función y la forma en que los resultados serán
calculados y devueltos.
Ingeniería Eléctrica y Electrónica

Archivos M
• Se pueden crear funciones más complejas a partir de
las funciones básicas.

• La lista de funciones básicas se puede escribir como un


archivo de texto y después leerlo desde MATLAB.

• Estos archivos de texto o listados son llamados


archivos M ya que los nombres usados para estos
archivos deben terminar con la extensión .m, por ejemplo
ejem1.m.
Ingeniería Eléctrica y Electrónica

Archivos M
•Enseguida se muestra el listado de una función que calcula el
promedio de las calificaciones de cuatro unidades.

% Listado del archivo ejem1.m


uni1 = 80;
uni2 = 85;
uni3 = 75;
uni4 = 80;
suma_de_calif = uni1 + uni2 + uni3 + uni4;
calif_promedio = suma_de_calif/4

•Después de guardar este archivo solo se requiere teclear ejem1


en la línea de comandos de MATLAB y el sistema leerá y evaluará
cada línea del archivo M como si se hubiera tecleado directamente
en MATLAB.
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Suma y Resta de Matrices
La suma y resta de matrices se denota por + y –. Estas
operaciones están definidas cuando las matrices tienen
las mismas dimensiones. Por ejemplo, si entramos

A = [ 1 2 3; 4 5 6; 7 8 9]
B = [ 1 0 0; 0 1 0; 0 0 1 ]
X = [ -1 0 2 ]

y realizamos la operación A + X , obtenemos

??? Error using ==> +


Matrix dimensions must agree.
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Suma y Resta de Matrices

La operación

C = A + B

producirá

C =

2 2 3
4 6 6
7 8 10
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Suma y Resta de Matrices

La suma y resta también están definidas cuando uno


de los operandos es un escalar, por ejemplo:

A + 2

ans =

3 4 5
6 7 8
9 10 11
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Matriz Transpuesta

El apóstrofe (’) es un carácter especial que denota la


transpuesta de una matriz. Entonces si,

A = [ 1 2 3; 4 5 6; 7 8 0 ];
B = A’
da como resultado

B = 1 4 7
2 5 8
3 6 0
Si la matriz Z es una matriz compleja, entonces Z’ será
su complejo conjugado transpuesto.
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Multiplicación de Matrices

La multiplicación de matrices se denota por *. La


operación solo esta definida cuando el número de
columnas del primer operando es igual al número de
renglones del segundo operando. Si utilizamos las
matrices de la sección anterior tendremos que
B = X * A
la respuesta es
B = 13 14 15
ya que X es de tamaño 1 x 3 y A es de tamaño 3 x 3.
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Multiplicación de Matrices

Pero si hacemos

B = A * X

el resultado será

??? Error using ==> *


Inner matrix dimensions must agree.
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Producto punto

Para realizar el producto punto entre vectores


columna se requiere calcular la transpuesta del primer
operando y multiplicarlo por el segundo.

X = [ -1; 0; 2]
B = [ 13; 14; 15 ]

X'*B

ans =

17
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Potencias en Matrices

La expresión A^n eleva A a la n-ésima potencia y está


definida si A es una matriz cuadrada y n un escalar. Si
n es un entero mayor que cero, la potencia se calcula
por multiplicaciones repetidas.
A=[1 2 3; 4 5 6; 7 8 9];
A^3
ans =
468 576 684
1062 1305 1548
1656 2034 2412
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Matriz Inversa

La inversa de una matriz A, expresada como A-1, se


calcula con la función inv(A), la cual se puede utilizar
para encontrar la solución de sistemas de ecuaciones.
De esta forma podemos calcular

z = inv(A)*b

y obtener

z = -1
0
2
Ingeniería Eléctrica y Electrónica

Operaciones con Matrices


Determinante de Matriz

El determinante de una matriz se puede calcular con


la función det(A).

det(A)

ans =

27
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos

Se usa el término de operaciones con arreglos de


datos para referirse a las operaciones aritméticas
realizadas elemento-por-elemento en lugar de las
usuales operaciones algebraicas lineales con
matrices.
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos

Suma y resta

Para la suma y resta, las operaciones con arreglos


de datos y las operaciones con matrices son las
mismas, es decir, en ambos casos se realizan
elemento-por-elemento, por lo que se usan los signos
+ y – sin importar si son operaciones con matrices o
con arreglos de datos.
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Multiplicación y división

La multiplicación con arreglos de datos es hecha


elemento-por-elemento y es denotada por .* Si A y B
tienen las mismas dimensiones, entonces A .* B
denota el arreglo cuyos elementos son simplemente
los productos de los elementos individuales de A y B.
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Multiplicación y división

Por ejemplo si
x = [ 1 2 3 ];
y = [ 4 5 6 ];
entonces
z = x .* y
resulta en
z = 4 10 18
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Multiplicación y división

La división y división izquierda con arreglos de datos


se denotan por las expresiones ./ y .\
respectivamente, y se realiza de la misma manera
que la multiplicación
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Multiplicación y división
Por ejemplo
z = x ./ y
resulta en
z = 0.25 0.40 0.50
y z = x .\ y
resulta en
z = 4 2.5 2.0
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Potencias

Elevar a la potencia elemento-por-elemento es


denotado por .^ Para esta operación hay algunos
ejemplos, si tecleamos
z = x .^ y
resultará en
z = 1 32 729
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Potencias

El exponente puede ser un escalar

z = x .^ 2

da como resultado

z = 1 4 9
Ingeniería Eléctrica y Electrónica

Operaciones con Arreglos de Datos


Potencias

O, la base puede ser un escalar

z = 2 .^ [x y]

con lo que se obtiene

z = 2 4 8 16 32 64
Ingeniería Eléctrica y Electrónica

Operadores Relacionales
Existen seis operadores relacionales para comparar
dos matrices de iguales dimensiones los cuales se
incluyen en la siguiente tabla:

< Menor que


<= Menor o igual que
> Mayor que
>= Mayor o igual que
== igual que
~= diferente
Ingeniería Eléctrica y Electrónica

Operadores Relacionales
Las comparaciones son hechas entre pares de
elementos correspondientes, el resultado es una
matriz de unos y ceros, con un uno = VERDADERO y
un cero = FALSO. Por ejemplo:

z = x < y

lo que resulta en

z = [ 1 1 1]
Ingeniería Eléctrica y Electrónica

Operadores Relacionales

La función find es útil con los operadores


relacionales, ya que encuentra los elementos
diferentes de cero en una matriz, proporcionando un
vector conteniendo los índices de los elementos que
satisfagan la condición, de esta forma, si tecleamos

z = find(x >= 2)

obtendremos

z = 2 3
Ingeniería Eléctrica y Electrónica

Operadores Lógicos

Existen tres operadores lógicos que trabajan


elemento-por-elemento, los cuales se incluyen en la
siguiente tabla:
& AND
| OR
~ NOT

Los operadores & y | comparan dos escalares, o dos


matrices de iguales dimensiones. Para el caso de
matrices, el resultado se presentará en la misma
forma que en el caso de los operadores relacionales.
Ingeniería Eléctrica y Electrónica

Operadores Lógicos

La operación NOT, o complemento lógico, es un


operador unitario, es decir, trabaja sobre un solo
operando. La expresión ~A regresará ceros donde A
sea diferente de cero y unos donde A sea cero. Por lo
que si
P = [ 0 1 1 0 1 10 ]
las operaciones
P | (~P)
P & (~P)
darán como resultados todos unos y todos ceros
respectivamente.
Ingeniería Eléctrica y Electrónica

Operadores Lógicos

Las funciones any y all son útiles en conjunto con los


operadores lógicos. Si X es un vector binario:

any(X) da como resultado uno, si cualquiera de lo


elementos de X es diferente de zero y cero de otra forma.

all(X) da como resultado uno, solo si todos los elementos


de X son diferentes de cero.

Si se usan con matrices, estas funciones darán un


resultado por cada columna y se presenta en forma de
vector renglón. Aplicando la función por duplicado, como
en any(any(A)) siempre reducirá el resultado a un escalar.
Ingeniería Eléctrica y Electrónica

Funciones Relacionales y Lógicas


La siguiente tabla muestra las funciones relacionales y
lógicas incluidas en MATLAB
any condiciones lógicas
all condiciones lógicas
find Encuentra índices en arreglos de valores
lógicos
exist Revisa si una variable existe
isnan Detecta NaNs
finite Detecta infinitos
isempty Detecta matrices vacías
isstr Detecta variables tipo string
strcmp Compara variables tipo string
Ingeniería Eléctrica y Electrónica

Funciones para Análisis de Datos

Estas funciones son herramientas estadísticas básicas.


Las funciones que se aplican columna por columna se
presentan en la siguiente tabla:

max Valor máximo


min Valor mínimo
mean Media
median Mediana
std Desviación estándar
sort Ordenar
sum Suma de elementos
Ingeniería Eléctrica y Electrónica

Funciones para Análisis de Datos

prod Producto de elementos

cumsum Suma acumulada de elementos

cumprod Suma acumulada de productos

diff Derivativas aproximadas

hist Histograma de valores

corrcoef Correlación de coeficientes

cov Matriz de covarianzas

cplxpair Reordenar en pares complejos


Ingeniería Eléctrica y Electrónica

Generación de números

Por incrementos se usa la siguiente sintaxis,

k=valor inicial: incremento: valor final

Por numero de puntos dentro de un rango:

con espaciamiento lineal,

linspace(valor inicial, valor final, numero de puntos)

con espaciamiento logarítmico,

logspace(d1,d2,N)
Ingeniería Eléctrica y Electrónica

Generación de números aleatorios

La función
rand(r,c)

genera una matriz de r renglones y c columnas,


cuyas entradas son números aleatorios entre 0 y 1,
con distribución uniforme
Ingeniería Eléctrica y Electrónica

Generación de números aleatorios

La función
randn(r,c)

genera una matriz de r renglones y c columnas,


cuyas entradas son números aleatorios con
distribución normal, media igual a cero y desviación
estandar igual a uno.
Ingeniería Eléctrica y Electrónica

Graficación
Gráficas xy Sencillas
Se explicará la graficación xy sencilla con un ejemplo. Suponga que
queremos graficar la información resultante de un experimento:

Ensayo Distancia
1 58.5
2 63.8
3 64.2
4 67.3
5 71.5
6 88.3
7 90.1
8 90.6
9 89.5
10 90.4
Ingeniería Eléctrica y Electrónica

Graficación
Gráficas xy Sencillas

Almacenamos las dos columnas en vectores de datos:

x= [1 2 3 4 5 6 7 8 9 10];

y= [58.5 63.8 64.2 67.3 71.5 88.3 90.1 90.6 89.5 90.4];

Para graficar los datos:

plot(x,y)
Ingeniería Eléctrica y Electrónica

Gráficas xy Sencillas
Ingeniería Eléctrica y Electrónica

Gráficas xy Sencillas

Para agregar información a la gráfica:

title(‘Experimentos de Laboratorio’)
xlabel(‘Ensayo’)
ylabel(‘Distancia, m’)
grid on

Note las diferencias en las gráficas.


Ingeniería Eléctrica y Electrónica

Gráficas xy Sencillas
Ingeniería Eléctrica y Electrónica

Gráficas Lineales y Logarítmicas


Los comandos de Matlab para generar gráficas lineales y
logarítmicas de los vectores x y y son los siguientes:

semilogx(x,y) Genera una gráfica de los valores x y y


usando una escala logarítmica para x y una escala lineal
para y.

semilogy(x,y) Genera una gráfica de los valores x y y


usando una escala logarítmica para y y una escala lineal
para x.

loglog(x,y) Genera una gráfica de los valores x y y


usando una escala logarítmica tanto para x como para y.
Ingeniería Eléctrica y Electrónica

Gráficas Múltiples

Para generar curvas múltiples en la misma gráfica se


usan múltiples argumentos en un comando de
graficación,

plot(x,y,w,z)

donde las variables x, y, w y z son vectores. El comando


traza la curva correspondiente a x vs y, y luego w vs z.
Matlab selecciona diferentes tipos de línea para
distinguir las líneas.
Ingeniería Eléctrica y Electrónica

Gráficas Múltiples

Otra forma es graficar una matriz con columnas


múltiples. Cada columna se graficará contra un vector x.

x= 0:0.1:5;
w= x;
z= w.^2 - 0.9*x +7;
f(1,:)= x.^2 - 3*x + 2;
f(2,:)= 2*x.^2 + x -3;
subplot(2,1,1)
plot(x,f(1,:),w,z),title('Grafica con dos curvas:plot(x,f(1,:),w,z)')
subplot(2,1,2)
plot(x,f), title('Grafica de multiples funciones:plot(x,f)')
Ingeniería Eléctrica y Electrónica

Gráficas Múltiples
Ingeniería Eléctrica y Electrónica

Estilo de Líneas y Marcas

El comando plot(x,y) genera una gráfica de líneas que


conecta los puntos representados por los vectores.
Podemos seleccionar otros tipos de línea y/o de
puntos. La siguiente tabla muestra algunas opciones:

Tipo de línea Indicador Tipo de punto Indicador

continua - punto .
guiones -- más +
punteada : estrella *
guiones-puntos -. círculo o
marca x
Ingeniería Eléctrica y Electrónica

Estilo de Líneas y Marcas


La selección del tipo de línea o punto se hace
agregando un argumento al comando de graficación:
plot(x,y,’o’)
Ingeniería Eléctrica y Electrónica

Escala de los Ejes

Matlab fija automáticamente la escala de los ejes


ajustándola a los valores de los datos. Podemos
cambiar las escalas con el comando axis:
axis Mantiene la escala del eje actual para gráficas
subsecuentes. Una segunda ejecución del
comando regresa el sistema al escalado automático.

axis([xmin xmax ymin ymax])


Especifica la escala del eje usando los valores de
escala que están definidos en el comando.

El comado plot precede al comando axis.


Ingeniería Eléctrica y Electrónica

Subgráficas

El comando subplot permite dividir la ventana de


gráficos en subventanas.

subplot(x, y, n) Divide la ventana de gráficas en


un arreglo de x por y subventanas y define la
subventana n para colocar la gráfica que se genere
después del comando subplot.

subplot(2,1,1), plot(x,y)

La gráfica definida por el comando plot(x,y) se


colocará en la primera subventana de las cuatro
definidas por el comando subplot(2,2,1).
Ingeniería Eléctrica y Electrónica

Graficación en 3D

Matlab ofrece 3 tipos de graficación para tres


dimensiones:

•Gráficas de líneas

•Gráficas de contorno

•Gráficas de malla
Ingeniería Eléctrica y Electrónica

Gráficas de líneas

Las gráficas de líneas son creadas usando el comado


plot3, el cual es la version tridimensional de plot
Ingeniería Eléctrica y Electrónica

Gráficas de contorno

Las gráficas de controno en


realidad son gráficas en dos
dimensiones, con líneas
uniendo puntos con igual valor
en z.
Ingeniería Eléctrica y Electrónica

Gráficas de malla

En las gráficas de malla,


cada punto se une a sus
vecinos formando una
especie de tapete.
Ingeniería Eléctrica y Electrónica

Ejemplos:

Simple3D

clf
x=-1:.1:1;
y=-2:.1:2;
[X,Y]=meshgrid(x,y);
z=X.^4+(Y/2).^4;
subplot(121), contour(z)
subplot(122), mesh(z)
Ingeniería Eléctrica y Electrónica
Ingeniería Eléctrica y Electrónica

Banana de Rosenbrock
function h=banana(x1,x2)

h=100*(x2-x1.^2).^2+(ones(size(x1))-x1).^2;

Banana1.m
clf
x=0:.1:2;
y=0:.1:4;
[X,Y]=meshgrid(x,y);

z=banana(X,Y);
subplot(121), contour(x,y,z)
subplot(122), mesh(x,y,z)
Ingeniería Eléctrica y Electrónica

Banana de Rosenbrock
Ingeniería Eléctrica y Electrónica

Logartimo de la Banana de Rosenbrock

Banana2.m

clf
x=0:.1:2;
y=0:.1:4;
[X,Y]=meshgrid(x,y);

z=banana(X,Y);
logz=log(1+z);
meshc(x,y,logz)
Ingeniería Eléctrica y Electrónica

Logartimo de la Banana de Rosenbrock

También podría gustarte