Professional Documents
Culture Documents
COORDINACIN EDITORIAL
VICERRECTORADO ACADMICO
Este libro est dedicado a mis padres Hugo y Gloria, por el apoyo
incondicional tanto econmico como emocional, quienes a lo largo de
nuestra vida han velado por nuestro bienestar y educacin siendo
nuestro pilar fundamental.
A mis hermanos Jimmy y Nahomi, por el apoyo y motivacin que
me han dado para nunca rendirme en el proceso de alcanzar mis metas.
A mis amigas y compaeras Rosita, Ninoska y Miriam, quienes me
han apoyado dedicndome un poco de su tiempo, su paciencia y su
comprensin.
Dennys San Martin
Primera edicin 2015
ISBN: 978-9978-316-80-1
Portada:
Concepto editorial: Jorge Maza Crdova
Samanta Cabezas (est. Comunicacin Social)
Fotografa: Dir. de Comunicacin UTMACH
Introduccin .............................................................................. 13
Algoritmos de Programacin
Lenguaje de programacin....................................................... 15
Generaciones de los Lenguajes de Programacin...................... 16
Etapas de Desarrollo de un Programa...................................... 18
Variables.................................................................................. 19
Propiedades de las Variables.................................................... 20
Nombres de Variables.............................................................. 21
Vocabulario.............................................................................. 22
Jerarqua de Variables............................................................. 22
Ejercicios sobre Operaciones con Variables.............................. 23
Algoritmo................................................................................. 24
Desarrollo de Algoritmos.......................................................... 25
Diagrama de Flujo.................................................................... 26
Comandos bsicos en MATLAB................................................ 28
Ejercicios sobre Algoritmos y Comandos Bsicos en MATLAB... 30
Estructuras condicionales
Estructuras de Control Condicionales...................................... 33
Estructura Condicional Simple IF/END.................................... 33
Estructura Condicional Doble IF/ELSE/END........................... 35
Estructura Condicional Mltiple IF/ELSEIF/ELSE/END.......... 36
Estructura Condicional Mltiple SWITCH/CASE...................... 38
Ejercicios sobre Estructuras Condicionales.............................. 40
Estructuras Repetitivas
Estructuras de Control Repetitivas........................................... 43
Estructura Repetitiva FOR....................................................... 43
Estructura Repetitiva WHILE................................................... 45
Interrupcin con BREAK.......................................................... 46
Interrupcin con CONTINUE.................................................... 47
Ejercicios sobre Estructuras Repetitivas................................... 49
Arreglos en MATLAB
Arreglo Unidimensional............................................................ 53
Manipulacin de vectores......................................................... 53
Creacin de vectores................................................................ 56
Comandos................................................................................ 57
Operaciones entre vector.......................................................... 60
Ejercicios sobre Vectores.......................................................... 61
Arreglo Multidimensional......................................................... 62
Manipulacin de matrices........................................................ 62
Manipulacin filas y columnas................................................. 65
Matrices Especiales.................................................................. 66
Operaciones entre matrices...................................................... 68
Comandos Especiales............................................................... 69
Ejercicios sobre Matrices.......................................................... 71
Graficacin en MATLAB
Grficos Bidimensionales 2D.................................................... 73
Comando plot(x,y).................................................................... 73
Comando grid on...................................................................... 74
Comando plot(x,y,r*)............................................................... 75
Comandos de etiqueta.............................................................. 75
Comandos para curvas paramtricas....................................... 77
Comando para curvas polares.................................................. 79
Ejercicios sobre Graficacin 2D................................................ 80
Grficos Tridimensionales 3D................................................... 80
Comando plot3(x,y,z)................................................................ 81
Comando quiver3..................................................................... 82
Comandos meshgrid y plot3..................................................... 83
Comandos meshgrid y mesh.................................................... 83
Comandos meshgrid y surf....................................................... 84
Comando subplot..................................................................... 85
Comando colorbar.................................................................... 86
Comandos para curvas de nivel................................................ 87
Comando SPHERE (Esfera)...................................................... 89
Comando CYLINDER (Cilindro)................................................. 90
Ejercicios sobre Graficacin 3D................................................ 91
Funciones
Definicin................................................................................ 93
Funciones en lnea................................................................... 94
Funciones definidas mediante script........................................ 96
Declaracion de una funcin...................................................... 96
Ejercicios sobre Funciones....................................................... 100
Bibliografa................................................................................. 103
Biografa..................................................................................... 107
Introduccin
[13]
En los captulos 2 y 3, se presentan las estructuras de control
condicionales y repetitivas, respectivamente. Entre las estructuras
condicionales se destacan las condicionales simples, dobles y mltiples.
Mientras que las estructuras repetitivas destacan aquellas que son
controladas por ndice y las que son controladas por condicin.
En el captulo 4 se presentan los arreglos unidimensionales
representados por vectores y los arreglos bidimensionales representados
por matrices. Se hace una amplia descripcin sobre la manipulacin de
la informacin que estas estructuras almacenan.
En el captulo 5 se propone un conjunto de estrategias para el
desarrollo de grficos en 2 y 3 dimensiones. sto permite fundamental-
mente la visualizacin de la informacin para un apropiado anlisis de
los fenmenos presentes en la naturaleza.
Finalmente, el captulo 6 explica la construccin de funciones que
sern herramientas importantes en la programacin modular. Se hace
una diferenciacin en la manera que se hace programacin secuencial
mediante ficheros, y las ventajas que posee el uso de funciones.
Los autores de este libro expresan su profunda expectativa
de que esta obra se constituya en una referencia que despierte en
los estudiantes de ciencias e ingeniera, la pasin y el inters en la
resolucin de problemas mediante el uso de programas computacio-
nales. De igual manera, esperamos que el lector encuentre en cada
problema planteado en este libro, como una oportunidad para atreverse
a aprender: Sapere aude.
Algoritmos de programacin
Lenguaje de programacin
[15]
16 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
- Incrementa el vocabulario.
- Permite elegir mejor el lenguaje a utilizar para cada tarea.
- Hace ms fcil aprender nuevos lenguajes de programacin.
Editor Disco
Procesadores Disco
Compilador Disco
Vinculador Disco
Disco
Memoria principal
CPU
Variables
a=S
20 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Una variable debe ser nombrada para representar todos los valores
posibles que puede contener, por ejemplo; Nota_mediosemestre,
notas_mediosemestre, dato_puntos, nombre_curso. La informacin
en la variable representa el ltimo valor almacenado, desapareciendo
el contenido que estaba previamente guardado. Las variables se usan
para obtener una copia de la informacin preservando el contenido
original.
Nombre
Tipo
Valor
Tiempo de vida
Ubicacin
Nombres de Variables
Vocabulario
Jerarqua de Variables
1. Los parntesis ()
2. Exponenciacin
3. La multiplicacin y divisin, *, /, de izquierda a derecha.
4. Ms y menos, +, , de izquierda a derecha.
Ejemplo:
3 + 5/2 * 4 2 ^ 3 + (5 * 2) = 3 + 5/2 * 4 2 ^ 3 + 10
3 + 5/2 * 4 2 ^ 3 + (5 * 2) = 3 + 5/2 * 4 8 + 10
3 + 5/2 * 4 2 ^ 3 + (5 * 2) = 3 + 2,5 * 4 8 + 10
3 + 5/2 * 4 2 ^ 3 + (5 * 2) = 3 + 10 8 + 10
3 + 5/2 * 4 2 ^ 3 + (5 * 2) = 15
>> x = 5+2 ^ 2
>> y = 2*x
>> z=x^2+y^2
>> 3 * (5/3 4/3) 1
>> pi
>> (1) ^ (0,5)
>> log(0)
>> 0/0
>> S=2>4
>> S |~ S
>> (2 < 3) * 3
>> true * 3
>> false | 4,03
>> w ='Goodmorning'
>> w
24 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Algoritmo
Ejemplos de Algoritmos
- +@;;;.,;
l.
2.
Verter el agua
caliente en la
taza.
Agregar caf en
-
1
el agua caliente
3. Agregar azcar
al gusto.
4. Agitar el agua
I
con el azcar y
el caf.
Algoritmos de Programacin 25
-a=S
INiii[ii[.],jfi
1. Sumar el
primer nmero
con el segundo
-
nmero.
c=ll
b=6 c=a+b
Desarrollo de Algoritmos
Ejemplo
Describa un algoritmo para calcular el rea de un tringulo dados
sus tres lados (suponer que son 5, 6, 8).
Datos: a, b, c: Lados del tringulo.
Resultado: s: rea del tringulo.
Frmula geomtrica: s = t(t a)(t b)(t c), siendo t = a+b+c
2
26 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Resolucin:
1. Objetivo: Calcular el rea de un tringulo dado sus tres lados.
2. Componentes o variables:
a=5
b=6
c=8
s =rea del triangulo
3. Instrucciones necesarias:
Frmula geomtrica para calcular el rea de un tringulo
s = t(t a)(t b)(t c)
Donde primero debemos calcular el valor de t dada la siguiente
frmula t = a+b+c
2
Una vez calculado t se procede a reemplazar en la frmula para el
rea de un tringulo
4. Prueba de validacion:
S a b c t
14.9812 5 6 8 9,5
Diagrama de Flujo
Desarrollo
Figura 8: Componentes de un diagrama de flujo
Inicio/ Fin
Entrada de datos
V
Ingreso de datos
>>variable= input('mensaje');
Salida de datos
disp('variable');
Ejemplo
- (a+b+c)/2
Bloque de clculos
s - Jt(t - a)(r - b)(t - e)
Command Window
>> c = fix (20/6)
c =
2
x
Command Window
>> c = mod(20,6)
c =
2
x
[33]
34 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
9 no
9
a, b
no
suma - a+ b
Estructuras Condicionales 35
9 no
instrucciones 1 instrucciones 2
9
a, b
resta- a- b
suma resta
9
instrucciones 1
instrucciones 2
o
1 % Estructura Condicional Multiple
2
3 if condicion1
4 instrucciones1;
5 elseif condicion2
6 instrucciones2;
7 else
8 instrucciones3;
9 end
suma- a+b
resta -a-b
resta
38 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
o
Estructuras Condicionales 39
si
d f- a+ b+ e-a
a, b, e, d
d f- a+ b +c*a
a, b, e, d
o
Los siguientes ejercicios han sido propuestos por el Profesor Luis
Rodrguez en [6].
3. Dados el radio y la altura de un cilindro, si la altura es mayor al
radio, calcule y muestre el volumen del cilindro, caso contrario muestre
el mensaje: Error.
42 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
[43]
44 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
no
Para i f- l:n
si
1 % Estructura Repetitiva FOR
instrucciones 2
3 for i=1:n
4 instrucciones;
5 end
9
suma - O
Para i~ 1:n
nmpar -2* i -1
no
suma - O
i - 1
nimpar - O
Gp
o
46 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
no
no
y f:- y-3*j
Xf:- X -y
y f:- 28
o
j f:- j+l j f:- o
50 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
no
i,j, X, y
xf-x+y
y f- 10
o
j f- o
1 x =3;
2 while x < 14
3 disp(listo!)
4 x = x + 3.5;
5 end
La respuesta es
4. Reescriba una forma alternativa del mismo programa que se
presenta a continuacin, conservando su funcionamiento. Debera ser
capaz nicamente de cambiar la sntaxis de la estructura for por una
estructura while.
1 n = 10;
2 x = 0;
3 y = 0;
4 for i=1:n
5 x = x + 5;
6 y = x + 3;
7 end
Estructuras Repetitivas 51
Arreglo Unidimensional
Manipulacin de vectores
Sintaxis de un vector
nombre = [componentes]
[53]
54 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> x = [5 , 7, 4];
>> x
x =
5 7 4
x
Command Window
>> t = [6; 9;3];
>> t
t =
5 7 4
x
Command Window
>> x = [x, 8];
>> x
x =
5 7 4 8
x
Command Window
>> x = [6 , x] ;
>> x
x =
6 5 7 4 8
x
Arreglos en MATLAB 55
Command Window
>> x (3) = [ ] ;
>> x
x =
6 5 4 8
x
Command Window
>> x = [ ] ;
>> x
x =
[ ]
x
Command Window
>> x (1) = 5;
>> x (2) = 7;
>> x (3) = 4;
>> x
x =
5 7 4
x
Command Window
>> x = [6 , 7, 4, 8, 3];
>> x
x =
6 7 4 8 3
x
56 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> x (3) ;
ans =
4
x
Command Window
>> x (4) = 9;
x =
6 7 4 9 3
x
Command Window
>> x (2:4) ;
ans =
7 4 9
x
Command Window
>> x = [x(1:2) , 8, x(3:5) ] ;
>> x
x =
6 7 8 4 9 3
x
Creacin de vectores
Command Window
>> y = input ( ingrese un vector : ) ;
Command Window
>> y = 10:2:20
y =
10 12 14 16 18 20
x
Command Window
>> y = 10:20
y =
10 11 12 13 14 15 16 17 18 19 20
x
Command Window
y =
10 12 14 16 18 20
x
Comandos
Command Window
>> v = [2 4 7 3 5 8 6];
>> n = length (v) ;
n =
8
x
58 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> s = sum(v) ;
s =
42
x
Command Window
>> m = max(v) ;
m =
8
x
Command Window
>> [m, p ] = max(v) ;
m =
8
p =
7
x
Command Window
>> p = mean(v) ;
p =
3 5.2500
x
Command Window
>> v = [2 4 7 3 5 8 6];
>> e = ismember(8,v) ;
e =
1
>> e =ismember(9,v) ;
e =
0
x
Arreglos en MATLAB 59
Command Window
Command Window
>> a = [ 1 3 2];
>> b = [ -2 2 -2];
>> c = cross (a , b)
c =
-10 -2 8
x
Command Window
>> a = [ 1 3 2];
>> b = [ -2 2 -2];
>> c = dot (a , b)
c =
0
x
La raiz de un vector.
Command Window
z =
0 1 2 3 4 5
x
60 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> x = a + b ;
x
Resta de vectores
Command Window
>> x = a - b ;
x
Multplicacin de vectores
Command Window
>> x = a b ;
x
Command Window
>> x = a . b ;
x
Command Window
>> x = a ./ b ;
x
Arreglos en MATLAB 61
Command Window
>> x = a .2 ;
x
Arreglo Multidimensional
Manipulacin de matrices
Command Window
10 20 30 40
5 7 9 11
13 15 17 19
2 4 6 8
x
Command Window
>> a = [10;20;30;40]
>> b = [5;7;9;11]
>> c = [13;15;17;19]
>> d = [2;4;6;8]
>> x = [a,b,c ,d]
x =
10 5 13 2
20 7 15 4
30 9 17 6
40 11 19 8
x
Arreglos en MATLAB 63
Command Window
>> a = [2 5 7; 4 6 2;8 9 3]
a =
2 5 7
4 6 2
8 9 3
x
Command Window
>> a = (3 ,2)
ans =
9
x
Command Window
>> a (3 ,2) = 10
ans =
2 5 7
4 6 2
8 10 3
x
Acceder a la fila 2.
Command Window
>> d = a(2,:)
d =
4 6 2
x
Acceder a la columna 2.
Command Window
>> d = a(:,2)
d =
5
6
9
x
64 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
5 7
6 2
x
Command Window
Command Window
Command Window
>> a = [2 4 5; 6 0 7; -2 8 3]
3 a =
2 4 5
6 0 7
-2 8 3
>> a=[a ; a ( 3 , : ) ] ;
a =
2 4 5
6 0 7
-2 8 3
-2 8 3
x
Command Window
a =
2 4 5
6 0 7
-2 8 3
-2 8 3
>> a=[a , a ( : , 2 ) ] ;
a =
2 4 5 4
6 0 7 0
-2 8 3 8
-2 8 3 8
x
66 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
a =
2 4 5 4
6 0 7 0
-2 8 3 8
-2 8 3 8
>> a (1 , : )= [ ] ;
a =
6 0 7 0
-2 8 3 8
-2 8 3 8
x
Command Window
a =
6 0 7 0
-2 8 3 8
-2 8 3 8
>> a ( : , 3 )= [ ] ;
a =
6 0 0
-2 8 8
-2 8 8
x
Matrices Especiales
Command Window
>> a = zeros (3 , 4 )
a =
0 0 0 0
0 0 0 0
0 0 0 0
x
Arreglos en MATLAB 67
Command Window
>> b = ones (4 ,3)
b =
1 1 1
1 1 1
1 1 1
1 1 1
x
Matriz identidad de 4 x 4.
Command Window
>> c = eye (4 , 4 )
c =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1
x
Command Window
>> d =rand (5 , 6 )
d =
0.8147 0.0975 0.1576 0.1419 0.6557 0.7577
0.9058 0.2785 0.9706 0.4218 0.0357 0.7431
0.1270 0.5469 0.9572 0.9157 0.8491 0.3922
0.9134 0.9575 0.4854 0.7922 0.9340 0.6555
0.6324 0.9649 0.8003 0.9595 0.6787 0.1712
x
Command Window
>> d =10rand (5 , 6 )
d =
7.0605 8.2346 4.3874 4.8976 2.7603 4.9836
0.3183 6.9483 3.8156 4.4559 6.7970 9.5974
2.7692 3.1710 7.6552 6.4631 6.5510 3.4039
0.4617 9.5022 7.9520 7.0936 1.6261 5.8527
0.9713 0.3445 1.8687 7.5469 1.1900 2.2381
x
68 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> d =fix (10 rand (5 , 6 ) )
d =
7 9 8 3 3 2
2 5 2 1 8 7
5 1 8 2 5 7
6 1 2 6 5 3
8 2 9 4 9 5
x
Command Window
>> x = a + b ;
x
Resta de matrices.
Command Window
>> x = a - b ;
x
Command Window
>> x = a b ;
x
Command Window
>> x = a . b ;
x
Arreglos en MATLAB 69
Command Window
>> x = a ./ b ;
x
Comandos Especiales
Command Window
>> a = [2 4 5; 6 0 7; -2 8 3];
a =
2 4 5
6 0 7
-2 8 3
>> [ n ,m]=size ( a ) ;
n =
3
m =
3
x
Command Window
>> c = sum( a ) ;
c =
6 12 15
x
Command Window
>> f = sum(a ) ;
f =
11
13
9
x
70 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Command Window
>> s = sum(sum( a ) ) ;
s =
33
x
Command Window
>> max( a )
ans =
6 8 7
x
Command Window
>> a = [2 4 5; 6 0 7; -2 8 3]
a =
2 4 5
6 0 7
-2 8 3
>> d =diag ( a )
d =
2
0
3
x
Command Window
Command Window
>> a = [2 4 5; 6 0 7; -2 8 3]
a =
2 4 5
6 0 7
-2 8 3
>> det ( a )
ans =
2.1316 e -14
x
Command Window
>> a = [2 4 5; 6 0 7; -2 8 3]
a =
2 4 5
6 0 7
-2 8 3
>> inv ( a )
ans =
1 .0 e+15
) )
1 2 3
3 4 4
3 7 2
72 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
{
x1 2x2 + x3 + x4 = 1
3x1 + 2x3 2x4 = 0
4x2 x3 x4 = 0
5x1+ 3x3 x4 = 2
{ x1 + x2 x3 = 15
4x1 2x2 + 7x3 = 5
{ x1 + x2 x3 = 6
3x1 3x2 + 2x3 = 3
x1 11x2 + 6x3 = 12
Graficacin en MATLAB
Grficos Bidimensionales 2D
Comando plot(x,y)
Este comando dibuja los pares de puntos (x, y) unidos por segmentos (x
e y representan las componentes de los vectores x e y respectivamente).
Ejemplo: Dibujar y = sen(x). Primero creamos un vector de valores
para x de la siguiente manera x=0:0.1:2*.
Ahora calculamos los valores de y como se observa en la Figura 32.
[73]
74 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
1 x = 0:0.1:2*pi
2 y = sin(x);
3 figure(1);
4 plot(x,y);x
0.8
0.6
04
0.2
-0.2
-0.4
-0_6
-0.8
-1~~~~~~~~~~~~~~~~~~~
o
Comando grid on
1 x = 0:0.1:2*pi
2 y = sin(x);
3 figure(1);
4 plot(x,y);
5 grid on:
Comando plot(x,y,r*)
1 x = 0:0.1:2*pi
2 y = sin(x);
3 figure(1);
4 plot(x,yr*);
5 grid on;
0.8 ..
+'+ *+
....
..
i
+
0.6
+
+
+ +
..+ .. ;.
04
02 +
+
,., *..
.. '+'+ +
,
.
-O 2 ................ ; ., +
: t
-0.4 .... . ,
-06
-0.8
1
.. ...
+
\.
*+..
.
..
.~ :
T
+
o 2 5 6
Comandos de etiqueta
1 x = 0:0.1:2*pi
2 y = sin(x);
3 figure(1);
4 plot(x,y,r*);
5 grid on;
6 title(Grafica de funcion y = f(x));
7 xlabel(Eje de abcisas);
8 ylabel(Eje de coordenadas);
9 legend(y = sen(x));
76 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
.JL...-~~-'-~~-'-~~--'~~~L--~~"*1~~~'-~~J
o 3 4 5 6
'~
8Jt de abc1sas
~= distinto
& y
I o
~ no
Ejemplo:
{ x2
1
si x < 0
si x 0
Graficacin en MATLAB 77
1 x = -4:0.1:4;
2 y = (x.2).*(x<0)+(-1).*(x>=0);
3 figure(4);
4 plot(x,y);
5 grid on;
6 title(funciones de la forma y = f(x));
7 xlabel(Eje de abcisas);
8 ylabel(Eje de coordenadas);
9 legend(x2 si x<0 , 1 si x>=0);
14
12
10
"'
~ 8
~o
"'"
-c
6
'"
w
4
o
-2
-4 -3 -2 -1 o 2 3
eje de abcisas
t2 - 1 , t2 - 1
r(t) = ,5 t 5
t2 + 1 t2 + 1
t = 5 : 0,1 : 5;
1 t = -5:(0.1):5;
2 x = t.*(t.2 -1)./(t.2 +1);
3 y = 2.*(t.2 -1)./(t.2 +1);
4 figure(5);
5 plot(x,y);
6 grid on;
7
8 title(Curvas parametricas)
9 xlabel(Eje de abcisas)
10 ylabel(Eje de coordenadas)
Curvas paremetricas
1.5
.... 05 ! ....
i
.. o
i -o s "!"
1 5
.4 1 2 3 5
eje de abcrsas
Graficacin en MATLAB 79
r = h(); [1 , 2]
r = 2 4cos();
1 teta = -pi:0.1:pi,
2 r =2 - 4 * cos(teta),
3 figure(6);
4 polar(teta,r,yellow);
5 title(Curvas en coordenadas polares)
6 xlabel( eje de abcisas)
7 ylabel( eje de coordenadas)
270
eje de abcisae
80 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
x(x2)
1. (x) =
(x+1) (x+2)
2. (x) = sen(1/x)
x
3. (x) =
e|x-1|
{ x-1 si x < 0
2
4. (x) =
si x 0
{
1-x si x < -1
5. (x) =
1-x2 si - 1 < x < 1
x-1 si x < 1
Curvas Paramtricas
1.
r (t) = (2cos3(t), 2sen3(t)), - t
2.
r (t) = ( 32 cos(t)(cos(t) + 1), 2sen(2t)), t
3.
r (t) = (sen(2t) + sen(t), cos(2t) cos(t)), t
4. t t
r (t) = ( e sen(2t), e cos(2t)), t
4 4
5.
r (t) = ( t 11 sen(3t), 22 cos(3t)), t
10 10
Curvas Polares
1. r = 7 sen(), -
2. r = 3 -6sen(), -
3. r = sen(6), -
4. r = cos(8), -
5. r = 5cos(2), -
Grficos Tridimensionales 3D
Comando plot3(x,y,z)
Para usar este comando, se debe generar un vector para los valores de
t en el intervalo sealado en el problema. Luego, se utiliza el comando
plot3 como se muestra en la Figura 39.
1 t = 0:0.01:8*pi;
2 plot3(cos(t),sin(t),t),grid on;
:JJ
25
20
15
10
.1 .1
comet3(sin(t), cos(t), t)
82 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Comando quiver3
Para usar este comando, se debe generar un vector para los valores
de t en el intervalo sealado en el problema. Luego, se utiliza el comando
quiver3 como se muestra en la Figura 40.
1 t = 0:0.3:8*pi;
2 x = cos(t);
3 y = sin(t);
4 z = t;
5 dx = -sin(t);
6 dy = cos(t);
7 dz = ones(1,length(t));
8 plot3(x,y,z),hold on, grid on; %sirve para mantener la grafica
9 quiver3(x,y,z,dx,dy,dz);
1 [x,y]=meshgrid(-2:0.1:2);
2 z = exp(-x.2 - y.2);
3 plot3(x,y,z),grid on;
1 [x,y]=meshgrid(-2:0.1:2);
2 z = exp(-x.2 - y.2);
3 mesh (x,y,z);
-2 -2
1 [x,y]=meshgrid(-2:0.1:2);
2 z = exp(-x.2 - y.2);
3 surf (x,y,z);
-2 -2
Graficacin en MATLAB 85
1 [x,y]=meshgrid(-2:0.1:2);
2 z = exp(-x.2 - y.2);
3 surf (x,y,z), shading flat;
....
08
06
04
02
o
2
-2 -2
Comando subplot
1 [x,y]=meshgrid(-2:0.2:2);
2 z = exp(-x.2 - y.2);
3 subplot(2,2,1), plot3(x,y,z), title('plot3');
4 subplot(2,2,2), mesh(x,y,z), title('mesh');
5 subplot(2,2,3), surf(x,y,z), title('surf');
6 subplot(2,2,4), surf(x,y,z), shading flat, title('shading flat');
86 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Figura 45: Representacin de las cuatro figuras en una sola ventana mediante el comando subplot.
plot3 mesh
1 .. :
o
2
2
o
2 2
0.5
o
2
Comando colorbar
cos (xy)
z=
x2 + y2 + 1
1 [x,y]=meshgrid(-1:0.1:1, -2:0.1:2);
2 z = cos((x.*y)./(x.2 + y.2 + 1));
3 surf(x,y,z), colorbar;
Graficacin en MATLAB 87
Figura 46: Relacin de los valores del relieve de los puntos con el color mediante el uso del comando
colorbar
1 ...
: .....
0.98 0.98
~
0.96
0.97
0.94
0.96
0.92
2
2 1
Dada una funcin z = f(x, y), las curvas sobre el plano XY, determinadas
por la ecuacin f(x, y) = k, donde k es una constante se llaman curvas
de nivel. Hay varias formas de obtenerlas usando MATLAB.
Ejemplo: Representar la grfica de la funcin que se presenta a
continuacin, dibujando algunas curvas de nivel.
z = x2 + y2
1 [x,y]=meshgrid(-2:0.1:2);
2 z = x.2 + y.2;
3 contour(x,y,z,10);
88 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
1 [x,y]=meshgrid(-2:0.1:2);
2 z = x.2 + y.2;
3 contour3(x,y,z,10);
8
I
.I;r
UI
.. : 1
6
~~!~'"'"'>~;
2
( ~.
o
2
-2 -2
Graficacin en MATLAB 89
1 [x,y]=meshgrid(-2:0.1:2);
2 z = x.2 + y.2;
3 pcolor(x,y,z), colorbar;
0.5
-1.5----
-0.5
-1ilmw
1 [x,y,z] = sphere();
2 surf(x,y,z);
90 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
05
-05
.1 I
1 [x,y,z] = cylinder(10,100);
2 surf(x,y,10*z);
10
o
10
10
10 10
Graficacin en MATLAB 91
1.
r (t) = (2cos3(t), 2sen3(t),t), -4 t 3
2.
r (t) = (cos(t), cos3(t), 14 sen(t)), t
3.
r (t) = ( t6 cos(t), t6 sen(t) 36 t ), 12 t 19
4. t t
r (t) = ( e sen(2t), e cos(2t), t4 ), 10 t 4,8
4 4
5.
r (t) = (sen(2t) + sen(t), cos(2t) cos(t), t6 ), 9 t 10
Vectores de curvas en el espacio
Por cada curva del ejercicio anterior, utilice el comando quiver3
para generar algunos vectores de velocidad de las curvas. Utilice la
resolucin adecuada. Recuerde que el comando quiver3 posee la
siguiente sintaxis
dx (t) , dy (t) , dz (t) )
quiver3 = (x (t), y (t), z (t),
dt dt dt
1
1. z =
9 + x2 + y2
2. z = | xy |
x2 + y2
cos ( )
3. z = 4
3 + x2 + y2
y2
4. z = 3|x|
5
5. z = e -(x +y )
2 2
92 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Definicin
[93]
94 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
Funciones en lnea
sen (x)
(x) = x
Command Window
>> f=inline ('sin(x)/x' )
f =
Inline function :
f(x) = sin(x)/x
x
Command Window
>> f(2)
ans =
0.4546
>> f (15)
ans =
0.0434
x
Command Window
>> g=inline('exp(-(x2)/2)')
g =
>> fplot(g,[-5 5] )
x
2
x
Figura 52: Grfica de la funcin g(x) = e 2 generada usando el comando fplot()
09
08
07
06
05
04
03
02
o1
o-5 -1 o
-4 -3 -2
Se trabaja sobre las variables en el Workspace. Las variables internas son locales a la funcin.
Automatiza una serie de pasos que se repiten con Se extiende a diferentes aplicaciones que puedan
bastante frecuencia. ser implementadas en MATLAB.
Command Window
10
-2 -2
Command Window
>> [ raiz1 , raiz2 ] = calcularaices (1 , -1 , -6)
raiz1 =
raiz2 =
-2
x
Figura 54: Grfica del polinomio p(x) = x2 x 6 con las raices x1 = 3 y x2 = 2, representadas mediante
asteriscos.
15
10
1 5
a) y= ,x=2
x3 x2 x 6
Funciones 101
tan(x) sen(x)
b) y= , x=
x sen(x) 6
1 1
b) y= , x=3
2( 1 x ) 3( 1 3 x )
P0(x) =1
P1(x) =x
P2(x) = 21 (3x2 1)
P3(x) = 21 (5x3 3x)
P4(x) = 81 (35x4 30x2 + 3)
P5(x) = 81 (63x5 70x3 15x)
P6(x) = 161 (231x6 315x4 + 105x2 5)
...
[103]
ndices de imgenes y fotografas
[105]
106 Eduardo Alejando Tusa Jumbo / Hugo Dennys San Martn Cuenca
[107]
Fundamentos de programacin para
ciencias e ingeniera
Se termin de imprimir en marzo de 2016 en la
imprenta de la UTMACH, calle Loja y 25 de Junio
(campus Machala)
Esta edicin consta de 300 ejemplares.
www.utmachala.edu.ec
ISBN: 978-9978-316-80-1
9 789978 316801
1