Está en la página 1de 78

2010

PAUL DAVID FIERRO QUINTANA


Escuela Politcnica del Ejercito
(E.S.P.E.) Ecuador-Quito
08/02/2010

Captulo: Error! No hay texto con el estilo especificado en el documento.

C U R S O - M A T L A B

Comandos

Lo digitamos para omitir el ECO


>>a = 5
ans=5

Importantes Y

Lo digitamos cuando necesitemos series


>>a = 1 : 1 : 10

- Una serie que comience desde el 1


- Con un incremento de 1
- Hasta llegar al 10
>>a = 1 : 1 : 10
a = 1 2 3 4 5 6 7 8 9 10

clf

Digitando Alt92

>>a = 5;
>>

Claves

, Borra el rea de grficos

Digitando Alt126

Significa o

INTRODUCCIN

INTRODUCCIN
MATLAB = Laboratorio de Matrices, todo dato que trabaja matlab es un elemento de una matriz

Conceptos Bsicos:
Datos aceptados,
-Datos Alfanumricos = Representan texto, no hay como hacer operaciones numricas.
-Datos Numricos = Representan datos.
Datos enteros = datos exactos, ejm. 0
Punto Flotante, Las comas de una cifra.
Densidad de una reta, Entre 2 reales siempre vamos a encontrar un real.
- El valor ms pequeo es

- Un numero ms pequeo que

es 1 +

Operadores,
OPERACIN

OPERADOR

ASOCIATIVIDAD

Divisin
4/2=2
4 \ 2 = 0,5
Suma

IZQ ------ DER

+
IZQ ------ DER

Resta

Multiplicacin

IZQ ------ DER

Potenciacin

IZQ ------ DER

Ingreso de Datos,

4x 5x 8 = 0

=
X1 =

2 4

Si no pongo el parntesis el
programa el programa 1ro lo eleva
a 1 y luego lo divide para 2

(-(-5)+(((-5)^2)-4*4*(-8))^(1/2))/(2*4)
El mismo caso, si no ponemos el
parntesis el programa 1ro nos
divide para 2 y luego nos
multiplica por 4

2E3
2 x 103 = 2000

2/3
2/3 = 0,6667

Para tener un formato con ms


dgitos decimales, digitamos:
>> FORMAT LONG

2/3 = 0,666666667
2/3 = 6,6667e-001

Para tener un formato elevado a la e,


digitamos:
>> FORMAT SHORT e
>> FORMAT LONG e

Otros comandos,
>> FORMAT RAT, Devuelve el numero en fraccionarios.
>> FORMAT BAK, Formato bancario.
>> FORMAT + , Devuelve el signo del numero.

Variables de Comando:
Es la combinacin de letras, dgitos
OK
raiz1
r2

ERROR
raz 1

OK
r1

ERROR
1r - radio

Indica con letra

Diferencias de Maysculas de minsculas


OK
raiz1

ERROR
raz 1

Formato corto, 19 caracteres


AAAAAAAA | BCD
Debe relacionarse con su contenido

Variables de Activas:
who, whos, size(a)

(letra de la variable)

clear (eliminar variable)

Variables Reservadas:
ans, devuelve el eco
pi, devuelve el valor constante
i, devuelve la raz -1 ( 1)
inf, infinito ejem. 3/0
NaN, dato no numrico ejem. 0/0

real max, devuelve el nmero mximo que la


maquina puede representar
real min, devuelve el nmero mnimo que la
maquina puede representar

Cmo almacenar, recuperar datos?

Para guardar, File, Save worspace as:


- Lo podemos guardar con mximo 8 dgitos.
- Matlab lo guarda con extensin .mat

Para recuperar, File, Open, Abrir:


- Digito who.
- Y me aparece las variables en la pantalla.

Para guardar mediante comandos:


>> save 'c:\civ\matlab\work\ejer2.mat'

Para abrir mediante comandos:


>> load 'c:\civ\matlab\work\ejer2.mat'

Funciones Cientficas de Matlab


- Funcin abs (x), puede ser constante o variable.
X Reales
X Complejos, mdulos
X Alfanumricos
- Funcin
MATLAB

- Funcin

Log(x)

Ln (x)

Log10 (x)

Log (x)

Real (x), me devuelve el nmero real.


X Reales

- Funcin

Imag (x), me devuelve el nmero imaginario.


X Complejos

Redondeo de Nmeros
- Funcin

Ceil (x), redondeo al + .

- Funcin

Fix (x), redondeo al nmero ms prximo.

- Funcin

Floor (x), redondeo al - .

- Funcin

Conj (x), devuelve la conjugada del numero


complejo.

Funciones Trigonomtricas
sin (x)
cos (x)
tan(x)

