You are on page 1of 61

MATLAB

PARA INGENIEROS

Ral Vilcahuamn Sanabria

Lima PER
NDICE GENERAL
Pagina
1. INTRODUCCIN .......................................................................................................................................................6
1.1 ESCRITORIO DE MATLAB......................................................................................................................................6
1.2 PROGRAMA EJEMPLO ..............................................................................................................................................7
1.3 DESKTOP DE MATLAB ........................................................................................................................................15
2. FUNDAMENTOS DE MATLAB .............................................................................................................................18
2.1 VARIABLES ...........................................................................................................................................................18
2.2 ARRAYS: VECTORES Y MATRICES ..........................................................................................................................19
2.3 MOVIMIENTO VERTICAL BAJO GRAVEDAD ............................................................................................................23
2.4 OPERADORES ........................................................................................................................................................24
2.4.1. Operadores matriciales de MATLAB son los siguientes:.............................................................................24
2.4.2. Operadores relacionales ..............................................................................................................................24
2.4.3. Operadores lgicos ......................................................................................................................................25
2.4.4. Funciones matemticas elementales que operar a modo de escalar............................................................26
2.5 NMEROS COMPLEJOS ..........................................................................................................................................27
3. PROGRAMACIN EN MATLAB ..........................................................................................................................28
3.1 BIFURCACIONES Y BUCLES ....................................................................................................................................28
3.1.1. Sentencia IF .................................................................................................................................................29
3.1.2. Sentencia SWITCH.......................................................................................................................................30
3.1.3. Sentencia FOR .............................................................................................................................................30
3.1.4. Sentencia WHILE .........................................................................................................................................31
3.1.5. Sentencia break ............................................................................................................................................31
3.1.6. Sentencia continue .......................................................................................................................................32
3.1.7. Sentencias TRY..CATCH..:END...................................................................................................................32
3.2 LECTURA Y ESCRITURA INTERACTIVA DE VARIABLES ...........................................................................................33
3.2.1. Funcin INPUT ............................................................................................................................................33
3.2.2. Funcin DISP...............................................................................................................................................35
4. DISEO DE UN PROGRAMA Y DESARROLLO DE UN ALGORITMO.......................................................36
4.1 PROCESO DE DISEO DE UN PROGRAMA COMPUTACIONAL ....................................................................................36
5. MATRICES DE NMEROS ....................................................................................................................................42
5.1 MATRICES .............................................................................................................................................................42
5.2 OPERACIONES CON MATRICES ...............................................................................................................................43
5.3 OTRAS FUNCIONES CON MATRICES........................................................................................................................45
6. GRFICOS ................................................................................................................................................................46
6.1 MLTIPLES GRFICOS ...........................................................................................................................................46
6.2 VISUALIZACIN DE MATRICES ..............................................................................................................................48
6.3 GRFICOS INTERESANTES .....................................................................................................................................49
7. REFERENCIAS .........................................................................................................................................................61
MATLAB PARA INGENIEROS

Catedrtico: Ral Vilcahuamn Sanabria

r_vilcahuaman@iansa.com.pe

______________________________________________________________________________________ 3
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 4
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 5
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
1. INTRODUCCIN

1.1 Escritorio de MATLAB

______________________________________________________________________________________ 6
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
1.2 Programa ejemplo

En el prompt escriba:

>> 2+3 <Enter>

>> 3-2 <Enter>

>> 2*3 <Enter>

>> 1 / 2 <Enter>

>> 2^2 <Enter>

>> 2\1 <Enter>

______________________________________________________________________________________ 7
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
>> 2.*3

>> 1./2

>> 2.^2

______________________________________________________________________________________ 8
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
>> pi

>> sqrt(pi)

>> whos

>> x=0:10

>> size(x)

>> x=0:10;
>> size(x)

______________________________________________________________________________________ 9
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
>> x = 0 : 0.1 : 10; <Enter>
>> z = sin(x); <Enter>
>> plot(x,z), grid <Enter>

