Está en la página 1de 48

MÉTODOS NUMÉRICOS

TEMA: Introducción al MATLAB


Ms. DAVID SUMIRE QQUENTA
Email: dsumire@upeu.edu.pe

Dr. SORIA QUIJAITE JUAN JESÚS


Email: jesussoria@upeu.edu.pe
¿QUÉ ES MATLAB?

 Es una abreviatura de MATrix


LABoratory, "laboratorio de matrices"

 MATLAB es una herramienta de


software matemático que ofrece un
entorno de desarrollo integrado (IDE)
con un lenguaje de programación
propio (lenguaje M). Está disponible
para las plataformas Unix, Windows,
Mac OS X y GNU/Linux .
Dr. Soria Quijaite Juan
¿QUÉ ES MATLAB?

 Lenguaje de Programación.
 Alto Rendimiento.
 Computación Técnica.
 Computación, Visualización y
Programación.
 Problemas y soluciones en notación
Matemática (de Matrices).

Dr. Soria Quijaite Juan


APLICACIONES

 Matemáticas y Computación.
 Desarrollo y Test de algoritmos.
 Modelado, Simulación y Prototipos.
 Análisis de Datos, exploración y
visualización.
 Gráficas de Ingeniería y Científicas.
 Desarrollo de Aplicaciones finales
(GUI)
Dr. Soria Quijaite Juan
APLICACIONES

Dr. Soria Quijaite Juan


MATLAB como Calculadora

 Matemáticas y Computación.
 Desarrollo y Test de algoritmos.
 Modelado, Simulación y Prototipos.
 Análisis de Datos, exploración y
visualización.
 Gráficas de Ingeniería y Científicas.
 Desarrollo de Aplicaciones finales
(GUI)
Dr. Soria Quijaite Juan
MATLAB como Calculadora

 Desde la ventana de
comandos ingrese:
 >> 2 + 3/4*5
 Verifique la
respuesta de
MATLAB.
 Verifique el
workspace

Dr. Soria Quijaite Juan


NÚMEROS

 Por defecto se usa la notación decimal


convencional.
 La letra “e” se usa para definir notación
científica (x10).
 Los números imaginarios se definen
usando las letras “i” y “j”.
 Los números tienen una precisión de 16
dígitos significativos decimales y un
rango entre 10-308 y 10+308
Dr. Soria Quijaite Juan
FORMATO DE MATLAB
 USANDO EL COMANDO format

Dr. Soria Quijaite Juan


VARIABLES

La variable ANS es básica


en MATLAB.
Ejecute:
>> 3-2^4
Verifique el resultado
almacenado en ANS.
Ejecute:
>> ans*5
Verifique el uso de
variables y resultado

Dr. Soria Quijaite Juan


VARIABLES

 Las variables tienen un limite de tamaño de


nombre de 31 caracteres.
 Deben empezar con una letra SIEMPRE.
 NO deben contener caracteres especiales,
salvo el “underscore” _

Dr. Soria Quijaite Juan


LAS LETRAS “i” y “j”

 “i” y “j” están


reservadas para definir
números complejos.
 >>i
 >>i=20
 >>i
 Verifique el
comportamiento de “i”

Dr. Soria Quijaite Juan


COMANDOS DE MANEJO DE SESIÓN

 clc
 clear
 clear var1, var2
 Exist (‘nombre’)
 quit
 who
 whos

Dr. Soria Quijaite Juan


EXPRESIONES
 Expresiones
Matemáticas
elementales:
 >> help elfun
 Expresiones
Matemáticas especiales:
 >>help specfun
 Expresiones de Matrices
elementales:
 >>help elmat
Dr. Soria Quijaite Juan
NÚMEROS ALEATORIOS

 Para generarlos usamos


las funciones:
 rand, randn, randint.
 Verifique el uso de:
 >> rand(2)
 >> randn(2)
 >> randint(2,2,[-4 4])

Dr. Soria Quijaite Juan


PROGRAMACIÓN EN MATLAB

ÁREA DE UN TRIÁNGULO DE LADOS a , b y c.

%PROGRAMACIÓN MATLAB
%Calcular el área de un triángulo
cuyos lados son 5 6 y 8cm.
%Dr. SORIA QUIJAITE JUAN JESÚS
%EJEMPLO 01 %RESPUESTA DE MATLAB
a=5;
b=6; A = 14.9812
c=8;
s=(a+b+c)/2;
A=sqrt(s*(s-a)*(s-b)*(s-c))

Dr. Soria Quijaite Juan


PROGRAMACIÓN EN MATLAB

ÁREA DE UN TRIÁNGULO DE LADOS a , b y c.