sec(x)
csc(x)
cot(x)

asin(x)
acos(x)
atan(x)

Ejemplo
Cos 45 = 0,5253
(radianes)
Cos (45*pi/180) = 0,7071 (grados)

Comandos de Ayuda
- Comando

look for, sirve para buscar ayuda de algn comando.

- O tambin en Barra de Herramientas, Help, Funtion browser.

Comando de Entrada y Salida de Datos


Comando Input, para el ingreso de datos
Variable = input('mensaje')
Comando

Disp, para presentar una variable

Comando

Fprintf ('resultados'); ejem.

fprintf('COLEGIO\n DE\t INGENIEROS\n CIVILES');

Para poner un mensaje en la variable,


fprintf('l1=%f\t l2=%f\tl3=%f',l1,l2,l3);

Para que imprima con un nmero determinado de decimales,


fprintf('%.2f',l1);

COLEGIO
DE INGENIEROS
CIVILES

d = entero
f = flotante
s = alfanumrico

Para que imprima con un 2 decimales y con 5 espacios del margen o de la anterior respuesta ,
fprintf('% 5.2f',l1);

Para que imprima con el signo,


fprintf('% +f',l1);

EJERCICIOS
-Resolucin de un triangulo

Planteado de diferente forma,

-Resolucin de una viga simple con carga distribuida cuadrada

-Resolucin de una viga simple con carga puntual

CAPITULO 1

CAPITULO 1
ARRAYS (arreglos-vectores-matrices)
Es un conjunto de datos del mismo tipo, un nico identificador, pero cada dato se diferencia por el ndice.
a=
IND

5
1

-3
2

0
3

8
4

(1*5)

4
5

f
i
l
a
s

A(1)
A(2)
.
.
.
A(5)

c
o
l
u
m
n
a

- Comando seize = vector,


>>size (a)
>> 1 5
>>size [(5 -3 0 8)]
>> 1 5

Vectores, series con incremento y de decremento


-Incremento,
>>a = 1 : 1 : 10

Decremento,
>>d = 10 : -1 : 1

- Una serie que comience desde el 1

- Una serie que comience desde el 10

- Con un incremento de 1

- Con un decremento de -1

- Hasta llegar al 10

- Hasta llegar al 1

>>a = 1 : 1 : 10
a = 1 2 3 4 5 6 7 8 9 10

>>a = 2 : 2 : 10
b = 2 4 6 8 10

>>d = 10 : -1 : 1
d = 10 9 8 7 6 5 4 3 2 1

Otros comandos
- Comando linspace,
Vector = linspace(valor inicial, valor final, numero de elementos)
l = 3,25
V I G A

>>l=3,25
l = 3,2500
>>x=linspace(0, l, 20)
El numero 20 significa que al 3,25 lo va a dividir en 20 partes
- Comando sort, Ordena al vector de menor a mayor

Operaciones con vectores


- Tiene que ser de las mismas dimensiones
a(1 x 3) b(1 x 6 )
- Para divisin elemento a elemento
a.b

Graficas de Funciones
- Comando plot ( x , y ), para graficar.
- Comando grid, para aplicar cuadricula.
- Comando x label ('angulo[rad]'), para ttulos en el eje x.
- Comando y label ('seno'), para ttulos en el eje y.
- Comando tittle ('y=sin(x)'), para el titulo general.

EJERCICIOS
>> a,b
a = 5 -3
b = 3.5000

0 8 4
4.0000 -2.0000 40.0000

h=[a b]
h = 5.0000 -3.0000
>> whos
Name
a
ans
b
h

Size

8.0000

Bytes Class

1x5
1x2
1x6
1x11

40 double
16 double
48 double
88 double

TRANSPUESTA DE UN VECTOR
>> a
a=

-3

>> a'
ans =
5
-3
0
8
4

INGRESO COMO COLUMNAS


>> i=[5;-3;0;8;4]
i=
5
-3
0
8
4

1.0000 -15.0000

4.0000

3.5000

Attributes

4.0000 -2.0000 40.0000

1.0000 -15.0000

SERIES CON INCREMENTOS


>>a=1:10
a=
1 2

10

10

>> b=2:2:10
b=
2

>> c=0:0.1:1
c=
0 0.1000

>> d=10:-1:1
d=
10 9 8

0.2000

0.3000

0.4000

0.5000

0.6000

0.7000

0.8000

0.9000

1.0000

VECTORES CON INCREMENTO DE ANGULOS


>> e=-2*pi:0.1*pi:2*pi
e=
Columns 1 through 11
-6.2832 -5.9690 -5.6549 -5.3407 -5.0265 -4.7124 -4.3982 -4.0841 -3.7699 -3.4558 3.1416
Columns 12 through 22
-2.8274 -2.5133 -2.1991 -1.8850 -1.5708 -1.2566 -0.9425 -0.6283 -0.3142