______________________________________________________________________________________ 10
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Solucionar las siguientes ecuaciones lineales

x + 2y = 4,
2x y = 3.

Mtodo Matricial

>> a = [1 2; 2 -1]; <Enter>


>> b = [4; 3]; <Enter>
>> x = a\b <Enter>

El resultado ser:

x =
2
1

i.e. x = 2, y = 1.

______________________________________________________________________________________ 11
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Algo de grficos:

>> [x y] = meshgrid(-8 : 0.5 : 8); <Enter>


>> r = sqrt(x.^2 + y.^2) + eps; <Enter>
>> z = sin(r)./ r; <Enter>
>> mesh(z); <Enter>

______________________________________________________________________________________ 12
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Luego escriba el comando:
>>surf(z), shading flat

______________________________________________________________________________________ 13
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Probando los sonidos

>> load handel <Enter>


>> sound(y,Fs) <Enter>

Se escuchara el coro de Aleluya de Handel.

La tierra vista desde el espacio


>> load earth <Enter>
>> image(X); colormap(map) <Enter>
>> axis image <Enter>

why
why

______________________________________________________________________________________ 14
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
1.3 Desktop de MATLAB

Se abre el editor de Matlab

______________________________________________________________________________________ 15
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
En el editor de MATLAB escribo lo siguiente:
x = 0 : pi/20 : 6*pi;
plot(x, exp(-0.2*x) .* sin(x), 'r'),grid

______________________________________________________________________________________ 16
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Luego que corre el programa ejemplo1 bien haciendo click en el triangulo verde con
lao el comando run que esta en el men debug:

______________________________________________________________________________________ 17
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2. FUNDAMENTOS DE MATLAB

2.1 Variables

Las variables

Deben consistir solo de las letras a-z , dgitos de 0 9 y la raya abajo ( _ )


Deben comenzar con una letra

Ejemplo de nombres validos

r2d2 pay_day

Ejemplos de nombre NO VALIDOS

pay-day 2a name$ _2a

Matlab diferencia el uso de MAYSCULAS y minsculas.


En el siguiente ejemplo se trata de tres variables distintas

balance, BALANCE y BaLance

______________________________________________________________________________________ 18
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.2 Arrays: vectores y matrices

Un vector

>> x = [1 3 0 -1 5]

Un vector transpuesto x

______________________________________________________________________________________ 19
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Matrices

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

Una matriz puede ser construida por dos vectores columna de la misma longitud
>> x = 0:30:180;
>> tabla = [x' sin(x*pi/180)']

______________________________________________________________________________________ 20
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Matrices predefinidas en MATLAB

______________________________________________________________________________________ 21
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Algunas funciones

______________________________________________________________________________________ 22
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.3 Movimiento vertical bajo gravedad

Una piedra es lanzada verticalmente hacia arriba con una velocidad v1 de 60


m/s, su desplazamiento vertical esta dada por la ecuacin d = v1*
t+(1/2)*g*t. g es la aceleracin de la gravedad. Se desprecia la resistencia del
aire. Se desea calcular el el valor de d para 12.3 segundos en intervalos de
0.1 segundos, debe graficar distancia vs tiempo en ese periodo.

% Movimiento vertical bajo gravedad

g=9.8 % aceleracin de la gravedad


v1=60; % velocidad inicial en m/s

t=0:0.01:12.3; % tiempo en segundos


d=v1*t-(1/2)*g*t.^2 % desplazamiento vertical en metros.

plot(t,d), title('Movimiento vertical bajo gravedad')


xlabel('Tiempo'),
ylabel('Desplazamiento vertical'),grid

______________________________________________________________________________________ 23
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.4 Operadores

2.4.1. Operadores matriciales de MATLAB son los siguientes:

+ Adicin o suma
sustraccin o resta
* Multiplicacin
' traspuesta
^ Potenciacin
\ divisin-izquierda
/ divisin-derecha
.* Producto elemento a elemento
./ y .\ divisin elemento a elemento
.^ Elevar a una potencia elemento a elemento