%EJEMPLO 02
%Dr. SORIA QUIJAITE JUAN JESÚS %RESULTADOS DE MATLAB
%INSTRUCCIONE DE ENTRADA Y SALIDA Ingrese el valor de a=5
a=input('Ingrese el valor de a='); Ingrese el valor de b=6
b=input('Ingrese el valor de b='); Ingrese el valor de c=8
c=input('Ingrese el valor de c='); El resultado del Área es=14.9812
s=(a+b+c)/2;
A=sqrt(s*(s-a)*(s-b)*(s-c));
disp('El resultado del Área es=')
disp(A)

Dr. Soria Quijaite Juan


PROGRAMACIÓN EN MATLAB
ÁREA DE UN TRIÁNGULO DE LADOS a , b y c.

Dr. Soria Quijaite Juan


TALLER 01: PROGRAMACIÓN EN MATLAB
ÁREA Y VOLUMEN DE UN CILINDRO DE ALTURA “H” Y RADIO “r”

Dr. Soria Quijaite Juan


TALLER 02: PROGRAMACIÓN EN MATLAB
Área Lateral, Total y Volumen de un tronco de Cono

Dr. Soria Quijaite Juan


PLOTEOS CON MATLAB

• La función PLOT realiza gráficos con por lo


menos un parámetro.

• En el siguiente ejemplo se crea un vector x


con valores entre 0 y 2π, se calcula el
f(x)=Sen(x)+x.Cos(x) de esos valores y se
grafican los resultados:

Dr. Soria Quijaite Juan


PLOTEOS CON MATLAB

plot: Ejemplo 1: graficar f ( x )  Sen( x )  x .Cos( x ) ; x  [0;2 ]

%MatLab 8

x=0:0.05:2*pi; 6

f=sin(x)+x.*cos(x); 4

plot(x,f,'b') 2

grid on 0

-2

-4
0 1 2 3 4 5 6 7

Dr. Soria Quijaite Juan


PLOTEOS CON MATLAB: PROPIEDADES
plot: Ejemplo 2, Etiquetas

PLOTEOS DE FUNCIONES

x=0:0.05:2*pi; 8

f=sin(x)+x.*cos(x); 6

plot(x,f,'b')
grid on

EJE DE ORDENADAS
4

xlabel('EJE DE ABSCISAS') 2