0.3142

Columns 23 through 33
0.6283

0.9425

1.2566

1.5708

1.8850

2.1991

2.5133

2.8274

5.0265

5.3407

5.6549

5.9690

6.2832

Columns 34 through 41
4.0841

4.3982

4.7124

3.1416

3.4558

3.7699

AL CONOCER EL NMERO DE TERMINOS DESEADOS


>> f=linspace(1,10,15)
f=
Columns 1 through 11
1.0000

1.6429

2.2857

2.9286

3.5714

4.2143

4.8571

5.5000

6.1429

6.7857

Columns 12 through 15
8.0714

8.7143

9.3571 10.0000

Ejemplo 2
y=linspace(1,0,10)
y=

1.0000

0.8889

0.7778

0.6667

0.5556

0.4444

0.3333

0.2222

0.1111

OBTENCION DEL TAMANO DE UN VECTOR


a=

-3

>> t=size(a)
t=

>> [nf nc]=size(a)


nf = 1
nc = 6

SUMA DE ELEMENTOS DE VECTORES


a=

-3

>> sum(a)
ans =

Suma todos los elementos de un vector

11

>> max(a)

Devuelve el nmero mayor de un vector

7.4286

ans =

Devuelve el nmero menor de un vector

>> min(a)
ans =

-3

>> sort(a)
ans =

-3

Ordena al vector de menor a mayor


0

MANIPULACION DE ELEMENTOS DENTRO DE UN VECTOR


>> a=[-5 3 1 0 -8 2]
a=
-5

-8

>> a(1)

>> a(2)

ans =

ans =
3

-5

CAMBIAR EL ELEMENTO DE UN VECTOR


>> a(5)=-10
a=
-5

0 -10

- Elemento de a, posicin 1
>> a([1 2])

-Elemento de a, posicin 2

ans =
-5

- Fila 1
>> a(1,2)
ans =
3

-Posicin 2

>> a([1 3 5])


ans =
-5

1 -10

>> a(1:2:5)
ans =
-5

1 -10

>> a(:)
ans =
-5
3
1
0
-10
2

AUMENTAR ELEMENTOS

a=

-5

0 -10

>> a(7)=4
a=

-5

0 -10

0 -10

>> a(10)=5
a=

-5

>> a(11:13)=[3 8 10]


a=

-5

0 -10

10

>> a([3 8 10])=[-3 -1 4]


a=

-5

-3

0 -10

-1

10

ELIMINACION DE ELEMENTOS
a=[-1 0 3 5 -8]
a=
-1

-8

>> a(5)= [ ]

corchetes unidos

a=
-1

>> a(2)=[]

corchetes unidos

a=
-1

>> a([1 3])=[]


a=
3
------------------------------------------------------------------------------------------------------------------------------------------>>a=1:9
a=
1

CREAR UNA NUEVA MATRIZ


>> b=a
b=

>> c=a(9:-1:1)
c=

>> a=3:0.1:3.5
a=

3.0000

3.1000

3.2000

3.3000

3.4000

3.5000

>> b=a(6:-1:1)
b=

3.5000

3.4000

3.3000

3.2000

3.1000

3.0000

>> a=0.128:0.2:3.156;
>> [nf nc]=size(a);
>> b=a(nc:-1:1)
b=
Columns 1 through 11
3.1280

2.9280

2.7280

2.5280

2.3280

0.3280

0.1280

0.7280

0.9280

2.9280

3.1280

2.1280

1.9280

1.7280

1.5280

1.3280

1.1280

1.1280

1.3280

1.5280

1.7280

1.9280

2.1280

Columns 12 through 16
0.9280

0.7280

0.5280

>> a
a=
Columns 1 through 11
0.1280

0.3280

0.5280

Columns 12 through 16
2.3280

2.5280

>> c=['a' 'b' 'c']


c=
abc
>> c(4)='d'
c=
abcd
>> c(6)='z'
c=

2.7280

abcd z

OPERACIONES MATEMATICAS

>> a=[3 0 -8 2 -1 4]
a=

-8

-1

>> b=[2 0 1 0 3 -1]


b=

>> a+3
ans = 6

-5

-1

-1

-4

>> a-3
ans =

-3 -11

a/3
ans =

1.0000

0 -2.6667

0.6667 -0.3333

1.3333

>> d=(-2:0.1:2)*pi
d=
Columns 1 through 11
-6.2832 -5.9690 -5.6549 -5.3407 -5.0265 -4.7124 -4.3982 -4.0841 -3.7699 -3.4558 3.1416
Columns 12 through 22
-2.8274 -2.5133 -2.1991 -1.8850 -1.5708 -1.2566 -0.9425 -0.6283 -0.3142