2.4.2. Operadores relacionales

< menor que


> mayor que
<= menor o igual que
>= mayor o igual que

== igual que
~= distinto que

______________________________________________________________________________________ 24
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.4.3. Operadores lgicos

Los operadores lgicos de MATLAB son los siguientes:

& and (funcin equivalente: and(A,B)). Se evalan siempre ambos


operandos, y el resultado es true slo si ambos son true.

&& and breve: si el primer operando es false ya no se evala el segundo,


pues el resultado final ya no puede ser ms que false.

| or (funcin equivalente: or(A,B)).


Se evalan siempre ambos operandos, y el resultado
es false slo si ambos son false.

|| or breve: si el primer operando es true ya no se evala el segundo,


pues el resultado final no puede ser ms que true.

~ negacin lgica (funcin equivalente: not(A))

xor(A,B) realiza un "or exclusivo", es decir,


devuelve 0 en el caso en que ambos sean 1 ambos sean 0.

Los operadores lgicos se combinan

______________________________________________________________________________________ 25
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.4.4. Funciones matemticas elementales que operar a modo de escalar

______________________________________________________________________________________ 26
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
2.5 Nmeros complejos

En MATLAB un numero complejo se escribe de la foma a+bi.


La terminacin i y j solo funciona con numero simples, no con expresiones

Ejemplo:
>> a=1;b=4;c=13;
>> x1=(-b+sqrt(b^2-4*a*c))/(2*a)

x1 =

-2.0000 + 3.0000i

>> x2=(-b-sqrt(b^2-4*a*c))/(2*a)

x2 =

-2.0000 - 3.0000i

>> %comprobando
>> a*x1^2+b*x1+c

______________________________________________________________________________________ 27
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3. PROGRAMACIN EN MATLAB

3.1 Bifurcaciones y bucles

Los bucles permiten repetir las mismas o anlogas operaciones sobre datos distintos. Mientras que
en C/C++/Java el "cuerpo" de estas sentencias se determinaba mediante llaves {...}, en MATLAB
se utiliza la palabra end con anloga finalidad. Existen tambin algunas otras diferencias de sintaxis.

______________________________________________________________________________________ 28
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3.1.1. Sentencia IF

if condicion
sentencias
end

Existe tambin la bifurcacin mltiple, en la que pueden


concatenarse
tantas condiciones como se desee, y que tiene la forma:

if condicion1
bloque1
elseif condicion2
bloque2
elseif condicion3
bloque3
else % opcin por defecto para
% cuando no se cumplan las
% condiciones 1,2,3
bloque4
end

donde la opcin por defecto else puede ser omitida: si no est presente no
se hace nada en caso de que no se cumpla ninguna de las condiciones
que se han chequeado.

______________________________________________________________________________________ 29
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3.1.2. Sentencia SWITCH

La sentencia switch realiza una funcin anloga a un conjunto de if...elseif


concatenados.

Su forma general es la siguiente:

switch switch_expresion
case case_expr1,
bloque1
case {case_expr2, case_expr3, case_expr4,...}
bloque2
...
otherwise, % opcin por defecto
bloque3
end

3.1.3. Sentencia FOR

for i=1:n
sentencias
end

o bien,
for i=vectorValores
sentencias
end

donde vectorValores es un vector con los distintos valores que


tomar la variable i.

______________________________________________________________________________________ 30
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
En el siguiente ejemplo se presenta una estructura correspondiente a
dos bucles anidados. La variablej es la que vara ms rpidamente
(por cada valor de i, j toma todos sus posibles valores):

for i=1:m
for j=1:n
sentencias
end
end

3.1.4. Sentencia WHILE

La estructura del bucle while es muy similar a la de C/C++/Java.


Su sintaxis es la siguiente:

while condicion
sentencias
end

donde condicion puede ser una expresin vectorial o matricial. Las