ylabel('EJE DE ORDENADAS')
title('PLOTEOS DE 0

FUNCIONES') -2

-4
0 1 2 3 4 5 6 7
EJE DE ABSCISAS

Dr. Soria Quijaite Juan


PLOTEOS CON MATLAB: POSICIONES
plot: Ejemplo 3
%POSICIONES DE CORDENADAS PLOTEOS DE FUNCIONES: Dr. Soria
8
x=0:0.05:2*pi;
f=sin(x)+x.*cos(x);
plot(x,f,'b') 6
grid on
xlabel('EJE DE ABSCISAS')

EJE DE ORDENADAS
4
ylabel('EJE DE ORDENADAS')
title('PLOTEOS DE FUNCIONES: Dr. Soria')
2
gtext('RAIZ 1')
gtext('RAIZ 2')
RAIZ 1
0 RAIZ 2

-2

-4
0 1 2 3 4 5 6 7
EJE DE ABSCISAS

Dr. Soria Quijaite Juan


PLOTEOS CON MATLAB

PLOT: Ejemplo 4 PLOTEO DE PUNTOS


3

%PLOTEO DE COORDENADAS 2.5

x=[1; 2; 3; 4; 5];
y=[0; 0.25; 3; 1.5; 2]; 2

plot(x,y,'r')
title('PLOTEO DE PUNTOS') 1.5

grid on 1

0.5

0
1 1.5 2 2.5 3 3.5 4 4.5 5

Dr. Soria Quijaite Juan


PROPIEDADES DE UN PLOT
%PLOTEO DE COORDENADAS
x=[1; 2; 3; 4; 5];
y=[0; 0.25; 3; 1.5; 2];
plot(x,y,'r')
title('PLOTEO DE PUNTOS','FontSize',15,'color','g')
grid on
PLOTEO DE PUNTOS
3

2.5

1.5

0.5

0
1 1.5 2 2.5 3 3.5 4 4.5 5

Dr. Soria Quijaite Juan


PLOTs CON ESTILO
• Plot puede recibir un tercer argumento.
• Tercer argumento es una cadena que recibe como primer carácter el
color y segundo el estilo de linea.

Dr. Soria Quijaite Juan


PLOTs CON ESTILO
• La cadena recibe hasta 3 caracteres:

Dr. Soria Quijaite Juan


PLOTs CON MARCAS
• USO DE LA MARCA *
x=0:0.05:2*pi;
f=sin(x)+x.*cos(x);
plot(x,f,'*m')
grid on PLOTEOS DE FUNCIONES
xlabel('EJE DE ABSCISAS') 8

ylabel('EJE DE ORDENADAS') 6
title('PLOTEOS DE
FUNCIONES','FontSize',15,'color','r')

EJE DE ORDENADAS
4

-2

-4
0 1 2 3 4 5 6 7
EJE DE ABSCISAS

Dr. Soria Quijaite Juan


PLOTs CON MARCAS
• USO DE LA MARCA +
x=-2*pi:0.05:2*pi;
f=sin(tan(x))+tan(sin(x));
plot(x,f,'+m')
grid on
xlabel('EJE DE ABSCISAS','FontSize',15,'color','c')
ylabel('EJE DE ORDENADAS','FontSize',15,'color','r')
title('PLOTEOS DE FUNCIONES','FontSize',15,'color','b')
PLOTEOS DE FUNCIONES
3

EJE DE ORDENADAS 1

-1

-2

-3
-8 -6 -4 -2 0 2 4 6 8
EJE DE ABSCISAS

Dr. Soria Quijaite Juan


GRÁFICOS Multi – PLOTs: COMANDO legend
x=0:pi/100:2*pi;
f=sin(x);
plot(x,f)
g=sin(x-0.25);
h=sin(x-0.5);
plot(x,f,x,g,x,h)
legend('seno(x)','seno(x-0.25)','seno(x-0.5)')
title('PLOTEOS ANIDADOS','FontSize',15,'color','m')
grid on
PLOTEOS ANIDADOS
1
seno(x)
0.8 seno(x-0.25)
seno(x-0.5)
0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7

Dr. Soria Quijaite Juan


GRÁFICOS PLOT y el GCA
• Cada llamado de la función PLOT es una petición para crear un nuevo “eje”
(axis – ventana donde se contiene el gráfico).
• Cada llamado de PLOT entonces reemplazará la gráfica anterior.
• >>hold on
• “Mantiene” el gráfico actual en el eje actual.

Dr. Soria Quijaite Juan


GRÁFICOS Multi – PLOTs: COMANDO hold on
x=0:pi/100:2*pi;
f=sin(x);
plot(x,f,'g')
hold on
g=sin(x-0.25);
h=sin(x-0.5);
plot(x,g,'b')
plot(x,h,'r')
title('PLOTEOS ANIDADOS','FontSize',15,'color','g')
grid on PLOTEOS ANIDADOS
1

0.8

0.6

0.4

0.2

-0.2

-0.4

-0.6

-0.8

-1
0 1 2 3 4 5 6 7

Dr. Soria Quijaite Juan


GRÁFICOS Multi – PLOTs: COMANDO hold on

• Se puede llamar muchas veces a PLOT pero no se reemplazará el


gráfico hasta que exista un:
• >>hold off
• Comparar con lo aprendido en “Varios Gráficos en un PLOT”.

Dr. Soria Quijaite Juan


COMANDO axis

• La función/comando axis ajusta los ejes del gráfico actual. Tiene esta
sintaxis:
• >>axis([xmin xmax ymin ymax])
• Cuando se crea un plot y no se ha definido “axis” entonces el axis es
automático:
• >>axis auto

Dr. Soria Quijaite Juan


COMANDO axis

AXIS
• Pruebe estos valores para axis e identifique el efecto:
• >>axis square
• >>axis equal
• >>grid on
• >>grid off

Dr. Soria Quijaite Juan


RESUMEN

Dr. Soria Quijaite Juan


GRÁFICO RESUMEN

Dr. Soria Quijaite Juan


COMANDO SUBPLOT
SUBPLOT

• Divide la ventana de gráficos en un arreglo mxn en


donde se pueden plotear mxn gráficos.
• Se enumeran de izquierda a derecha, de arriba hacia
abajo.
• subplot(221) (o subplot(2,2,1)) indica que se divide
en 2x2 gráficos y selecciona el 1 subgráfico.

Dr. Soria Quijaite Juan


%Dr. SORIA QUIJAITE JUAN JESÚS
subplot(2,2,1)
x=-2*pi:0.05:2*pi;
COMANDO SUBPLOT DE ORDEN 2x2
f=x.*cos(x)+sin(x);
plot(x,f,'r')
xlabel('ABSCISAS'), PLOTEO DE FUNCIONES PLOTEO DE FUNCIONES
ylabel('f=x.*cos(x)+sin(x)') 10 600
title('PLOTEO DE FUNCIONES')

f=exp(-x).*sin(4*x)+x.2
grid on

f=x.*cos(x)+sin(x)
subplot(2,2,2) 5 400
x=-2*pi:0.05:2*pi;
f=exp(-x).*sin(4*x)+x.^2;
plot(x,f,'b') 0 200
xlabel('ABSCISAS'),
ylabel('f=exp(-x).*sin(4*x)+x.^2')
title('PLOTEO DE FUNCIONES') -5 0
grid on
subplot(2,2,3)
-10 -200
x=-2*pi:0.05:2*pi; -10 -5 0 5 10 -10 -5 0 5 10
f=cos(sin(x))+sin(cos(x));
plot(x,f,'m') ABSCISAS ABSCISAS
xlabel('ABSCISAS'), PLOTEO DE FUNCIONES PLOTEO DE FUNCIONES
ylabel('f=cos(sin(x))+sin(cos(x))') 2 4
f=cos(sin(x))+sin(cos(x))
title('PLOTEO DE FUNCIONES')

f=sin(x).*log(x.2+x+1)
grid on
subplot(2,2,4) 1.5 2
x=-2*pi:0.05:2*pi;
f=sin(x).*log(x.^2+x+1);
plot(x,f,'g') 1 0
xlabel('ABSCISAS'),
ylabel('f=sin(x).*log(x.^2+x+1)')
title('PLOTEO DE FUNCIONES') 0.5 -2
grid on
0 -4
-10 -5 0 5 10 -10 -5 0 5 10
ABSCISAS ABSCISAS

Dr. Soria Quijaite Juan


subplot(2,3,1)
x=-2:0.05:2;
f=sin(2*x)+sin(4*x)+sin(6*x);
COMANDO SUBPLOT DE ORDEN 2x3
plot(x,f,'m')
grid on
subplot(2,3,2) 4 1 4
x=-2:0.05:2;
f=sin(log(x.^2+1)); 0.8
2
plot(x,f,'g') 3
grid on 0.6
subplot(2,3,3) 0
x=-2:0.05:2; 0.4
f=sinh(cos(x))+x.^2; 2
plot(x,f,'b') -2
0.2
grid on
subplot(2,3,4) -4 0 1
x=-2:0.05:2; -2 0 2 -2 0 2 -2 0 2
r=0.5+cos(x);
polar(x,r,'m')
grid on 0
90 2
subplot(2,3,5) 120 60
x=[1,2,3,4]; 1
pie3(x) 150 30
10% 40% -1
grid on
subplot(2,3,6) 180 0 20%
x=-2:0.05:2;
f=sin(sec(x))-sec(sin(x)); 30% -2
210 330
plot(x,f,'r')
grid on 240 300
270
-3
-2 0 2

Dr. Soria Quijaite Juan


FIGURAS, EJES Y PANEL
• clf, limpia la figura actual.
• close 1, cierra la ventana llamada “Figure 1”.
• figure, abre una nueva ventana.
• figure(9), abre una nueva ventana “Figure 9”.

Dr. Soria Quijaite Juan


FIGURAS, EJES Y PANEL

• Cuando se ha ejecutado el comando PLOT se


“crea” (abre) una nueva ventana que puede
recibir gráficos (ejes).
• El comando figure crea una ventana adicional y
la convierte en la actual, lo que significa que si
ejecutamos un comando relacionado a gráficos
(plot) usara la “ventana actual” para graficarlo.

Dr. Soria Quijaite Juan


FIGURAS, EJES Y PANEL
• El comando close cierra la ventana actual y el
comando close all cierra todos los gráficos.
• Se pueden tener también varias graficas sobre
la misma ventana.
• La función hold permite montar los gráficos de
una misma ventana actual.

Dr. Soria Quijaite Juan


FUNCIONES A GRAFICAR
Funciones para Graficar
Funciones para graficar en 2D

bar Gráfica de barra

fill Dibujo de polígono en 2D relleno

hist Histograma

image Imagen

loglog Gráfica con ambos ejes en escala logarítmica

plot Gráfica simple

polar Gráfica en coordenadas polares

semilogx Gráfica con eje x en escala logarítmica

semilogy Gráfica con eje y en escala logarítmica

stairs Gráfica de escalera

stem Gráfica de secuencia discreta

Dr. Soria Quijaite Juan


TALLER 03: GRAFICAR LAS SIGUIENTES FUNCIONES

f ( x)  e  x  4 x; x  [3;4]
Sen ( x ) 2

f ( x)  Ln( x  x  1)  Cos(2 x) ; x  [2 pi;2 pi ]


2

f ( x)  Sen ( x)  x  exp( x) ; x  [3;4]


2 2

x2 1
f ( x)  2 ; x  [3;6]
x 4
f ( x)  Sen ( x)  Sen ( x)  Sen( x); x  [2;3]
3 2

1
f ( x)   x; x  [3;5]
( x  1) 2

3
10  x  2
f ( x)  ; x  [ 3;5]
4 Quijaite
Dr. Soria
2
x Juan
Dr. Soria Quijaite Juan

También podría gustarte