0.3142

Columns 23 through 33
0.6283

0.9425

1.2566

1.5708

1.8850

2.1991

2.5133

2.8274

5.0265

5.3407

5.6549

5.9690

6.2832

Columns 34 through 41
4.0841

4.3982

4.7124

3.1416

3.4558

3.7699

SUMA ENTRE VECTORES


>> a
a=
3

-8

-1

-1

>> b
b=
2

>> % SUMA DE VETORES


>> a+b
ans =
5

-7

-9

-4

>> a-b
ans =
1

-Solucin de un sistema lineal de ecuaciones

-Programa de temperatura
INTERPOLACION BIDIMENSIONAL
Se hizo un experimento determinar cmo es la distribucin de la temperatura en un microondas:
calentando un pastel y retirando termmetros ubicados en ciertas posiciones
Trazando en cada posicin lneas simtricas tanto paralelas como perpendiculares

Ejes
1

Cada uno de los ejes nos proporciona un grafico para cada conjunto de datos.
Nota: DIVISIN DEL REA DE GRFICOS

Ahora cambiamos el sentido del corte y tendremos la vista longitudinal del elemento

Nota: Cuando se interpola tanto en largo como en ancho se produce un error ya que ambos se encuentran
como filas
>> tti=interp2(l,a,t,li,ai)
??? Error using ==> interp2 at 147
XI and YI must be the same size or vectors of different orientations.

Para evitar este error, los vectores deben estar ubicados de la misma manera en que se encuentran en el
terreno, es decir , uno de ellos debe estar como colunma

ai')