sentencias se siguen ejecutando mientras haya elementos distintos de cero
en condicion, es decir, mientras haya algn o algunos elementos true. El
bucle se termina cuando todos los elementos de condicion son false (es
decir, cero).

3.1.5. Sentencia break

Al igual que en C/C++/Java, la sentencia break hace que se termine la


ejecucin del bucle for y/o while ms interno de los que comprenden a
dicha sentencia.

______________________________________________________________________________________ 31
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3.1.6. Sentencia continue

La sentencia continue hace que se pase inmediatamente a la siguiente iteracin del


bucle for o while, saltando todas las sentencias que hay entre el continue y el fin del
bucle en la iteracin actual.

3.1.7. Sentencias TRY..CATCH..:END

La construccin try...catch...end permite gestionar los errores que se


pueden producir en tiempo de ejecucin. Su forma es la siguiente:

try
sentencias1
catch
sentencias2
end

En el caso de que durante la ejecucin del bloque sentencias1 se


produzca un error, el control de la ejecucin se transfiere al bloque
sentencias2. Si la ejecucin transcurriera normalmente, sentencias2
no se ejecutara nunca. MATLAB dispone de una funcin lasterr que
devuelve una cadena de caracteres con el mensaje correspondiente al
ltimo error que se ha producido. En la forma lasterr('') pone a cero este
contador de errores, y hace que la funcin lasterr devuelva la matriz
vaca [] hasta que se produzca un nuevo error.

______________________________________________________________________________________ 32
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3.2 Lectura y escritura interactiva de variables

3.2.1. Funcin INPUT

>> n = input('Teclee el nmero de ecuaciones =')

______________________________________________________________________________________ 33
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Otra posible forma de esta funcin es la siguiente (obsrvese el parmetro 's'):

>> nombre = input('Cmo te llamas? ','s')

En este caso el texto tecleado como respuesta se lee y se devuelve sin evaluar, con lo
que se almacena en la cadena nombre.

______________________________________________________________________________________ 34
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
3.2.2. Funcin DISP

La funcin disp permite imprimir en pantalla un mensaje de texto o el


valor de una matriz, pero sin imprimir su nombre.
En realidad, disp siempre imprime vectores y/o matrices: las cadenas de
caracteres son un caso particular de vectores. Considrense los siguientes
ejemplos de cmo se utiliza:

>> disp('El programa ha terminado')


>> A=rand(4,4)
>> disp(A)

Ejectense las sentencias anteriores en MATLAB y obsrvese la diferencia entre las dos formas de
imprimir la matriz A.

______________________________________________________________________________________ 35
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
4. DISEO DE UN PROGRAMA Y DESARROLLO DE UN ALGORITMO

4.1 Proceso de diseo de un programa computacional

Al momento de enfrentar la solucin y programacin de un pedido (caso) seguir los


siguientes pasos:

Paso 1: Anlisis del problema

Paso 2: Encarando el problema. Desarrollo matemtico detallado.

Paso 3: Esquema del procesamiento. Se define los inputs y outputs.

Paso 4: Algoritmo. Paso por paso del procedimiento.

Paso 5: Programar algoritmo. Traduccin del algoritmo a un programa


computacional (MATLAB)

Paso 6: Evaluacin. Probar todas las opciones. Validacin.

Paso 7: Aplicacin. Resuelve los problemas para los que fue


programado.

______________________________________________________________________________________ 36
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Caso ejemplo:

Se desea calcular el vuelo de un proyectil (i.e. una pelota de golf) lanzada a una
velocidad y ngulo pre establecido. Se desea determinar la trayectoria del vuelo y la
distancia horizontal que el objeto vuela antes de tocar tierra. Asuma que la resistencia
del aire es cero y que la constante de fuerza a gravitacional acta sobre el objeto en
direccin opuesta de la distancia vertical a la tierra.

El ngulo de disparo o, se define como el ngulo medido desde la horizontal (plano de


tierra) hasta la direccin vertical i.e. 0<o /2, donde o =0 implica lanzado en la
direccin horizontal y o =/2 implica que se lanzo en la direccin vertical (i.e. en la
direccin opuesta a la gravedad). Si g =9.81 m/s2 es utilizado como aceleracin de la
gravedad , luego la velocidad de lanzamiento Vo debe ingresarse en m/s. Luego si el
tiempo t>0 esta definido en segundo(s) del tiempo de lanzamiento t=0, la distancia de
viaje en x (direccin horizontal) y y (direccin vertical) estn en metros (m).

Se desea determinar el tiempo que toma desde el inicio del movimiento hasta que toca
tierra, la distancia horizontal que viaja, y la forma de la trayectoria. Adicionalmente
grafique la velocidad del proyectil versus la direccin de su vector (las ecuaciones
detalladas las encuentra en libros de FSICA de I y II de pregrado).

______________________________________________________________________________________ 37
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Solucin va MATLAB

clear
clc

% Problema del proyectil (pelota de golf)


% con resistencia cero del aire
% en un g=gravedad.

disp (' Movimiento de una pelota de golf')


disp (' ---------------------------------')
disp(' ')

% 1. Definicin de las variables de entrada

g = 9.81; % Gravedad en m/ss


vo=input('Cual es la Velocidad de lanzamiento en m/s ? ')
tho=input('Cual es el angulo de lanzamiento en grados? ')

tho = pi*tho/180; % Conversion de grados a radianes.

% 2. Calculo del rango y duracion del vuelo

txmax = (2*vo/g) * sin(tho);


xmax = txmax * vo * cos(tho);

% 3. Calculo de la secuencia de tiempo por pasos


% para calcular la trayectoria.

dt = txmax/100;
t = 0:dt:txmax;

______________________________________________________________________________________ 38
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
% 4. Calculo de la trayectoria

x = (vo * cos(tho)) .* t;
y = (vo * sin(tho)) .* t - (g/2) .* t.^2;

% 5. Calculo de la velocidad y direccion angular


% del proyectil
% Nota que vx = dx/dt, vy = dy/dt.

vx = vo * cos(tho);
vy = vo * sin(tho) - g.* t;
v = sqrt(vx.*vx + vy.*vy);
th = (180/pi) .* atan2(vy,vx);

% 6. Calculo del tiempo, distancia horizontal


% a la maxima altitud
tymax = (vo/g) * sin(tho);
xymax = xmax/2;
ymax = (vo/2) * tymax * sin(tho);

% 7. Mostrar resultados.