tti=interp2(l,a,t,li,

% Ahora graficamos las tres dimensiones


% el rojo en matlab es lo mas alto
subplot(2,2,[2 4]);mesh(li,ai,tti);grid;
xlabel('Largo');ylabel('Ancho');zlabel('Temperatura');
title('Distribucion de temperatura total');

La funcin MESH nos proporciona el volumen del terreno, en cambio si se desea las curvas de nivel de la
figura utilizamos la funcin CONTOUR .

Si se desea ampliar el nmero de curvas de nivel se le agrega un ltimo argumento indicando el nmero
de curvas deseadas dentro del parntesis

CAPITULO 2

CAPITULO 2
MATRICES, ARREGLOS BIDIMENSIONALES
Matrices con ms de un vector
>> a=[3 5 -2; 4 8 3]
a=
3 5 -2
4 8 3
>> %Creamos otra matriz
>> b=[4:8; linspace(3,4,5); 1 2 3 4 5]
b=
4.0000
3.0000
1.0000

5.0000
3.2500
2.0000

>> size(b)
ans = 3

6.0000
3.5000
3.0000

7.0000
3.7500
4.0000

Reemplazo De Valores
%Para reemplazar un valor
>> a(2,2)=10

a=
3
4

5 -2
10 3

>> a(2,8)=3
a=

3
4

5 -2
10 3

5
0

0
0

0
0

0
0

Cambio En Orden De Las Filas


>> a=[1 2 3; 4 5 6; 7 8 9]
a=
1
4
7

2
5
8

3
6
9

0
3

8.0000
4.0000
5.0000

Para Cambiar Las Filas De La Matriz


>> b=a(3:-1:1,1:3)
b=
7
4
1

8
5
2

9
6
3

>> c=a(1:3,3:-1:1)
c=
3
6
9

2
5
8

1
4
7

Para Cambiar Filas Y Columnas


>> d=a(3:-1:1,3:-1:1)
d=
9
6
3

8
5
2

7
4
1

>> %Para tomar todos los elementos de una fila


>> e=a(:,3:-1:1)
e=
3
6
9

2
5
8

1
4
7

Menores De Una Matriz


Dada la matriz

a=[5 8 -3 ; 4 1 0; 3 -2 -1]

a=
5
4
3

8
1
-2

-3
0
-1

>> b=a(2:3,2:3)
b=
1
-2

0
-1

>> %Otro menor


>> c=a(2:3,1:2)
c=
4
3

1
-2

>> d=a(2:3,[1 3])


d=
4
3

0
-1

%Para extraer filas


>> e=a(2,:)
e=

>> %Para extraer columnas


>> f=a(:,3)
f=
-3
0
-1
>> %Para eliminar filas o columnas
>> %Eliminacion de filas
a=
5
4
3

8
1
-2

-3
0
-1

>> a(1,:)=[]
a=
4 1 0
3 -2 -1

>> %Eliminacion columnas


>> a(:,2)=[]
a=
4
3

0
-1

Otros Ejemplos
Dados
>> a=[5 8 -3 ; 4 1 0; 3 -2 -1]
a=
5
4
3

8
1
-2

-3
0
-1

>> b=a
b=
5
4
3

8
1
-2

-3
0
-1

>> %Para que en la 1 fila tenga la tercer de a y en la primera la tercera


>> b(1,:)=a(3,:)
b=
3
4
3

-2
1
-2

-1
0
-1

>> b(3,:)=a(1,:)
b=

3 -2 -1
4 1 0
5 8 -3

Proceso Simultneo Del Intercambio Anterior


a=

5
4
3

8
1
-2

-3
0
-1

>> c([1 3],:)=a([3 1],:)


c=

3
4
5

-2
1
8

-1
0
-3

Matrices A Continuacin Una De Otra


>> a=[1 2; 3 4]
a=

1
3

2
4

>> b=[5 6; 7 8]
b=

5 6
7 8

>> c=[a b]
c=
1
3

2
4

>> d=[a; b]
d=
1
3
5
7

2
4
6
8

5
7

6
8

Funciones Directas
>> a
a=
1
3

2
4

>> flipud(a)
ans =
3
1

4
2

>> fliplr(a)
ans =
2
4

1
3

>> rot90(a)
ans =
2 4
1 3
>> v=[3 -1 2 5 ]
v=
3

-1

0
0
2
0

0
0
0
5

>> diag(v)
ans =
3
0
0
0

0
-1
0
0

Para Una Matriz


a=
1
3

2
4

>> length(a)
ans =

Genreacin de matrices
>> zeros(3)
ans =
0
0
0

0
0
0

0
0
0

>> zeros (3,4)


ans =
0
0
0

0
0
0

0
0
0

0
0
0

>> ones(3)
ans =
1
1
1

1
1
1

1
1
1

>> ones(3,4)
ans =
1
1
1

1
1
1

1
1
1

1
1
1

>> ones (size (a))


ans =
1
1

1
1

>> g=ones(length(d))
g=
1
1
1
1

1
1
1
1

1
1
1
1

1
1
1
1

Matriz Identidad
>> eye(3)
ans =
1 0
0 1
0 0

0
0
1

>> eye(3,4)
ans =
1 0
0 1
0 0

0
0
1

0
0
0

>> eye(4,3)
ans =
1
0
0
0

0
1
0
0

0
0
1
0

Determinantes
a=
1
3

2
4

>> det(a)
ans =

-2

EJERCICIO
Resolver el sistema de ecuaciones por el mtodo de Kramer
2x +3y z = 8
-3x y +z =-5
2x + y +z = 7
>> mc=input('Ingresar matriz de coeficientes : ')
Ingresar matriz de coeficientes: [2 3 -1; -3 -1 1; 2 1 1]
mc =
2
-3
2

3
-1
1

-1
1
1

>> vti=input('Ingresar los vectores independientes : ')


Ingresar los vectores independientes : [8; -5; 7]
vti =
8
-5
7
>> mx=mc
mx =
2
-3
2

3
-1
1

-1
1
1

>> mx(:,1)=vti
mx =
8
-5
7

3
-1
1

-1
1
1

>> my=mc
my =
2
-3
2

3
-1
1

-1
1
1

>> my(:,2)=vti
my =
2
-3
2

8
-5
7

-1
1
1

>> mz=mc
mz =
2
-3
2

3
-1
1

-1
1
1

>> mz(:,3)=vti
mz =
2
-3
2

3
-1
1

8
-5
7

>> dmc=det(mc)
dmc =
12
>> dmx=det(mx)
dmx =
18
>> dmy=det(my)
dmy =
27
>> dmz=det(mz)
dmz =
21
>> x=dmx/dmc
x=
1.5000

>> y=dmy/dmc
y=
2.2500
>> z=dmz/dmc
z=
1.7500
fprintf('RAICES:\nx= %.2f \ny=%.2f \nz=%.2f',x,y,z)
RAICES:
x= 1.50
y=2.25
z=1.75>>

POLINOMIOS, COMANDOS IMPORTANTES


- Comando conv( polinomio 1 , polinomio 2 ),
- Comando deconv ( polinomio dividendo , polinomio divisor ),
- Comando polyder ( polinomio), devuelve la derivada del polinomio.
- Comando polyint ( polinomio),
- Comando polyval( polinomio, valor a evaluar), devuelve el polinomio evaluado en un numero.
- Comando roots ( polinomio), devuelve las races del polinomio.

- Funcin hold on , para un grafico superpuesto.

- Comando plot( x , y , ' color ' ),

CDIGO

COLOR

rojo

verde

azul

negro

amarillo

magneta

EJERCICIO

CAPITULO 3

CAPITULO 3
ESTRUCTURAS
Funcin
- Programa 1

- Programa 2

WHILE, mientras

- Programa 3

- Programa 4

Funcin
Desde ( variable : valor inicial : valor final )
Proceso
Fin
- Programa 1

- Programa 2

FOR, desde hasta

Funcin

Funcin

IF, si entonces

ELSE, caso contrario

Primer Opcin
Condicin verdadera

Si (condicin)

Proceso 1

Proceso 2
Proceso 3

Condicin falsa

Si (condicin)

Proceso 1

Proceso 2
Proceso 3

Segunda Opcin
Condicin verdadera

Si (condicin)
Caso contrario

Proceso 1
Proceso 2

Proceso 3
Condicin falsa

Si (condicin)
Caso contrario
Proceso 3

Proceso 1
Proceso 2

(omite proceso 2)

- Programa 1

- Programa 2

- Programa 3

Funcin
- Programa 1

WHILE, mientras

Funcin

SWITCH, evaluar campo

Evaluar ( variable entera )


Caso cte 1
Proceso 1
Caso cte 2
Proceso 2
Caso cte n
Proceso n
Por dimensin
Proceso n + 1
- Programa 1

- Comando case, caso


- Comando otherwise, en otro caso

- Programa 2

- Programa 3

CAPITULO 4

CAPITULO 4
GRAFICOS, DIAGRAMA DE BARRAS

X=-1:0.1:5; Se est creando


una serie de nmeros, el
programa lo evaluara en las
funciones del seno y coseno.

Nos devuelve la grafica de cada


una de las funciones con diferentes
colores.

DIAGRAMA DE GRADAS
Clf

20
18

x=[1 5 9 10];

16
14

y=[18 12 2 20];

12
10

stairs( x , y );

8
6
4
2

DIAGRAMAS POLARES
90

0.5

120

t=0:0.1:2*pi;
t y = abs(sin(2*t).*cos(2*t));

polar( t , t y , ' c ' );

60
0.25

150

30

180

210

330

240

300
270

DIAGRAMA DE PASTEL

14%

Nos arroja directamente el porcentaje


34%

Ejemplo: resultados de una votacin


v=[180 60 210 75];

pie (v);
40%
11%

ADICIONAL
1

x=-4:1:10;
0.5

y=cos(x);
0

%Funcin coseno en forma de barra


en tercera dimensin

bar3( x , y , ' b ' );

-0.5
-1

Agregar color

-4-3
-2-1
0

12

34

56

78

9
10

10

EJERCICIO
clf
t=0:0.3:5;
x=t.^2;
y=2*t-5;
z=sin(t);
u=cos(t);
v=abs(t);
w=sqrt(t);

subplot ( 2 , 3 , 1 ) ; plot ( t , x , ' r ' ) ; grid ; xlabel('t'); ylabel('x'); title('x=t^2');


Indicamos la posicin en la que
queremos que aparezca nuestro
grafico.
subplot(2,3,2);plot(t,y,'b');grid;xlabel('t');ylabel('y');title('y=2t-5');
subplot(2,3,3);plot(t,z,'c');grid;xlabel('t');ylabel('z');title('z=sin(t)');
subplot(2,3,4);plot(t,u,'g');grid;xlabel('t');ylabel('u');title('u=cos(t)');
subplot(2,3,5);plot(t,v,'y');grid;xlabel('t');ylabel('v');title('v=abs(t)');
subplot(2,3,6);plot(t,w);grid;xlabel('t');ylabel('w');title('w=sqrt(t)');
x=t 2

y=2t-5

30

z=sin(t)

1
0.5

10

-0.5

-5

t
u=cos(t)
6

-0.5

0
t
w=sqrt(t)

0.5

-1

5
t
v=abs(t)

-1

20

5
t

5
t

MANEJO DE EJES
PARA CAMBIAR LOS EJES, COORDENAS MINIMAS Y COORDENADAS MAXIMAS DENTRO DEL
PARENTESIS
x=(-2:0.1:2)*pi;
y=sin(x);
plot(x,y);grid;

Axis ( [ -4

4 -0.6 .6 ] ) ;

0.5
0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-4

-3

-2

-1

OTRO EJEMPLO
0.5

z=5*x.^3 +3*x.^2-2*x+8;
plot(x,z);grid;
axis([-4 4 -0.6 .6]);

0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
-0.5
-4

-3

-2

-1

PARA RECUPERAR EL FORMATO ORIGINAL, OMITE EL AXIS

axis auto
1500

1000

500

-500

-1000

-1500
-8

-6

-4

-2

-4

-2

PARA TENER EJES CUADRADOS

axis square
1500

1000

500

-500

-1000

-1500
-8

-6

PONE FACTORES DE ESCALA IGUALES EN X E Y

axis equal
1000

500

-500

-1000
-1500

-1000

-500

500

1000

1500

CON AXIS IJ

GRAFICO NORMAL
1

-1

0.8

-0.8

0.6

-0.6

0.4

-0.4

0.2

-0.2

-0.2

0.2

-0.4

0.4

-0.6

0.6

-0.8

0.8

-1
-8

-6

-4

-2

1
-8

-6

-4

-2

EJERCICIO COMPLETO

GRAFICOS DE FLECHAS, GRAFICO TIPO COMPASS


x=-pi:0.8:pi;
y=3-sin(x);

compass ( x , y );
90

120

60
4
3

150

30
2
1

180

210

330

240

300
270

COMO ORIGEN UNA LINEA RECTA


feather ( x , y );

4
3.5
3
2.5
2
1.5
1
0.5
0
-4

-2

10

12

PARA FUNCIONES ESCRITAS DE MODO LITERAL


-

Nos presenta el comportamiento de la funcin.

Ingresamos la funcin respetando la sintaxis de matlab y en un [ a , b ] donde


a , b son valores establecidos.

fplot

('sin(x)',[-3,3]);
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
-3

fplot

-2

-1

-1

( '4*x.^2-3*x+2' , [ -3 , 3 ] );
50
45
40
35
30
25
20
15
10
5
0
-3

-2

Nos presenta el titulo de la funcin representada

ezplot('4*x.^2-3*x+2',[-3,3]);

4 x 2-3 x+2

50
45
40
35
30
25
20
15
10
5
0
-3

-2

-1

0
x

EJERCICIO, EXPONENCIAL

LOGARITMICO

clc
clear
clf
x=1:.2:10;
y=1+exp(-x.^2);
subplot ( 2 , 2 , 1 ); plot ( x , y ) ; grid ; title('Funcin exponencial NORMAL');

EJE DE LAS X EN ESCALA LOGARITMICA


subplot ( 2 , 2 , 2 );

semilogx ( x , y ) ; grid ; title ( ' SEMILOGARITMICO EN X ' );

EJE DE LAS Y EN ESCALA LOGARITMICA


subplot ( 2 , 2 , 3 ); semilogy ( x , y ); grid ; title ( ' SEMILOGARITMICO EN y ' );

EJE DE LAS

X & Y EN ESCALA LOGARITMICA

subplot ( 2 , 2 , 4 ); loglog ( x , y ); grid ; title ( ' LOGARITMICO TOTAL ' );


Funcion exponencial NORMAL

SEMILOGARITMICO EN X

1.4

1.4

1.3

1.3

1.2

1.2

1.1

1.1

1
0
10

10

SEMILOGARITMICO EN y

10
LOGARITMICO TOTAL

0.1

0.1

10

10

10

10

10
0
10

10

GRAFICAS CON RELLENO


clc
clf
clear
x=(-2:0.1:2)*pi;
y=sin(x);

Aqu se ingresa el parmetro y el color del relleno

fill ( x , y , ' r ' );


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

-6

-4

-2

GRAFICAS DE SUPERFICIES
Clf
t=(-6:0.2:8);
x=t;
y=3-t;
z=cos(t);

GRFICOS DE 3 DIMENSIONES

PARA RELLENAR EN 3 DIMENSIONES

plot3 ( x , y , z );grid

fill3 ( x , y , z , 'm' );grid

0.5

0.5

-0.5

-0.5
-1
10
10

5
0

0
-5
-5

-10

-1
10
10

5
0

0
-5
-5

-10

GRAFICOS EN VOLUMEN
Para poder formar grficos en volumen se necesita una matriz que interseque los valores de x & y para
graficarlo con los valores de z.
xa = 0 : 0.2 : 5;
ya = 0 : 0.2 : 8;

[x

y ] = meshgrid ( xa , ya )
-

[x

Para obtener la rejilla de interseccin de x & y

Para formar una retcula cuadrada con variaciones del mismo tipo
y ] = meshgrid ( 0 : 0.2 : 4 )

z = exp ( x.^2 + y.^2 );


mesh ( x , y , z )

13

x 10
8
6
4
2
0
4

4
3

1
0

GRAFICOS EN VOLUMEN 2
Clear
[x

y ] = meshgrid ( -2 : 0.2 : 2)

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

mesh ( x , y , z )

0.5

-0.5
2
1

2
1

-1

-1
-2

-2

Para obtener las curvas de nivel proyectadas en el eje xy

meshc ( x , y , z );

0.5

-0.5
2
1

2
1

-1

-1
-2

-2

EJEMPLO 1
Clear
[x y]=meshgrid(-2:.2:2);
z=x.^2+y.^2;
mesh(x,y,z);
meshc(x,y,z);

8
6
4
2
0
2
1

2
1

-1

-1
-2

-2

EJEMPLO 2
Clear
[x,y]=meshgrid(-3:0.2:3);
z=x.^2-y.^2-9;

Limita la grafica

meshz (x , y , z);

0
-5
-10
-15
-20
4
2
0
-2
-4

-3

-2

-1

EJEMPLO 3
Clear
[x,y]=meshgrid(-1.5:0.2:1.5);
z=sin(x.^2+y.^2);

RELLENA CON COLORES LA GRILLA

PARA OBTENER CON COLORES SUAVES

surf(x,y,z)

surfl(x,y,z);

0.5

0.5

-0.5

-0.5

-1
2

-1
2

1
0
-1
-2

-1.5

-1

-0.5

0.5

1.5

1
0
-1
-2

EJEMPLO 4
-

Para obtener las curvas de nivel proyectadas.

Surfc ( x , y , z);

1
0.5
0
-0.5
-1
2
1
0
-1
-2

-1.5

-1

-0.5

0.5

1.5

-1.5

-1

-0.5

0.5

1.5

EJEMPLO 5
clear
clf

0.5

[x,y]=meshgrid(-7.5:.5:7.5);

z=(sin(sqrt(x.^2+y.^2)))./(sqrt(x.^2+y.^2));

surf(x,y,z);

-0.5
10
5

10
5

-5

-5
-10

-10

EJEMPLO 5
Clear
2

[x,y]=meshgrid(-3:0.2:3);

z=sin(x)+cos(y);

0
-1

Grafico tipo cascada


-2
4

Waterfall ( x , y , z);

4
2

-2

-2
-4

CURVAS DE NIVEL
contour(x,y,z,20);

-4

CURVAS DE NIVEL EN VOLUMEN


contour3(x,y,z,20);

Nmero de curvas de nivel


3

2
2

1
1

0
0

-1
-1

-2
2

-2

0
-3
-3

-2
-2

-1

-3

-2

-1

PARA

VER UN PUNTO DESPLAZARSE EN EL ESPACIO

t=(-10:1/250:10)*pi;
x=((cos(2*t)).^2).*sin(t);
y=((sin(2*t)).^2).*cos(t);
z=t;

comet3(x,y,z);

GRAFICOS DE ESFERAS
clear
sphere

Numero de reticulas en la esfera


sphere(4)

1
1

0.5
0.5

0
0

-0.5

-0.5

-1
1

-1
1

0.5

1
0.5

0.5

-0.5

0.5

-0.5

-0.5
-1

0
-0.5

-1

-1

-1

VOLUMENES A PARTIR DE UNA CURA GENERADORA


>> t=0:.2:6.3;
>> y=2+sin(t);
>> plot(t,y);
a esta grafica le haremos rotar y forma un volumen
3
2.8

cylinder(y);

2.6
2.4
2.2
2
1.8

1.6
1.4

0.8

1.2
1

0.6
0.4
0.2
0
4

OTRO EJERCICIO
x=0:5;
y=2*x+3;
subplot(1,2,1);plot(x,y);
subplot(1,2,2);cylinder(y);

-2

-4

-2

13
12
1

11
10

0.8

0.6

0.4

0.2

0
20

20
4
3

0
0

0
-20

-20

SEUDOANIAMACIONES EN MATLAB
M= memoria prar presentar un numero de frames
% En el parentesis digito el numero de imagenes a presentar
M=moviein(30);
x=[-2*pi:0.2:2*pi];
%Genero varias imagenes
for j=1:30
y=sin(x+j*pi/8);
plot(x,y);
%Para presentar la imagen M(filas columnas)=getframe(devuleve un vector columna
con la informacion necesaria para presentar la imagen)
M(:,j)=getframe;
end
%La instruccion que presenta la pelicula es movie(M, # de veces que deseo repetir la
pelicula, velocidad de la Presentacion)
movie(M,10,15)

OTRO EJERCICIO

%Elimino los ejes


axis off
M=moviein(30);
for j=1:30;
xa=-2:.2:2;
ya=-2:.2:2;
[x,y]=meshgrid(xa,ya);
z=x.^2-y.^2;
surf(z);
%uNA FUNCION UQE PERMITE MODIFICAR LA VISION DEL VOLUMEN
view([-37.5+6*j 30])
%Expreso los rangos en que quiero ver
axis([0 25 0 30 -4 4])
axis off
M(:,j)=getframe;
end
movie(M,60,15);

También podría gustarte