disp(['Rango en m = ',num2str(xmax),' Duracion en s =


',num2str(txmax)])

disp(' ')

disp(['Maxima altitude en m = ',num2str(ymax),' Arriva en


s = ', num2str(tymax)])

plot(x,y,'k',xmax,y(size(t)),'o',xmax/2,ymax,'o')
title(['Trayectoria de vuelo del Proyectil vo
=',num2str(vo),' \theta =',num2str(180*tho/pi)])

xlabel('x'), ylabel('y') % Figura 1

figure % Crea una nueva.


plot(v,th,'r')
title('Velocidad del Proyectil vs. angulo')
xlabel('V'), ylabel('\theta') % Figura 2.
%
% 8. Stop.
%

______________________________________________________________________________________ 39
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
\

______________________________________________________________________________________ 40
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 41
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
5. MATRICES DE NMEROS

5.1 Matrices

>> c = [3 12 10; 17 18 35; 7 10 24];

>>x = [4 0 0; 6 6 0; 0 3 5];

>> c

c=

3 12 10
17 18 35
7 10 24

>> x

x=

4 0 0
6 6 0
0 3 5

______________________________________________________________________________________ 42
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
5.2 Operaciones con matrices

Multiplicacin

>> m=c*x

m=

84 102 50
176 213 175
88 132 120
Suma
>> suma=c+x

suma =

7 12 10
23 24 35
7 13 29
Resta:

>> res=c-x

res =

-1 12 10
11 12 35
7 7 19

______________________________________________________________________________________ 43
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Transpuesta:
>> c

c=

3 12 10
17 18 35
7 10 24

>> c'

ans =

3 17 7
12 18 10
10 35 24

Inversa

inversa=inv(c)

inversa =

-0.0646 0.1480 -0.1890


0.1283 -0.0016 -0.0512
-0.0346 -0.0425 0.1181

______________________________________________________________________________________ 44
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
5.3 Otras funciones con matrices

det determinante
eig valores propios (descomposcion eigenvalue)
expm matriz exponential, i.e. eA, donde A es una matriz.
inv inversa.
lu Facorizacion LU factorization (en matrices triangulares lower y upper).
qr factorization ortogonal.
svd descomposicin de valor singular (singular value decomposition)

______________________________________________________________________________________ 45
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
6. GRFICOS

6.1 Mltiples grficos


clc
clear

disp('Mltiples grafios')
disp('-----------------')

[x, y] = meshgrid(-3:0.3:3);
z = x .* exp(-x.^2 - y.^2);
subplot(2,2,1)
mesh(z),title('subplot(2,2,1)')

subplot(2,2,2)
mesh(z)
view(-37.5,70),title('subplot(2,2,2)')

subplot(2,2,3)
mesh(z)
view(37.5,-10),title('subplot(2,2,3)')

subplot(2,2,4)
mesh(z)
view(0,0),title('subplot(2,2,4)')

______________________________________________________________________________________ 46
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
>> [x y] = meshgrid(-2:.2:2);
>> z = x .* exp(-x.^2 - y.^2);
>> meshc(z)
>>

______________________________________________________________________________________ 47
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
6.2 Visualizacin de matrices

a = zeros(30,30);
a(:,15) = 0.2*ones(30,1);
a(7,:) = 0.1*ones(1,30);
a(15,15) = 1;
mesh(a)

______________________________________________________________________________________ 48
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
6.3 Grficos interesantes

______________________________________________________________________________________ 49
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
clc
clear
disp('===================================== ')
disp(' GRFICOS INTERESANTES ')
disp(' ')
disp(' Ral Vilcahuamn Sanabria ')
disp(' Menu_graf.m ')
disp('===================================== ')

k = 0;
while k ~= 21

k = menu( 'elige un grafico', 'grafico con 4 vistas','recta con


pendiente ', ...
'rosa 4 petalos','lineas en 2d','grafico de un matriz','medias
parabolas',...
'grafico de barras','lineas concentricas','lineas
verticales','hiperbolas concentricas',...
'lineas oblicuas','circulo','grafica seno','barras delgadas',...
'ondas 3d','circulo de distribuciones','barras en 3d','cintas en
movimiento',...
'parabola en cuadros','escalera circular','ondas en 3d','salir');

if k==1
m=0;

while m~=5

m=menu('elige un grafico','vista 1','vista 2','vista 3','vista 4',...


'salir');

if m==1

[x, y] = meshgrid(-3:0.3:3);
z = x .* exp(-x.^2 - y.^2);
mesh(z),title('plot(2,2,1)')

elseif m==2

[x, y] = meshgrid(-3:0.3:3);
z = x .* exp(-x.^2 - y.^2);
mesh(z)
view(-37.5,70),title('plot(2,2,2)')

elseif m==3

[x, y] = meshgrid(-3:0.3:3);
z = x .* exp(-x.^2 - y.^2);
mesh(z)

view(37.5,-10),title('plot(2,2,3)')

______________________________________________________________________________________ 50
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
elseif m==4

[x, y] = meshgrid(-3:0.3:3);
z = x .* exp(-x.^2 - y.^2);
mesh(z)
view(0,0),title('plot(2,2,4)')

end
end

elseif k == 2

x = 0:.01:4;
semilogy(x, exp(x)), grid

elseif k == 3

x = 0:pi/40:2*pi;
polar(x, sin(2*x)),grid

elseif k == 4

[x y ] = meshgrid(-8 : 0.5 : 8);


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

elseif k == 5

a = zeros(30,30);
a(:,15) = 0.2*ones(30,1);
a(7,:) = 0.1*ones(1,30);
a(15,15) = 1;
mesh(a)

elseif k == 6

x = 0:0.1:1.5;
area(x', [x.^2' ...
exp(x)' exp(x.^2)'])

elseif k == 7

x = 0:pi/20:pi;
bar(x,sin(x))

elseif k == 8

z = eig(randn(10));
compass(z)

______________________________________________________________________________________ 51
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
elseif k == 9

x = 0:0.1:1;
errorbar(x,exp(-x), 0.5*rand(1,length(x)),'d')

elseif k == 10

ezcontourf('x^2-y^2')

elseif k == 11

th = 0:pi/16:pi;
z = exp((-0.5+2*i)*th);
feather(z)

elseif k == 12

t = 0:pi/20:2*pi;
fill(cos(t),sin(t),'k', 0.9*cos(t),0.9*sin(t),'y'),
axis square
clear

elseif k == 13

t = 0:pi/20:4*pi;
fill(t,sin(t),'b')

elseif k == 14

x = -20:120;
y = 50+20*randn(1,100000);
hist(y,x)

elseif k == 15

[x y] = meshgrid(-3:0.1:3);
z = peaks(x,y);
meshz(z)

elseif k == 16

pie(rand(1,10))

elseif k == 17

[x y] = meshgrid(-8 : 1 : 8);
r = sqrt(x.^2 + y.^2) + eps;
z = sin(r) ./ r;
ribbon(z)

elseif k == 18

t = 0:pi/40:4*pi;
y1 = sin(t);
y2 = exp(-0.2*t).*sin(2*t);
______________________________________________________________________________________ 52
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
y = [y1; y2];
ribbon(t', y', 0.1)

elseif k == 19

x = 0:pi/40:pi;
stairs(x,sin(x))

elseif k == 20

t = 0:pi/50:2*pi;
r = exp(-0.05*t);
stem3(r.*sin(t), r.*cos(t),t)

elseif k == 21

[x y] = meshgrid(-2:0.1:2);
z = x.*exp(-x.^2-y.^2);
waterfall(z)

end
end

______________________________________________________________________________________ 53
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
Algunos reportes graficos

______________________________________________________________________________________ 54
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 55
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 56
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 57
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 58
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 59
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
______________________________________________________________________________________ 60
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria
7. REFERENCIAS

[1] Jaan Kiusalaas (2010). Numerical Methods in Engineering with


MATLAB. Cambridge University Press. The Edinburgh Building,
Cambridge CB2 8RU, UK.

[2] Brian D. Hahn and Daniel T. Valentine (2007). Essential


MATLAB for Engineers and Scientists. Third edition.
Butterworth-Heinemann is an imprint of Elsevier Linacre House,
Jordan Hill, Oxford, OX2 8DP 30 Corporate Drive, Burlington, MA
01803.

[3] Brian Hahn (2002) Essential MATLAB for Scientists and


Engineers. Elsevier, Inc.84 Theobalds Road, London WC1X 8RR,
UK.

[4] SAADAT, HADI (2004 ) Power System Analysis. McGraw Hill


Higher Education; 2nd edition. USA.

[5] GARCA, JAVIER, IGNACIO, JOSE Y VIDAL, JESS (2005)


Aprenda Matlab 7.0. Escuela Tcnica Superior de Ingenieros
Industriales, Universidad Politcnica de Madrid, Espaa.

[6] Apoyo a la Investigacin. Servicios Informticos U.C.M.(2005)


Manual Bsico de Matlab. Universidad Complutense de Madrid.
Espaa.

[7] VILCAHUAMN, RAL y TORRES, HCTOR (2008) Control de


Sistemas Elctricos de Potencia con Matlab y Simulink. IANSA
EIRL

______________________________________________________________________________________ 61
MATLAB para Ingenieros. Ral Vilcahuamn Sanabria

You might also like