tutorialMATLAB_upeu.pdf
-
Upload
diego-keifer-malo-dominguez -
Category
Documents
-
view
219 -
download
0
Transcript of tutorialMATLAB_upeu.pdf
-
7/23/2019 tutorialMATLAB_upeu.pdf
1/90
UNIVERSIDAD PERUANA UNIN LIMAFACULTAD DE INGENIERA Y ARQUITECTURA
ESCUELA DE INGENIERA DE SISTEMAS E INGENIERA CIVIL
MANUAL DEL SOFTWARE
MATLAB VERSIN 2015a
ELABORADO POR:
SORIA QUIJAITE JUAN JESS
DOCTOR EN INGENIERA DE SISTEMAS
LIMAPER
2015
-
7/23/2019 tutorialMATLAB_upeu.pdf
2/90
2
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
INTRODUCCIN
MATLAB es una abreviatura de Matriz Laboratory (Laboratorio de Matrices). La
implementacin original de Matlab la realiz Cleve Moler a finales de los aos 70, las
aplicaciones de Matlab se fueron extendiendo a otras ramas del clculo cientfico y de las
ciencias aplicadas en general. Dichas extensiones se consiguieron en gran parte mediante laimplementacin de toolboxes, libreras que utilizan Matlab para ampliar el rango de problemas
que puede cubrir.
Sin miedo a equivocarse, se pueden enunciar las siguientes reas donde Matlab muestra un
gran potencial:
lgebra matricial
Procesamiento de seales
Diseo de sistemas de control Salidas grficas
Estadstica
Simulacin de sistemas dinmicos
Mtodos numricos:
Ceros de ecuaciones no lineales
Ceros de sistemas de ecuaciones no lineales
Interpolacin
Derivacin numrica
Integracin numrica
Ploteos de funciones reales y complejas
Teora de Bezier
Los B-spline y Poly-spline
Biforcaciones y teora del Caos
La Geometra Fractal etc.
El lenguaje de programacin de Matlab es bastante ms flexible que el de los lenguajes
tradicionales. No es preciso la declaracin inicial de variables, stas se pueden introducir en el
momento que se necesiten, y por ejemplo, vectores y matrices pueden declararse sin
especificar sus dimensiones e incluso cambiar sus tamaos sobre la marcha.
A priori se distinguen dos tipos de funciones en Matlab:
Funciones Compiladas (Built in functions)
Funciones no Compiladas
-
7/23/2019 tutorialMATLAB_upeu.pdf
3/90
3
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Las primeras estn optimizadas, son programas ya compilados y con el cdigo no accesible
para el usuario. Como ejemplos se pueden citar:
Operaciones fundamentales : + , *, :, -,
Las funciones matemticas : sin , cos, exp, log, log10,
Algoritmos bsicos del lgebra lineal : inv, det, lu, chol, qr, eig, trampose, Salidas grficas : plot, surf, meshc, meshz, waterfall
Las funciones no compiladas estn escritas siguiendo el lenguaje de programacin propio de
Matlab. Estos comandos se guardan en ficheros*.m que es la extensin estndar de los
ficheros de Matlab. Tambin est la extensin *.mat , propia de ficheros de datos.
1. ENTORNO DE TRABAJO DEL MATLAB
Entre las primeras caractersticas de Matlab destacamos las siguientes: Elprompt de Matlab es >>. El usuario escribe a continuacin
Para ejecutar se pulsa la tecla Enter
Se puede recuperar comandos anteriores navegando con las flechas y
Cuando se trabaje con Matlab , debemos tener en cuenta:
Se distinguen las maysculas de las minsculas
El carcter % se utiliza para insertar comentarios. Todo lo que sigue es ignorado por
Matlab
Si se teclea al final de una orden ; sta se ejecuta pero el resultado no se visualiza
por pantalla.
Los nmeros reales se pueden insertar tambin en notacin cientfica, muy adecuados si se
traza de nmeros grandes o muy pequeos (en valor absoluto). As, se tiene la siguiente regla
de construccin para representar nmeros reales:
Si rmx 10. entonces su equivalente es remx ..
Ejemplos:
310737007.0 xe
1245310.453 12 e
0092012.11201200000 e
0041415.300031415.0 e
Existen adems dos nmeros especiales: Inf y NaN . El primer signo representa la cantidad
infinita (). La segunda, es una abreviatura de no es un nmero (Not a Number) y es el
resultado que se devuelve ante una operacin indefinida como 0/0.
2. OPERADORES ARITMTICOS
-
7/23/2019 tutorialMATLAB_upeu.pdf
4/90
4
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Los operadores aritmticos que se posee MATLAB se ven a continuacin:
Operacin Descripcin Elementos a y b
+ a+b : Realiza la suma de ay b Escalares, vectores o matrices
- a-b : Realiza la resta de ay b Escalares, vectores o matrices
* a*b : Realiza la multiplicacin de ay b
Escalares o matrices
.* a .* b : Realiza la multiplicacin de a
y b
Escalares o de vectores
/ a / b : Realiza la divisin de aentre
b
Matrices
./ a / b : Realiza la divisin deaentre
b
Vectores
\ a \ b : Realiza la divisin de bentre
a
Escalares o de matrices
.\ a .\ b : Realiza la divisin de bentre
a
Vectores
^ a ^ b : Eleva la base aal exponente
b
Escalares o escalar de matrices
( pM )
.^ a .^ b : Eleva la base aal exponenteb
vectores
3. OPERADORES RELACIONALES
Los operadores relacionales que se posee MATLAB se ven a continuacin:
Operacin Descripcin
~= a ~= b : Establece la condicin de ba
> a > b : Establece la condicin deamayor queb< a < b : Establece la condicin de amenor que b
>= a >= b : Establece la condicin de amayor o igual que b
-
7/23/2019 tutorialMATLAB_upeu.pdf
5/90
5
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
MATLAB, presenta los valores de acuerdo a un formato, el que por defecto es
format short ; existen otros
Comandos Valor de pi
long 3.14159265358979
short e 3.1416e+000long e 3.141592653589793e+000
hex 400921fb54442d18
bank 3.14
+ +
rad 355/113
short 3.1416
5. OPERADORES LGICOS
Los operadores relacionales que se posee MATLAB se ven a continuacin:
Operacin Descripcin
~A Negacin lgica (NOT) o complementario de A
A&B Conjuncin lgica (AND) o interseccin de A y B
A | B Disyuncin lgica inclusiva (OR) o unin de A y B
xor(A,B) OR exclusivo (XOR) o diferencia simtrica de A y B
6. VARIABLES
En Matlab como en cualquier otro lenguaje de programacin se utilizan variables, estas deben
tener un nombre segn ciertas reglas las cuales son:
No pueden comenzar con un nmero, aunque si pueden tener nmeros en su estructura:
variable1 es un nombre vlido.
Las maysculas y minsculas se diferencian en los nombres de variables: A y a sonvariables diferentes.
Los nombres de variables no pueden contener operadores ni puntos. No es vlido usar /
, * , - , + , . , ; , : , ^ .
Para el uso de una variable no es necesario declarar sus nombres , en la siguiente tabla se
presenta las variables predefinidas que posee Matlab.
Nombre de la Significado
-
7/23/2019 tutorialMATLAB_upeu.pdf
6/90
6
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
variable
pi
i y j Unidad imaginaria = 1
inf Infinito =
eps psilon de la mquina =1.0000e-006
NaN No es un nmero
realmin Menor nmero 10222
relamas Mayor nmero 10232)2( e
Date Fecha
flops Contador de operaciones de punto flotante
nargin Nmero de argumentos de entrada de una funcin
nargout Nmero de argumentos de salida de una funcin
7. COMANDOS DE LECTURA Y ESCRITURA
Matlab provee una forma sencilla de leer variables desde el teclado y visualizar mensajes
en la pantalla de la computadora a travs de las siguientes funciones:
input .- Permite el ingreso de datos al programa a travs del teclado asignndolo a una
variable, esta orden puede usarse con un mensaje en la lnea de comandos. Despus
de imprimir el mensaje, la orden espera que el usuario digite el valor numrico, un
vector, una matriz o una expresin vlida delmatlab.
Ejemplo:
z= input(ingrese un nmero, s)
Asigna a la variable z la cadena ingresada
s : indica que la entrada que se har por el teclado es una cadena
fprintf.- Permite la visualizacin de un valor numrico o el resultado de una expresin
guardada por el usuario.
Ejemplo:
>> vol=25
>>fprintf (el volumen de la esfera es:, %12.0f \ n, vol )
\ n : indica que la impresin de la variable vol ser en la siguiente lnea
%12.0f : formato de un nmero entero
%12.5f : formato de un nmero real con 5 decimales.
-
7/23/2019 tutorialMATLAB_upeu.pdf
7/90
7
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
disp.- Permite visualizar en pantalla un mensaje de texto o el valor de una matriz, pero
sin imprimir su nombre. En realidad, dispsiempre imprime vectores y/o matrices, las
cadenas de caracteres se consideran un caso particular de vectores.
Ejemplos:
>> disp(Esta es una prueba)>> disp(pi)
>> disp(El programa ha terminado)
>> A=rand(4,4)
>> disp(A)
clear : Borra las variables usadas de la memoria
clc : Limpia la informacin de la ventana de comandos
8. FUNCIONES MATEMTICAS EN MATLAB
Matlab ofrece un sinnmero de funciones las que aceptan como argumento variables reales
y/o complejas sin discriminacin, as como con argumentos matriciales.
FUNCIONES TRIGONOMTRICAS
FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA
sin(x) Seno de x asin(x)
cos(x) Coseno de x acos(x)
tan(x) Tangente de x atan(x) y atan2(x)
cot(x) Cotangente de x acot(x)
sec(x) Secante de x asec(x)
csc(x) Cosecante de x acsc(x)
FUNCIONES HIPERBLICAS
FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA
sinh(x) Seno hiperblico de x asinh(x)
cosh(x) Coseno hiperblico de x acosh(x)
tanh(x) Tangente hiperblica de x atanh(x)
coth(x) Cotangente hiperblica x acoth(x)
sech(x) Secante hiperblica de x asech(x)
csch(x) Cosecante hiperblica x acsch(x)
-
7/23/2019 tutorialMATLAB_upeu.pdf
8/90
8
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
FUNCIONES EXPONENCIALES Y LOGARTMICAS
FUNCIN- Matlab DESCRIPCI N Lenguaje
matemtico
exp(x) Funcin exponencial en base e
(e^x)
xexf )(
log(x) Funcin logaritmo en base e de x )()( xLnxf
log10(x) Funcin logaritmo en base 10 de
x
)()( xLogxf
log2(x) Funcin logaritmo en base 2 de x )()( 2 xLogxf
pow2(x) Funcin potencia de base 2 de x xxf 2)(
sqrt(x) Funcin raz cuadrada de x xxf )(
FUNCIONES ESPECFICAS DE VARIABLE NUMRICA
FUNCIN- Matlab DESCRIPCIN Lenguaje
matemtico
abs(x) Valor absoluto del real x xxf )(
floor(x) El mayor valor entero o igual que
el real xceill(x) El menor entero mayor o igual que
el real x
round(x) El entero mas prximo al real x
rem(a,b) Da el resto de la divisin entre los
reales a y b
sing(x) Signo del real x (1 si x>0 ; -1 si
x
-
7/23/2019 tutorialMATLAB_upeu.pdf
9/90
9
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Como la unidad imaginaria se representa mediante los smbolos ioj , los nmeros complejos
se expresan de la forma z=a+bi z=a+bj. Es notorio el hecho de no necesitar el smbolo del
producto (el asterisco) antes de la unidad imaginaria.
FUNCIONES TRIGONOMTRICAS COMPLEJAS
FUNCIN- Matlab DESCRIPCI N FUNCI N INVERSAsin(z) Seno de z asin(z)
cos(z) Coseno de z acos(z)
tan(z) Tangente de z atan(z) y atan2(z)
cot(z) Cotangente de z acot(z)
sec(z) Secante de z asec(z)
csc(z) Cosecante de z acsc(z)
FUNCIONES HIPERBLICAS
FUNCIN- Matlab DESCRIPCIN FUNCIN INVERSA
sinh(z) Seno hiperblico de z asinh(z)
cosh(z) Coseno hiperblico de z acosh(z)
tanh(z) Tangente hiperblica de z atanh(z)
coth(z) Cotangente hiperblica de
z
acoth(z)
sech(z) Secante hiperblica de z asech(z)
csch(z) Cosecante hiperblica de
z
acsch(z)
FUNCIONES EXPONENCIALES Y LOGARTMICAS
FUNCIN- Matlab DESCRIPCIN Lenguaje matemtico
exp(z) Funcin exponencial en base e(e^z)
zezf )(
log(z) Funcin logaritmo en base e de z )()( zLnzf
log10(z) Funcin logaritmo en base 10 z )()( zLogzf
log2(z) Funcin logaritmo en base 2 de z )()( 2 zLogzf
pow2(z) Funcin potencia de base 2 de z zzf 2)(
sqrt(z) Funcin raz cuadrada de zzzf )(
-
7/23/2019 tutorialMATLAB_upeu.pdf
10/90
-
7/23/2019 tutorialMATLAB_upeu.pdf
11/90
11
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Sentencia if
En su forma ms simple, la sentencia if se escribe en la forma siguiente :
ifcondicin
sentencias
end
Ejemplo
input('ingrese x=')
if rem(x,2)==0
fprintf('el nmero es par');
else
fprintf('el nmero es impar');end
Resultados
ingrese x=20
ans = 20 el nmero es par
Bifurcacin mltiple
En la bifurcacin mltiple pueden concatenarse tantas condiciones if como se desee, de tal
manera que se ejecutar el bloque que pertenece a la condicin que es verdadera, a
continuacin se presenta su sintaxis:
if condicin 1
bloque 1
elseif condicin 2
bloque 2
elseif condicin 3
bloque 3
else
bloque 4
end
Los Bucles
Permiten repetir las mismas o anlogas operaciones sobre datos distintos. A continuacin se
muestras dos posibles formas debucles, con el control situado al principio o al final del mismo.
Si el control est situado al comienzo del bucle es posible que las sentencias no se ejecuten
ninguna vez, por no haberse cumplido la condicin cuando se llega al bucle por primera vez.
-
7/23/2019 tutorialMATLAB_upeu.pdf
12/90
12
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Sin embargo, si la condicin est al final del bucle las sentencias se ejecutarn por lo menos
una vez, aunque la condicin no se cumpla. En Matlab no hay bucles con control al final del
bucle, es decir, no existe la construccin anloga a do while.
Sentencia whileLa estructura del bucle while es muy similar a la C/C++/Java. Su sintaxis es la siguiente:
whilecondicin
sentencias
end
Donde la expresin puede ser una expresin vectorial o matricial. Las sentencias se siguen
ejecutando mientras haya elementos distintos de cero en la condicin; el bucle se terminacuando todos los elementos de l a condicin son falsos.
Ejemplo
>> x=0; suma=0;
>>while x > disp(La suma es: );
>> disp(suma);
Sentencia for
La sentenciafor repite un conjunto de sentencias un nmero predeterminado de veces. La
sentencia forde Matlab es muy diferente y no tiene la generalidad de la sentencia for de
C/C++/Java.
La siguiente estructura de control ejecuta sentencias con valores deide 1a n , variando de
uno en uno.
for i=1: n
sentencias
end
Ejemplo1
>>for x=1: 2 : 9
y= x.^2 - 1;
disp([x, y]);
-
7/23/2019 tutorialMATLAB_upeu.pdf
13/90
13
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
end
%Nos devuelve los resultados
1 0
3 8
5 247 48
9 80
Ejemplo2
>>x=1:5;
suma=0;
for n=1:5suma=suma+x(n);
end;
%Resultado
suma=15
Ejemplo3 (calcula la desviacin estndar de la matriz x)
>>x=[11 9 12 8 10];
suma=0;
for n=1:5
suma=suma+x(n);
end;
p=suma/5; %Halla la media aritmtica
suma=0;
for n=1:5
suma=suma+(x(n)-p).^2;
end
desv=sqrt(suma/5);
desv
%Resulatado desv=1.4142
Nota: Si el incremento no se especifica Matlab asigna por defecto el incremento que es igual a
1.
En el siguiente ejemplo se presenta el caso mas general para la variable del bucle
-
7/23/2019 tutorialMATLAB_upeu.pdf
14/90
14
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
for i=(valor_inicial : incremento : valor_final) ; el bucle se ejecuta por primera vez con i=n , y
luego i se va reduciendo de 0.2 en 0.2 hasta que llega a ser menor que 1, en cuyo caso el
bucle se termina:
fori=n : -0.2 : 1sentencias
end
Bucles anidados
Se presenta em el caso que um bucle forme parte de las sentencias de outro bucle, en la
siguiente sintaxis la variablej es la que vara ms rpidamente, por cada valor de i , jtoma
todos sus posibles valores.
for i=1: m
sentencias1
for j=1: n
sentencias2
end
end
Observacin.- Cuando se introducen los bucles interactivamente en la lnea de comandos, los
bucles forse ejecutan slo despus de introducir la sentencia end que los completa.
Sentencia break
La sentencia break hace que se termine la ejecucin del bucle fory/o while ms interno de los
que comprenden a dicha sentencia.
El siguiente ejemplo termina la ejecucin del for interno, cada vez que el valor de m es mayor
que 2 veces el valor de k.
Ejemplo
>> for k=1:2
for m=1:7
if m>2*k
break
else
disk([k,m])
-
7/23/2019 tutorialMATLAB_upeu.pdf
15/90
15
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
end
end
end
nos devuelve como resultado:
1 11 2
2 1
2 2
2 3
2 4
Sentencia switch
La sentencia switch realiza una funcin anloga a un conjunto de if elseif conectados, suforma general es la siguiente:
switch switch _expresin
casecase_expr1,
bloque 1
case{case_expr2, case_expr2, case_expr2,. }
bloque 2
otherwise, %Opcin por defecto
Bloque 3
end
Al principio se evala la switch_expresin, cuyo resultado debe ser un nmero escalar o una
cadena de caracteres. Este resultado se compara con los case_expr, y se ejecuta el bloque de
sentencias que corresponda con ese resultado, si ninguno es igual a switch_expresion se
ejecutan las sentencias correspondientes a otherwise.
1. Arreglos
Un arreglo es un conjunto ordenados de datos. Sea x una arreglo entonces
nxxxxx ;;;;; 4321 son sus primero, segundo y n-simo elementos.
2. Variables de arreglo unidimensional
Las variables de arreglo unidimensional tienen forma de fila o columna y estn relacionadas
con los vectores y las matrices. En Matlab, arreglo de filaes lo mismo que vector de fila y
arreglo de columnaes lo mismo que vector columna. NOTA PONERLE LOS BUCLES
-
7/23/2019 tutorialMATLAB_upeu.pdf
16/90
16
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
En Matlab los arreglos, se definen entre corchetes.
Considere el arreglo x con valores de los enteros : 10,8,6,4,2x
>> x=[2 4 6 8 10]
x = 2 4 6 8 10Si para cada punto
ix se asocia la ecuacin de lnea 23 ii xy ; entonces el arreglo y se
define por y=3*x+2
>> y=3*x+2
y =8 14 20 26 32
Un tamao de un arreglo se puede incrementar, abriendo el arreglo para otro valor
>> x=[x,12]
x = 2 4 6 8 10 12
3. DIRECIONANDO ARREGLOS
Un elemento de un arreglo puede ser direccionado ,indicando el nmero del ndice entre
parntesis ; as x(2)es el segundo valor del arreglo x ; luego se puede calcular la suma de
todos los valores : x(1)+x(2)+x(3)+x(4)+x(5)+x(6)x = 2 4 6 8 10 12
>> x(1)+x(2)+x(3)+x(4)+x(5)+x(6)
ans = 42
Para acceder a un bloque de elemento a la vez, se provee la notacin de los dos puntos ( : ) ;
as x(1:4), son los cuatro primeros elementos del arreglo x
>> x(1:4)ans = 2 4 6 8
-
7/23/2019 tutorialMATLAB_upeu.pdf
17/90
17
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Para representar desde el cuarto elemento hasta el primero en orden ascendente, se
especifica como x(4:-1:1)
CLCULO SIMBLICO: ANLISIS MATEMTICO Y LGEBRA
CALCULO SIMBLICO CON MATLAB
MATLAB dispone del mdulo Symbolic Math toolbox, que permite manejar perfectamente el
clculo matemtico simblico, manipular con facilidad y rapidez las frmulas y expresiones
algebraicas y realizar la mayora de las operaciones con las mismas. Es posible expandir,
factorizar y simplificar polinomios y expresiones racionales y trigonomtricas; encontrar
soluciones algebraicas de ecuaciones polinmicas y sistemas de ecuaciones; evaluar
derivadas e integrales simblicamente y encontrar funciones solucin de ecuacionesdiferenciales; manipular series de potencias, lmites y muchas otras facetas de la matemtica
algebraica. Para realizar esta tarea, MATLAB requiere que todas las variables (o expresiones
algebraicas) sean declaradas como simblicas previamente con el comando syms (o con
sym).
El toolbox de matemtica simblica de MATLAB aporta varios comandos para definicin y
conversin de variables simblicas que se explican a continuacin:
FUCNCIN DESCRIPCIN
symsx y z t Convierte las variables x,y,z,,t en simblicas
symsx y z t real Convierte las variables x,y,z,,t en simblicas con valores
reales
symsx y z t unreal Convierte las variables x, y, z ,, t en simblicas con
valores no reales
syms Lista las variables simblicas en el espacio de trabajo
x=syms(x) Convierte la variable x en simblica (equivale a symsx)
x=syms(x,real) Convierte a x en una variable simblica real
x=syms(x,unreal) Convierte a x en una variable simblica no real
S=syms(A) Crea un objeto simblico a partir de A, donde A puede ser
una cadena, un escalar, una matriz, una expresin
numrica, etc.
S=syms(A, opcion) Convierte la matriz, escalar o expresin numrica A a
smbolos segn la opcin especificada. La opcin puede ser
-
7/23/2019 tutorialMATLAB_upeu.pdf
18/90
18
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
f para punto flotante, r para racional, e para formato de
error y d para decimal.
numeric(x) o
double(x)
Convierte la variable o expresin x a numrica de doble
precisin
syms2poly( poli ) Convierte el polinomio simblico pol i en un vector cuyascomponentes son sus coeficientes.
poly2sym(vector) Convierte el vector en un polinomio simblico cuyos
coeficientes son las componentes del vector.
poly2sym(vector, v) Convierte el vector en un polinomio simblico en la variable
v cuyos coeficientes son las componentes del vector.
char(X) Convierte el array X de enteros ASCII a su valor como
cadenalatex(S) Convierte a codigo latex la expresin simblica S
ccode(S) Convierte a cdigo C la expresin simblica S
pretty(expr) Convierte la expresin simblica a escritura matemtica
vpa(expr) Resultado numrico de la expresin con los dgitos
decimales de precisin situados en digits
vpa(expr, n) Resultado numrico de la expresin con n dgitos decimales
vpa(expr, n) Resultado numrico de la expresin con n dgitos decimalesfindsym(S) Devuelve todas las variables simblicas en la expresin
simblica o matriz simblica S
Isvarname(S) Devuelve TRUE si S es una variable simblica vlida
vectorize(S) Inserta un punto en la cadena S antes de cualquier smbolo
^ , * , / con la finalidad de operar vectorialmente de forma
correcta.
EJERCICIOS DE APLICACIN
1. Reducir 3333 )()1(3)2(3)3( babababaP
Resolucin
>> syms a b p
p=(a+b+3).^3-3*(a+b+2).^3+3*(a+b+1).^3-(a+b).^3;
simplify(p)
%ans = 6
-
7/23/2019 tutorialMATLAB_upeu.pdf
19/90
19
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
2. Simplificar333
333333
)()()(
)()()(
accbba
acbcbabacR
Resolucin
>> syms a b c n d R
n=c.^3*(a-b).^3+a.^3*(b-c).^3+b.^3*(c-a).^3;d=(a-b).^3+(b-c).^3+(c-a).^3;
R=n./d;
pretty(R)
simplify(R)
3 3 3 3 3 3
c (a - b) + a (b - c) + b (c - a)
% ---------------------------------------3 3 3
(a - b) + (b - c) + (c - a)
%ans =c*a*b
3. Calcular ExF si las expresiones son 50)13()4)(2)(5)(3( 22 xxxxxxE y
)4)(3)(2)(1()55( 22 xxxxxxF
Resolucin>> syms x E F P
E=(x-3).*(x-5).*(x+2).*(x+4)-(x.^2-x-13).^2+50;
F=(x.^2+5*x+5).^2-(x+1).*(x+2).*(x+3).*(x+4);
P=E.*F;
pretty(P);
simplify(P)
2 2% ((x - 3) (x - 5) (x + 2) (x + 4) - (x - x - 13) + 50)
2 2
% ((x + 5 x + 5) - (x + 1) (x + 2) (x + 3) (x + 4))
% ans =1
4. Sea 26756 234 xxxxf ; 72432 234 xxxxg ; 35297 234 xxxxh
Calcular f+g+hResolucin
-
7/23/2019 tutorialMATLAB_upeu.pdf
20/90
20
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
>> syms x R
f=6*x.^4-5*x.^3+7*x.^2-6*x-2;
g=-2*x.^4+3*x.^3-4*x.^2+2*x+7;
h=7*x.^4-9*x.^3+2*x.^2-5*x-3;
R=f+g+h;simplify(R)
pretty(R)
%ans =11*x^4-11*x^3+5*x^2-9*x+2
4 3 2
% 11 x - 11 x + 5 x - 9 x + 2
5. Sea 243)( 2 xxxf . Hallar f(2)+f(-3)
Resolucin
syms x
f=3*x^2-4*x+2;
subs(f,2)+subs(f,-3)
%ans = 47
%realiza lo mismo
>> f='3*x^2-4*x+2';
subs(f,2)+subs(f,-3)
%ans = 47
6. Sea 564)( 23 xxxxf . Calcular )1(af
Resolucin>> syms x a
f=x^3+4*x^2-6*x+5;
p=subs(f,a+1)
pretty(p)
simplify(p)
%p =(a+1)^3+4*(a+1)^2-6*a-1
3 2
% (a + 1) + 4 (a + 1) - 6 a - 1
-
7/23/2019 tutorialMATLAB_upeu.pdf
21/90
21
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
%ans =a^3+7*a^2+5*a+4
7. Sea 222),,( zyxzyxf . calcular )1;2;1()3;2;2( ff
Resolucin
>> syms x y zf=x^2+y^2+z^2;
p=subs(f,{x,y,z},{-2 2 3})+subs(f,{x,y,z},{-1 -2 1})
% p =23
8. Sea 222 45);;( zyxzyxf . Calcular )1;1;( aaaf
Resolucin
>> syms x y z af=x^2+5*y^2+4*z^2;
p=subs(f,{x,y,z},{a a-1 a+1})
pretty(p);
simplify(p)
%p =a^2+5*(a-1)^2+4*(a+1)^2
2 2 2% a + 5 (a - 1) + 4 (a + 1)
%ans =10*a^2-2*a+9
9. Calcular la funcin inversa de )2(5)( xLogxf
Resolucin
>> syms xf=5-log(x+2);
f1=finverse(f)
pretty(f1)
% f1 =exp(5-x)-2
10. Calcular la funcin inversa de 54)( xxg
Resolucin
>> syms xg=4-sqrt(x+5);
g1=finverse(g)
-
7/23/2019 tutorialMATLAB_upeu.pdf
22/90
22
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
pretty(g1)
% g1 =11-8*x+x^2
2
% 11 - 8 x + x
11. Calcular272
54463
23
nnnnnLim
n
Resolucin
>> syms n
f=(6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2)
limit(f,inf)
%f =(6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2)
%ans =3
>> % en forma equivalente
limit((6*n^3+4*n^2-4*n+5)/(2*n^3-7*n+2),inf)
%ans =3
12. Calcular n
nLimn
1
Resolucin
>> syms n
f=((1+n)/n)^(1/2);
limit(f,inf)
%ans =1
13. Calcular1
3
23
52
123x
n xx
xxxLim
Resolucin
>> syms x
f=((x.^3+3*x.^2+2*x-1)./(x.^3+2*x-5)).^(x+1);
limit(f,inf)
%ans =exp(3)
-
7/23/2019 tutorialMATLAB_upeu.pdf
23/90
23
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
14. Calcular xxxxLimx
22
Resolucin
>> syms x
f=(sqrt(x+sqrt(2*x))-sqrt(x-sqrt(2*x)));
limit(f,inf)
%ans =2^(1/2)
15. Calcular2
652
2 x
xxLimx
Resolucin
>> syms x
f=(x^2-5*x+6)/(x-2);
limit(f,2)
%ans =-1
16. Calcular)cos(.
)3()7(
0 xx
xsenxsenLimx
Resolucin
>> syms x
f=(sin(7*x)-sin(3*x))./(x.*cos(x));
limit(f,0)
%ans =4
17. Calcular20
)cos()cos(2
x
xxLimx
Resolucin
>> syms x
f=(2-sqrt(cos(x))-cos(x))./(x.^2);
limit(f,0)%ans =3/4
18. Calcular9
3
9 x
xLimx
Resolucin
>> syms x
f=(sqrt(x)-3)/(x-9);
limit(f,9)%ans =1/6
-
7/23/2019 tutorialMATLAB_upeu.pdf
24/90
24
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
19. Calcular la derivada de )3sin(32)( 23 xexxf x
Resolucin
>> syms x
f=x^3-2*exp(-2*x)+sin(3*x);
p=diff(f)%p =3*x^2+4*exp(-2*x)+3*cos(3*x)
20. Calcular la segunda derivada de )3sin(32)( 23 xexxf x
Resolucin
>> syms x
f=x^3-2*exp(-2*x)+sin(3*x);
p=diff(diff(f))%p =6*x-8*exp(-2*x)-9*sin(3*x)
21. Calcular la tercera derivada de )3sin(32)( 23 xexxf x
Resolucin
>> syms x
f=x^3-2*exp(-2*x)+sin(3*x);
p=diff(diff(diff(f)))
%p =6+16*exp(-2*x)-27*cos(3*x)
% En forma equivalente
>> syms x
f=x^3-2*exp(-2*x)+sin(3*x);
p=diff(f,3) %calcula la tercera derivada
%p =6+16*exp(-2*x)-27*cos(3*x)
21. Sea xyexyyxyxf 2)32cos();( . Calcularx
yxf );(
Resolucin
>> syms x y
f=cos(2*x+3*y)-2*x*y-exp(x*y);
p=diff(f,x) %derivada parcial respecto de x
pretty(p)
%p =-2*sin(2*x+3*y)-2*y-y*exp(x*y)
% -2 sin(2 x + 3 y) - 2 y - y exp(x y)
-
7/23/2019 tutorialMATLAB_upeu.pdf
25/90
25
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
21. Sea xyexyyxyxf 2)32cos();( . Calculary
yxf );(
Resolucin
>> syms x y
f=cos(2*x+3*y)-2*x*y-exp(x*y);p=diff(f,y) %derivada parcial respecto de y
pretty(p)
%p =-3*sin(2*x+3*y)-2*x-x*exp(x*y)
% -3 sin(2 x + 3 y) - 2 x - x exp(x y)
22. Sea xyexyyxyxf 2)32cos();( . Calcularxy
yxf );(2
Resolucin>> syms x y
f=cos(2*x+3*y)-2*x*y-exp(x*y);
p=diff(diff(f,x),y) %derivada parcial cruzada de df/dydx
pretty(p)
%p =-6*cos(2*x+3*y)-2-exp(x*y)-y*x*exp(x*y)
% -6 cos(2 x + 3 y) - 2 - exp(x y) - y x exp(x y)
23. Calcular dxexxsen x )3)(( 22
Resolucin
>> syms x
f=sin(x)-3*x^2+exp(-2*x);
int(f,x)
%ans =-cos(x)-x^3-1/2*exp(-2*x)
24. Calcular dxxx
xx
65
952
2
Resolucin
>> syms x
f=(x.^2-5*x+9)./(x.^2-5*x+6);
int(f,x)
%ans =x-3*log(x-2)+3*log(x-3)
-
7/23/2019 tutorialMATLAB_upeu.pdf
26/90
26
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
25. Calcular dxxxx
xx
)4)(3)(1(
91412 2
Resolucin
>> syms xf=(2*x.^2+41*x-91)./((x-1).*(x+3).*(x-4));
int(f,x)
%ans =-7*log(x+3)+5*log(x-4)+4*log(x-1)
26. Calcular dxxxsen )cos(7)(48
1
Resolucin
>> syms x
f=(1)./(8-4*sin(x)+7*cos(x));
int(f,x)
%ans =log(tan(1/2*x)-5)-log(tan(1/2*x)-3)
27. Calcular dxxxsen
xxsen
)cos()(1
)cos()(1
Resolucin
>> syms x
f=(1-sin(x)+cos(x))./(1+sin(x)-cos(x));
int(f,x)
%ans =-2*log(tan(1/2*x)+1)+2*log(tan(1/2*x))-x
28. Calcular dxdyeyx y )5)(cos( 22
Resolucin
>> syms x y
f=cos(x)-5*y^2+exp(-2*y);
p=int(int(f,x),y)% integral doble de f respecto a x,luego a y
%p =sin(x)*y-5/3*y^3*x-1/2*exp(-2*y)*x
29. Calcular dxdydzzyxsen )23)(( 32
Resolucin
-
7/23/2019 tutorialMATLAB_upeu.pdf
27/90
27
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
>> syms x y z
f=sin(x)-3*y^2+2*z^3;
p=int(int(int(f,x),y),z)
%p =-cos(x)*y*z-y^3*x*z+1/2*z^4*x*y
30. Calcular2
1
2 )32( dxxx
Resolucin
>> syms x
f=(x.^2-2*x+3);
p=int(f,x,1,2)
%p =7/3
31. Calcular4
3
2 23
1dx
xx
Resolucin
>> syms x
f=1./(x.^2-3*x+2);
p=int(f,x,3,4)
%p =2*log(2)-log(3)
32. Calcular4
0
5
2
2))(( dydxxysenx
Resolucin
>> syms x y
f=x^2+y*sin(x);
int(int(f,y,-2,5),x,0,4)
%ans =959/6-21/2*cos(4)
33. Calcular1
0
1
0
1
0 1
1dxdydz
zyx
Resolucin>> syms x y z
f=1/sqrt(x+y+z+1);
-
7/23/2019 tutorialMATLAB_upeu.pdf
28/90
28
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
p=int(int(int(f,z,0,1),y,0,1),x,1,0)
%p =-248/15+72/5*3^(1/2)-32/5*2^(1/2)
34. Calcular2
0
4
3
3
1
)6)(..( dzdydxyzxsenyx
Resolucin
>> syms x y z
f=x*y*(sin(x-z))+6*y;
p=int(int(int(f,x,1,3),y,-3,4),z,0,2)
%p =35/2*sin(1)+84-7/2*cos(3)-21/2*sin(3)+7/2*cos(1)
REPRESENTACIN GEOMTRICA: CURVAS Y SUPERFICIES
Los comandos ms importantes de MATLAB para representar curvas en dos dimensiones se
presentan a continuacin:
plot(X,Y) Dibuja el conjunto de puntos (X,Y), donde X e Y son vectores
fila. Para graficar una funcin y=f(x) es necesario conocer un
conjunto de puntos (X,f(X)), para lo que hay que definir
inicialmente un intervalo de variacin vectorial X para lavariable x. X e Y pueden ser matrices de la misma dimensin,
en cuyo caso se hace una grfica por cada par de filas y sobre
los mismos ejes. Para valores complejos de X e Y se ignora
las partes imaginarias. Para x=x(t) e y=y(t) con la variacin de
t dada, grafica la curva paramtrica plana especificada.
plot(Y) Grafica los elementos del vector Y contra sus ndices, es decir,
da la grfica del conjunto de puntos ntytt
,2,1;),(
(n=length(Y)). Es til para graficar series temporales. Si Y es
una matriz, plot(Y) realiza un grfico para cada columna de Y,
representndolos todos sobre los mismos ejes. Si los
componentes del vector Y son complejos, plot(Y) es
equivalente a plot(real(Y),imag(Y)).
plot(X,Y,S) Grfica de plot(X,Y) con las opciones definidas en S.
Usualmente, S se compone de dos dgitos entre comillas
simples, el primero de los cuales fija el color de la lnea del
grfico y el segundo el caracter a usar en el graficado. Los
-
7/23/2019 tutorialMATLAB_upeu.pdf
29/90
29
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
valores posibles de colores y caracteres son, respectivamente,
los siguientes: y (amarillo), m (magenta), c (cyan), r (rojo) g
(verde), b (azul), w (blanco), k (negro), .(punto), o (crculos), x
(x-marcas), + (signo ms), - (slido), * (estrellas), : (dos
puntos), -.(guiones y punto) y -(semislido).plot(X1,Y1,S1,X2,Y2,S2,) Combina sobre los mismos ejes, los grficos definidos para las
tripletas (Xi,Yi,Si). Se trata de una forma de representar varias
funciones sobre el mismo grfico.
fplot(f,[xmin,xmax]) Grafica la funcin en el intervalo de variacin de x dado
fplot(f,[xmin,xmax,ymin,
ymax],S)
Grafica la funcin en los intervalosde variacin de x e y dados,
con las opciones de color y caracteres dadas por S
fplot([f1,f2,,fn],[xmin,xmax,ymin,ymax],S)
Grafica las funciones f1, f2, , fn sobre los mismos ejes en losintervalos de variacin de x e y especificados y con las
opciones de color y caracteres definidas en S.
fplot(f,[xmin,xmax],,t) Grafica f con la tolerancia t
fplot(f,[xmin,xmax],,n) Grafica f con la tolerancia t como n+1 puntos como mnimo
ezplot(f,[xmin xmax]) Grafica la funcin en el intervalo de variacin de x dado
ezplot(f,[xmin,xmax,
ymin,ymax])
Grafica la funcin en los intervalos de variacin de x e y dados
ezplot(x,y) Grafica la curva paramtrica plana x=x(t) e y=y(t) sobre el
dominio 0
-
7/23/2019 tutorialMATLAB_upeu.pdf
30/90
30
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
componentes (Xi,Yi) de los vectores columna X e Y. C es un
vector de la misma dimensin de X e Y, que contiene los
colores Ci de cada punto (Xi,Yi). Si C es un solo caracter , se
pintarn todos los puntos del polgono del color
correspondiente al caracter. Si X e Y son matrices de la mismadimensin, se representarn simultneamente varios
polgonos correspondientes a cada par de vectores columna
(Xj,Yj). En este caso C puede ser un vector fila cuyos
elementos Cj determinan el color nico de cada polgono
correspondiente al par de vectores columna (Xj,Yj). C puede
ser tambin una matriz de la misma dimensin que X e Y, en
cuyo caso sus elementos determinan los colores de cadapunto (Xij,Yij) del conjunto de polgonos.
fill(X1,Y1,C1,) Dibuja el polgono compacto cuyos vrtices vienen dados por
los puntos (Xi,Yi,Ci).
TTULOS, ETIQUETAS Y COLOCACIN
MATLAB permite manejar correctamente las anotaciones sobre los grficos y los ejes
mediante colocacin adecuada de ttulos, etiquetas, leyendas, rejillas, etc. Tambin permite
situar grficos en subzonas. Los comandos ms usuales son los siguientes:
title(texto) Aade el texto como ttulo del grfico en la parte superior del
mismo en grficos 2-D y 3-D
xlabel(texto) Sita el texto al lado del eje x en grficos 2-D y 3-D
yabel(texto) Sita el texto al lado del eje y en grficos 2-D y 3-D
zlabel(texto) Sita el texto al lado del eje z en un grfico 3-D
clabel(C,h) Rota etiquetas y las sita en el interior de las lneas de contorno
clabel(C,h,v) Crea etiquetas slo para los niveles de contorno dados por el
vector v y las rota y sita en el interior de las lneas de contorno
datetick(eje) Etiqueta las marcas del eje especificado (x, y o z) basndose
en el mximo y el mnimo del eje especificado
datetick(eje,fecha) Etiqueta las marcas del eje especificado (x, y o z) con el
formato de fecha dado (un entero entre 1 y 28)
legend (cadena1, Sita las leyendas especificadas por las cadenas en n grficos
-
7/23/2019 tutorialMATLAB_upeu.pdf
31/90
31
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
cadena2, ) consecutivos
legend (h,cadena1,
cadena2, )
Sita las leyendas especificadas por las cadenas en los grficos
manejados segn el vector h
legend (off) Elimina las leyendas de los ejes actuales
text(x,y, texto) Sita el texto en el punto (x,y) dentro del grfico 2-Dtext(x,y,z, texto) Sita el texto en el punto (x,y,z) en el grfico 3-D
gtext(texto) Permite situar el texto en un punto seleccionado con el ratn
dentro de un grfico 2-D.
grid Sita rejillas en los ejes de un grfico 2-D o 3-D. La opcin gr id
on coloca las rejillas y grid off las elimina. La opcin gr id
permuta entre on y off.
hold Permite mantener el grfico existente con todas suspropiedades, de modo que el siguiente grfico que se realice se
site sobre los mismos ejes y se superponga al existente. La
opcin hold onactiva la opcin y hold of f la elimina. La opcin
hold permuta entre on y off. Vlido para 2-D y 3-D.
axis([xmin xmax ymin
ymax zmin zmax])
Sita los valores mximo y mnimo para los ejes X, Y y Z en el
grfico corriente.axis(auto) Sita los ejes en la escala automtica por defecto (la dada por
xmin=min(x), xmax=max(x) e ylibre)
axis(axis) Congela el escalado de ejes en los lmites corrientes, de tal
forma que al situar otro grfico sobre los mismos ejes(con hold
en on) la escala no cambie
V=axis Da el vector V de 4 elementos, conteniendo la escala del grfico
corriente.axis(xy) Sita coordenadas cartesianas con el origen en la parte inferior
izquierda del grfico
axis(tight) Sita los lmites de los ejes en el rango de los datos
axis(ij) Sita coordenadas con el origen en la parte superior izquierda
del grfico
axis(square) Convierte el rectngulo de graficado en un cuadrado, con lo que
las figuras se abombanaxis(equal) Sita el mismo factor de escala para ambos ejes
-
7/23/2019 tutorialMATLAB_upeu.pdf
32/90
32
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
axis(normal) Elimina las opciones squarey equal
axis(off) Elimina las etiquetas y marcas de los ejes y las rejillas,
manteniendo el ttulo del grfico y los textos situados en l con
texty gtext
axis(on) Coloca de nuevo las etiquetas, marcas y rejillas de los ejesSubplot(m,n,p) Divide la ventana grfica en mxn subventanas y coloca el grfico
corriente en la ventana p-sima, empezando a contar por la
parte superior izquierda y de izquierda a derecha hasta acabar la
lnea, para pasar a la siguiente.
plotyy(X1,Y1,X2,Y2) Etiqueta la grfica de X1 contra Y1 en la izquierda, y la grfica
de X2 contra Y2 en la derecha.
plotyy(X1,Y1,X2,Y2,funcin )
Igual que el comando anterior, pero la funcin puede ser plot,loglog, semilogx, semilogy, item o cualquier h=function(x,y).
plotyy(X1,Y1,X2,Y2,
funcin1, funcin2 )
Igual que el comando anterior, pero usando cad funcinifpara
el par(Xi,Yi)
ESTILOS DE LINEA Y MARCADORES EN LA FUNCIN PLOT
En la tabla siguiente se pueden observar las distintas posibilidades de estilos de lneas:
SMBOLO COLOR SMBOLO MARCADORES
y Yellow . Puntos
m magenta o Crculos
c Cyan x Marcas en x
r Red + Marcas en +
g Green * Marcas en *
b Blue s marcas cuadradas
(square)
w White d Marcas en diamante
(diamond)
k Black ^ Tringulo apuntado arriba
v Tringulo apuntado abajo
Smbolo Estilo de lnea > Tringulo apuntado a la
derecha
- Lneas continuas < Tringulo apuntado a laizquierda
-
7/23/2019 tutorialMATLAB_upeu.pdf
33/90
33
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
: Lnea de puntos p Estrella de cinco puntas
-. Lnea a barra-
punto
h Estrella de seis puntas
-- Lneas a trazos
E-1. Graficar la funcin )(.)( 5 xsenexfx
en el dominio de ]2;2[x
Resolucin
>> x=-2*pi:0.05:2*pi; %dominio de la funcin
y=exp(-0.2*x).*sin(x); %funcin real y=f(x)
plot(x,y) %grafica la curva f
xlabel('EJE X') %texto en el eje x
ylabel('EJE Y') %texto en el eje y
title('Grfica de y=exp(-0.2*x).*sin(x)') %ttulo al grfico
grid on %enmalla el grfico
zoom on %acerca o aleja la grfica
E-2. Graficar la funcin )(tan)( xsenxxf en el dominio de ]2;2[x
Resolucin
>> x=-2*pi:0.02:2*pi;
y=x+sin(tan(x));
plot(x,y,'r') %incrementa el color rojo
xlabel('EJE X')
ylabel('EJE Y')
title('Grfica de y=x+sin(tan(x))')
grid on
-
7/23/2019 tutorialMATLAB_upeu.pdf
34/90
34
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-2. Graficar las funciones
32)(3
)()(2
)()(1
2
2
xxxhy
xsenexgy
xsenxfy
x en el dominio de ];[x
Resolucin
>> x=-pi:0.02:pi;
y1=sin(x.^2);
y2=exp(-x).*sin(x);
y3=x.^2-2*x-3;
plot(x,y1,'r',x,y2,'g',x,y3,'k')
xlabel('EJE X')
ylabel('EJE Y')grid on
title('SUPERPOSICIN DE GRFICAS')
gtext('y1=sin(x.^2)')
gtext('y2=exp(-x).*sin(x)')
gtext('y3=x.^2-2*x-3')
E-3. Graficar las funciones
32)(3
)()(2
)()(1
2
2
xxxhy
xsenexgy
xsenxfy
x en el dominio de ];[x
Resolucin>> t = 0:pi/20:2*pi;
plot(t,sin(t),'-.r*')
-
7/23/2019 tutorialMATLAB_upeu.pdf
35/90
35
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
hold on
plot(sin(t-pi/2),'--mo')
plot(sin(t-pi),':bs')
xlabel('EJE X')
ylabel('EJE Y')title('CURVAS MARCADAS')
grid on
hold off
E-4. Graficar la funcin)()3()(
)cos().3()(
tsentsenty
ttsentx en el dominio de ];0[x
Resolucin
>> ezplot('sin(3*t)*cos(t)','sin(3*t)*sin(t)',[0, pi ])
xlabel('EJE X')
ylabel('EJE Y')
title('CURVA PARAMTRICA')
grid on
-
7/23/2019 tutorialMATLAB_upeu.pdf
36/90
36
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-5 Graficar las funciones
64)(;)(
)(;)(
)(;.)(
23
)(21
21
2
xxxxx
senx
x
exexh
exgexxf
senxx
senx
xsen
Lnx
x
x
Resolucin
>> subplot(3,2,1)
x=-2:0.05:2;
y=(x).*exp(-x.^2);
plot(x,y,'r')
xlabel('EJE X')
ylabel('EJE Y')
title('y=(x).*exp(-x.^2)')
grid on
subplot(3,2,2)
x=-2:0.05:2;
y=exp(-(log(abs(1./x))).^2);
plot(x,y,'b')
xlabel('EJE X')
ylabel('EJE Y')
title('y=exp(-(log(abs(1./x))).^2)')
grid on
subplot(3,2,3)
x=-5:0.05:5;
y=exp(-(1./(x.^2)));
plot(x,y,'g')xlabel('EJE X')
ylabel('EJE Y')
title('y=exp(-(1./(x.^2)))')
grid on
subplot(3,2,4)
x=-2*pi:0.05:2*pi;
y=exp(sin(x));plot(x,y,'b')
xlabel('EJE X')
-
7/23/2019 tutorialMATLAB_upeu.pdf
37/90
37
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
ylabel('EJE Y')
title('y=exp(sin(x))')
grid on
subplot(3,2,5)
x=-2*pi:0.05:2*pi;y=(sin(x)./(x)).^(sin(x)./(x-sin(x)));
plot(x,y,'m')
xlabel('EJE X')
ylabel('EJE Y')
title('y=(sin(x)./(x)).^(sin(x)./(x-sin(x)))')
grid on
subplot(3,2,6)x=-2:0.05:4;
y=abs(x.^3-4*x.^2+x+6);
plot(x,y,'k')
xlabel('EJE X')
ylabel('EJE Y')
title('y=abs(x.^3-4*x.^2+x+6)')
grid on
-
7/23/2019 tutorialMATLAB_upeu.pdf
38/90
38
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-6. Graficar la funcin 19:1;)(
)( kk
tksenxxf
Resolucin
>> t=0:0.02:pi;
y=zeros(10,length(t));x=zeros(size(t));
for k=1:2:19
x=x+sin(k*t)/k;
y((k+1)/2,:)=x;
end
plot(y(1:2:9,:)')
xlabel('EJE X')ylabel('EJE Y')
title('EDIFICIO DE UNA ONDA CUADRADA: EFECTO GIBBS')
grid on
E-7. Graficar la funcin polar )2cos().2sin()(
Resolucin
>> t = 0:.01:2*pi;
polar(t,sin(2*t).*cos(2*t),'b')
xlabel('EJE POLAR')
title('CURVA POLAR')
grid on
-
7/23/2019 tutorialMATLAB_upeu.pdf
39/90
39
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-8. Graficar la funcin compleja 4 4 1)( zzf
Resolucin
>> colormap(hsv(64));
z=cplxgrid(30);
cplxmap(z,(z.^4-1).^(1/4));
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
grid on
title('GRFICA DE LA FUNCIN f(z)=(z.^4-1).^(1/4)')
E-9. Graficar la funcin compleja 5)( zzf
Resolucin
>> colormap(hsv(64));
z=cplxgrid(30);cplxroot(5)
xlabel('EJE X')
ylabel('EJE Y')
grid on
title('GRFICA DE LA FUNCIN f(z)=z^(1/5)')
-
7/23/2019 tutorialMATLAB_upeu.pdf
40/90
40
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-9. Graficar la funcin compleja ))cos(()( zzsenzf
Resolucin>> colormap(hsv(64));
z=cplxgrid(30);
cplxmap(z,sqrt(sin(z-cos(z))));
xlabel('EJE X')
ylabel('EJE Y')
grid on
title('GRFICA DE LA FUNCIN f(z)=sqrt(sin(z-cos(z)))')
-
7/23/2019 tutorialMATLAB_upeu.pdf
41/90
41
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
PLOTEOS EN 3D
En el cuadro siguiente se presentan los comandos de MATLAB ms comunes en la
representacin de grficos de lneas 3-D.
plot3(X,Y,Z) Dibuja el conjunto de puntos (X,Y,Z), donde X,Y y Z son vectoresfila. X, Y, Z pueden ser coordenadas paramtricas o matrices de la
misma dimensin, en cuyo caso se hace una grfica por cada
tripleta de filas y sobre los mismos ejes. Para valores complejos de
X, Y y Z se ignoran las partes imaginarias.
plot3(X,Y,Z,S) Grfica de plot(X,Y,Z) con las opciones definidas en S.
Usualmente S se compone de dos dgitos entre comillas simples,
el primero de los cuales fija al color de la lnea del grafico y elsegundo el carcter a usar en el graficado. Los valores posibles de
colores y caracteres son, respectivamente, los siguientes:
y(amarillo), m(magenta), c(cyan), r(rojo), g(verde), b(azul),
w(blanco), k(negro), .(puntos), o(crculos), x(x-marcas) , +(signo
ms), -(slido), *(estrellas), :(dos puntos), -.(guiones y puntos) y -
(semislido).
plot3(X1,Y1,Z1,S1,
X2,Y2,Z2,S2,
X3,Y3,Z3,S3, )
Combina, sobre los mismos ejes, los grficos definidos para las
tripletas (Xi,Yi,Zi,Si). Se trata de una forma de representar varias
funciones sobre el mismo grfico.
fill3(X,Y,Z,C) Dibuja el polgono compacto cuyos vrtices son las tripletas de
componentes (Xi,Yi,Zi) de los vectores columna X, Y y Z, que
contiene los colores Ci de cada punto (Xi,Yi,Zi). Los valores de Ci
pueden ser y, m, c, r, g, b, w, k. cuyos significados ya conocemos.
Si C es un solo caracter, se pintarn todos los puntos del polgono
de color correspondiente al carater.
fill3(X1,Y1,Z1,C1,
X2,Y2,Z2,C2, )
Dibuja el polgono compacto cuyos vrtices vienen dados por los
puntos (Xi,Yi,Zi,Ci)
[X,Y]=meshgrid(x,y
)
Transforma el campo de definicin dado de las variables x e y de
la funcin a representar z=f(x,y) en argumentos matriciales
utilizables por los comandos surf y mesh para obtener grficos de
superficie y malla, respectivamente
surf(X,Y,Z,C) Representa la superficie explcita z=f(x,y) o la paramtrica x=x(t,u),
y=y(t,u), z=z(t,u), realizando el dibujo con los colores especficos
-
7/23/2019 tutorialMATLAB_upeu.pdf
42/90
42
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
en C. El argumento C se puede ignorar.
surfc(X,Y,Z,C) Representa la superficie explcita z=f(x,y) o la paramtrica x=x(t,u),
y=y(t,u), z=z(t,u), junto con el grfico de contorno
correspondiente(curvas de nivel proyectadas sobre el plano XY).
surfl(X,Y,Z) Representa la superficie explcita z=f(x;y) o la paramtrica x=x(t,u),y=y(t,u), z=z(t,u), con el dibujo con sombreado.
mesh(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),
y=y(t,u), z=z(t,u), dibujando las lneas de la rejilla que componen la
malla con los colores especificadas en C(opcional).
meshz(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),
y=y(t,u), z=z(t,u), con una especie de cortina o teln en la parte
inferiormeshc(X,Y,Z,C) Representa la superficie explicita z=f(x,y) o la paramtrica x=x(t,u),
y=y(t,u), z=z(t,u), junto con el grfico de contorno
correspondiente(curva de nivel proyectadas sobre el plano XY )
contour(Z) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z. El
nmero de lneas de contorno a utilizar se elige automticamente.
contour(Z,n) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z
usando n lneas de contorno.contour(x,y,Z,n) Dibuja el grfico de contorno (curvas de nivel) para la matriz Z
usando en los ejes X e Y el escalado definido por los vectores x e
y (n lneas de contorno).
contour3(Z)
contour3(Z,n) y
contour3(x,y,Z,n)
Dibujan los grficos de contorno en 3 dimensiones.
contourf() Dibuja un grfico de contorno y rellena las reas entre las
isolneas.
pcolor(X,Y,Z) Dibuja un grfico de contorno (curvas de nivel ) para la matriz
(X,Y,Z) utilizando una representacin basada en densidades de
colores. Suele denominarse grfico de densidad
comet3(z)
comet3(x,y,z)
comet3(x,y,z,p)
Grfico cometa relativo al vector z
Grfico de cometa paramtrico x(t), y(t) , z(t)
Grfico de cometa con cuerpo de longitud p*length(y)
[X,Y,Z]=cylinder
[X,Y,Z]=cylinder(r)
Da las coordenadas del cilindro unidad
Da las coordenadas del cilindro generado por la curva r
-
7/23/2019 tutorialMATLAB_upeu.pdf
43/90
43
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
[X,Y,Z]=cylinder(r,n
)
cylinder()
Da las coordenadas del cilindro generado por la curva r con n
puntos en la circunferencia seccin horizontal alineado con el eje Z
(n=20 por defecto)
Grafica los cilindros anteriores
sphere Grafica la esfera unidad usando 20x20 carassphere(n) Grafica la esfera unidad usando nxn caras
[X,Y,Z]=sphere(n) Da las coordenadas de la esfera en tres matrices (n+1)x(n+1)
OPCIONES DE MANEJO DE GRFICOS 3D
colormap(M) Sita la matriz M como el mapa corriente de colores. M debe
tener tres columnas y contener valores slo entre 0 y 1.
Tambin puede ser una matriz cuyas filas sean vectores RGBdel tipo [r g b]. Existen en MATLAB matrices M ya definidas,
que son las siguientes: bone(p), contrast(p), cool(p),
copper(p), flag(p), gray(p), hsv(p), hot(p), jet(p), pink(p),
prism(p) y white(p). Todas las matrices tienen 3 columnas y p
filas. Por ejemplo, la sintaxis colormap(hot(8)) sita la matriz
hot(8) como el mapa corriente de colores(sistema completo de
colores de la figura actual).
E-1) Grfica de una funcin paramtrica:
ttz
tty
tsentx
)(
)cos()(
)()(
Resolucin
%PLOTEO1 - Comando plot3
t=0:pi/50:10*pi;
x=sin(t);y=cos(t);
z=t;
plot3(x,y,z,'k');
grid on
axis square
title('Hlice paramtrica x(t)=sin(t),y(t)=cos(t),z(t)=t');
xlabel('EJE DE ABSCISAS X');
ylabel('EJE DE ORDENADAS Y');
zlabel('EJE Z');
-
7/23/2019 tutorialMATLAB_upeu.pdf
44/90
44
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-2) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO2 - Comando mesh
xa=-1/2*pi:.1:1/2*pi;
xb=-1/2*pi:.1:1/2*pi;
[x,y] = meshgrid(xa,xb);
z = sin(x.^2+y.^2)-(cos(x.*y)).^2;
mesh(x,y,z)
colormap(cool)
grid on
title('z = sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');
ylabel('EJE Y');
zlabel('EJE Z');
-
7/23/2019 tutorialMATLAB_upeu.pdf
45/90
45
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-3) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO3 - Comando surf
xa=-1/2*pi:.1:1/2*pi;
xb=-1/2*pi:.1:1/2*pi;[x,y]=meshgrid(xa,xb);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2;
surf(x,y,z)
colormap(hsv)
grid on
title('z = sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');ylabel('EJE Y');
zlabel('EJE Z');
E-4) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO4 - Comando surfc
xa=-1/2*pi:.1:1/2*pi;
xb=-1/2*pi:.1:1/2*pi;
[x,y]=meshgrid(xa,xb);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2;
surfc(x,y,z)
colormap(gray)
grid ontitle('z=sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');
-
7/23/2019 tutorialMATLAB_upeu.pdf
46/90
46
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
ylabel('EJE Y');
zlabel('EJE Z');
E-5) Grfica de la funcin )(cos)(),( 222
xyyxsenyxf Resolucin
%PLOTEO5 - Comando contour
xa=-1/2*pi:.1:1/2*pi;
ya=-1/2*pi:.1:1/2*pi;
[x,y]=meshgrid(xa,ya);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2;
contour(x,y,z,40)colormap(cool)
grid on
title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');
ylabel('EJE Y');
zlabel('EJE Z');
-
7/23/2019 tutorialMATLAB_upeu.pdf
47/90
47
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-6) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO6 - Comando contour3
xa=-1/2*pi:.1:1/2*pi;
ya=-1/2*pi:.1:1/2*pi;[x,y] = meshgrid(xa,ya);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2;
contour3(x,y,z,40)
colormap(cool)
grid on
title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');ylabel('EJE Y');
zlabel('EJE Z');
E-7) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO7 - Comando waterfall
xa=-1/2*pi:.1:1/2*pi;
ya=-1/2*pi:.1:1/2*pi;
[x,y] = meshgrid(xa,ya);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2
waterfall(x,y,z)
colormap(cool)
grid on
title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');
ylabel('EJE Y');
-
7/23/2019 tutorialMATLAB_upeu.pdf
48/90
48
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
zlabel('EJE Z');
E-8) Grfica de la funcin )(cos)(),( 222 xyyxsenyxf
Resolucin
%PLOTEO8 - Comando meshz
xa=-1/2*pi:.1:1/2*pi;
ya=-1/2*pi:.1:1/2*pi;
[x,y] = meshgrid(xa,ya);
z=sin(x.^2+y.^2)-(cos(x.*y)).^2;
meshz(x,y,z)
colormap(cool)
grid on
title(' z=sin(x.^2+y.^2)-(cos(x.*y)).^2');
xlabel('EJE X');
ylabel('EJE Y');
zlabel('EJE Z');
E-9) Grfica de la funcin22
22
),(yx
yxsenyxf
Resolucin
%PLOTEO9 - Comando surfl
xa=-7.5:.1:7.5;
ya=-7.5:.1:7.5;
-
7/23/2019 tutorialMATLAB_upeu.pdf
49/90
49
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
[x,y] = meshgrid(xa,ya);
z=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2));
surfl(x,y,z)
colormap(hot)
grid ontitle('z=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2))');
xlabel('EJE X');
ylabel('EJE Y');
zlabel('EJE Z');
E-10) Grfica del contorno de las funciones f1 y f2, para resolver
0),(2
0),(1
yxf
yxf. Dados
xy
yxy
eyxyxf
eexyxf
5.0),(2
3.),(1
22
)8.0( 2
Resolucin
-------------------------------------------------------------------------------
%crear una ventana y guardarlo como f1.m
function f=f1(x,y)
f=x.*exp(x.*y+0.8)+exp(y.^2)-3;-------------------------------------------------------------------------------
%crear una ventana y guardarlo como f2.m
function f=f2(x,y)
f=x.^2-y.^2-0.5*exp(x.*y);
-------------------------------------------------------------------------------
%crear una ventana y guardarlo como contorno1.m
%Grfica del contorno de f1 y f2clear, clg ,clf, hold off
x1=-3:0.01:4;
y1=-3:0.01:4;
[x,y]=meshgrid(x1,y1);
g1=f1(x,y);
g2=f2(x,y);
contour(x1,y1,g1,[0.00, 0.00],'k')hold on
contour(x1,y1,g2,[0.00, 0.00],'b')
-
7/23/2019 tutorialMATLAB_upeu.pdf
50/90
50
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
xlabel('EJE DE ABSCISAS')
ylabel('EJE DE ORDENADAS')
grid on
zoom on
title('f1=x*exp(x*y+0.8)+exp(y^2)-3;f2=x^2-y^2-0.5*exp(x*y)')
E-11) Grfica del contorno de las funciones f1 y f2, para resolver0),(2
0),(1
yxf
yxf. Dados
)cos(2),(2
)(),(1
2 yxyxf
xysenyxf
Resolucin
-------------------------------------------------------------------------------
%crear una ventana y guardarlo como f1.m
function f=f1(x,y)
f=sin(x.*y);
------------------------------------------------------------------------------
%crear una ventana y guardarlo como f2.m
function f=f2(x,y)
f=x.^2+2*cos(y);
------------------------------------------------------------------------------
%crear una ventana y guardarlo como contorno2.m
clear, clg ,clf, hold off
x1=-2*pi:0.01:2*pi;
y1=-2*pi:0.01:2*pi;
[x,y]=meshgrid(x1,y1);
g1=f1(x,y);g2=f2(x,y);
contour(x1,y1,g1,[0.00, 0.00],'k')
-
7/23/2019 tutorialMATLAB_upeu.pdf
51/90
51
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
hold on
contour(x1,y1,g2,[0.00, 0.00],'b')
xlabel('EJE DE ABSCISAS')
ylabel('EJE DE ORDENADAS')
grid onzoom on
title('f1=sin(x.*y);f2=x.^2+2*cos(y)')
E-12) Interceptar las superficies2
22
4 yz
yxz
Resolucin
[x y]=meshgrid(-2:.1:2)
z=x.^2+y.^2;
mesh(x,y,z);
hold on;
z=4-y.^2;
mesh(x,y,z);
E-13) Interceptar las superficies
)(
4 2
2
xsenz
yz
xz
Resolucin
>>[x y]=meshgrid(-2:.1:2);
z=x.^2;
mesh(x,y,z);
-
7/23/2019 tutorialMATLAB_upeu.pdf
52/90
52
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
hold on;
z=4-y.^2;
mesh(x,y,z);
hold on;
z=sin(x);mesh(x,y,z);
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
title('Interseccin de superficies')
E-14) Graficar :)(
42
2
2
xsenyzyz
xz
; z=peaks
222222 )1(
3
153
5
)1(2 )(10)1(3 yxyxxyx eeyxexz (funcin peaks)
Resolucin
>> subplot(2,2,1)
[x y]=meshgrid(-2:.1:2);
z=x.^2;
mesh(x,y,z);
hold on;
z=4-y.^2;
mesh(x,y,z);
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
title('GRFICA DE SUPERFICIES')grid on
zoom on
subplot(2,2,2)
[x y]=meshgrid(-2:.1:2);
z= 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2) ...
- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2) ...
- 1/3*exp(-(x+1).^2 - y.^2);mesh(x,y,z);
xlabel('EJE X')
-
7/23/2019 tutorialMATLAB_upeu.pdf
53/90
53
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
ylabel('EJE Y')
zlabel('EJE Z')
title('GRFICA DE SUPERFICIES')
grid on
zoom onsubplot(2,2,3)
[x y]=meshgrid(-2:.1:2);
z=x.^2;
surf(x,y,z);
hold on
z=4-y.^2;
mesh(x,y,z);hold on
z=y.^2+sin(x);
mesh(x,y,z);
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
title('GRFICA DE SUPERFICIES')
grid on
zoom on
subplot(2,2,4)
[x y]=meshgrid(-3:.5:3,-3:.1:3);
z=peaks(x,y);
ribbon(y,z);
mesh(x,y,z);
xlabel('EJE X')
ylabel('EJE Y')
zlabel('EJE Z')
title('GRFICA DE SUPERFICIES')
grid on
zoom on
-
7/23/2019 tutorialMATLAB_upeu.pdf
54/90
54
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-15) Realizar el contorno de la superficie222222 )1(
3
153
5
)1(2)(10)1(3
yxyxxyx eeyxexz
Resolucinz=['3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)', ...
'- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)', ...
'- 1/3*exp(-(x+1).^2 - y.^2)'];
ezcontour(z,[-4,4],45)
grid on
xlabel('EJE X')
ylabel('EJEY')title('Contornos')
-
7/23/2019 tutorialMATLAB_upeu.pdf
55/90
55
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-16) Realizar el contorno rellenado de la superficie222222 )1(
3
153
5
)1(2 )(10)1(3 yxyxxyx eeyxexz
Resolucin
z=[ ' 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)', ...
'- 10*(x/5 - x.^3 - y.^5).*exp(-x.^2-y.^2)', ...
'- 1/3*exp(-(x+1).^2 - y.^2) ' ];
ezcontourf(z,[-4,4],45)
grid on
xlabel('EJE X')
ylabel('EJEY')
title('Contorno rellenado')
E-17) Realizar la interseccin de los contornos de las superficies
22
22
22
1);(
);(
yx
yyxg
yx
yxsenyxf
Resolucinf=sin(sqrt(x.^2+y.^2))./(sqrt(x.^2+y.^2));
contour(f,5,'r')
hold on
g=y./(1+x.^2+y.^2);
contour(g,6,'g')
grid on
xlabel('EJE X')ylabel('EJEY')
title('Interseccin de contornos')
-
7/23/2019 tutorialMATLAB_upeu.pdf
56/90
56
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
E-18) Grfico de la esfera
Resolucin>>sphere
axis equal
xlabel('EJE X')
ylabel('EJE y')
zlabel('EJE Z')
title('La Esfera')
-
7/23/2019 tutorialMATLAB_upeu.pdf
57/90
57
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
LA TEORA DE BEZIER (INTRODUCCIN)
La curva de BEZIER fue introducida en los aos 1970 de manera independiente por P. Bezier yP. Casteljou como parte integrante de un sistema de diseo por ordenador para el diseo enlas empresas automovilsticas Cytren y Renault. Hasta el ao 1972 no fue descubierta larelacin entre la curva de Bezier y los polinomios de Bernstein. Este desarrollo permiti realizar
el primer software para el diseo de objetos mediante superficies de Bezier.La curva de Bezier de orden n con (n+1) puntos de control se definen por:
)(
)(
)(
)(
)(
)(2
1
0
210
0210
tB
tB
tB
tB
yyyy
xxxx
ty
tx
n
n
n
n
n
n
(1)
donde: )(
0
)1(.)( ini
n
i
n
i tti
ntB son las bases de Bernstein.
1. Hallando la curva de Bezier de orden n=2 para tres puntos de control
)(
)(
)(
)(
)(
2
2
2
1
2
0
210
210
tB
tB
tB
yyy
xxx
ty
tx (2)
Luego calculamos las bases de Bernstein
20202
0 )1()1(0
2)( ttttB ; )1(2)1(
1
2)( 1212
1 tttttB ; 222222 )1(
2
2)( ttttB
Reemplazando en (2) tenemos:
2
2
210
210)1(2
)1(
)(
)(
t
tt
t
yyy
xxx
ty
tx
Efectuando la multiplicacin se obtiene:
2
21
2
0
2
21
2
0
.)1(2.)1()(
.)1(2.)1()(
tyttytyty
txttxtxtx (Curva de Bezier de orden 2)
2. Hallando la curva de Bezier de orden n=3 para cuatro puntos de control
)(
)(
)(
)(
)(
)(
3
3
3
2
3
1
3
0
3210
3210
tB
tB
tB
tB
yyyy
xxxx
ty
tx (3)
Luego calculamos las bases de Bernstein
30303
0 )1()1(0
3)( ttttB 213131 )1(3)1(
1
3)( tttttB
)1(3)1(23)(
22323
2 tttttB 33333
3 )1(33)( ttttB
Reemplazando en (3) tenemos:
-
7/23/2019 tutorialMATLAB_upeu.pdf
58/90
58
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
3
2
2
3
3210
3210
)1(3
)1.(3
)1(
)(
)(
t
tt
tt
t
yyyy
xxxx
ty
tx
Efectuando la multiplicacin se obtiene:
3
3
2
2
2
1
3
0
33
22
21
30
)1(3.)1(3.)1()(
)1(3.)1(3.)1()(
tyttyttytyty
txttxttxtxtx (Curva de Bezier de orden 3)
3. Hallando la curva de Bezier de orden n=4 para cinco puntos de control
)(
)(
)(
)(
)(
)(
)(
4
4
4
3
4
2
4
1
4
0
43210
43210
tB
tB
tB
tB
tB
yyyyy
xxxxx
ty
tx (4)
Luego calculamos las bases de Bernstein
40404
0 )1()1(0
4)( ttttB 314141 )1(4)1(
1
4)( tttttB
222424
2 )1(6)1(2
4)( tttttB )1(4)1(
3
4)( 334343 tttttB
44444
4 )1(4
4)( ttttB
Reemplazando en (4) tenemos:
4
3
22
3
4
43210
43210
)1(4
)1(6
)1(4
)1(
)(
)(
t
tt
tt
tt
t
yyyyy
xxxxx
ty
tx
Efectuando la multiplicacin de las matrices se obtiene:
4
4
3
3
22
2
3
1
4
0
4
4
3
3
22
2
3
1
4
0
)1(4)1(6.)1(4.)1()(
)1(4)1(6.)1(4.)1()(
tyttyttyttytyty
txttxttxttxtxtx (Curva de Bezier de orden 4)
4. Hallando la curva de Bezier de orden n=5 para seis puntos de control
)(
)(
)(
)(
)(
)(
)(
)(
5
5
5
4
5
3
5
2
5
1
5
0
543210
543210
tB
tB
tB
tB
tB
tB
yyyyyy
xxxxxx
ty
tx (5)
Luego calculamos las bases de Bernstein50505
0 )1()1(0
5)( ttttB 415151 )1(5)1(
1
5)( tttttB
-
7/23/2019 tutorialMATLAB_upeu.pdf
59/90
59
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
322525
2 )1(10)1(2
5)( tttttB 2335353 )1(10)1(
3
5)( tttttB
)1(5)1(4
5)( 44545
4 tttttB 555555 )1(
5
5)( ttttB
Reemplazando en (4) tenemos:
5
4
23
32
4
5
543210
543210
)1(5
)1(10
)1(10
)1(5
)1(
)(
)(
t
tt
tt
tt
tt
t
yyyyyy
xxxxxx
ty
tx
Efectuando la multiplicacin de las matrices se obtiene:
5
5
4
4
23
3
32
2
4
1
5
0
5
5
4
4
23
3
32
2
4
1
5
0
)1(5.)1(10)1(10.)1(5.)1()(
)1(5.)1(10)1(10.)1(5.)1()(
tyttyttyttyttytyty
txttxttxttxttxtxtx
(Curva de Bezier de orden 5)
5. En forma anloga la curva de Bezier de orden n=6 y n=7 para siete y ocho puntos decontrol respectivamente
a) Para n=6
6
6
5
5
24
4
33
3
42
2
5
1
6
0
6
6
5
5
24
4
33
3
42
2
5
1
6
0
)1(6.)1(15.)1(20.)1(15.)1(6.)1.()(
)1(6.)1(15.)1(20.)1(15.)1(6.)1.()(
tyttyttyttyttyttytyty
txttxttxttxttxttxtxtx
b) Para n=7
7
7
6
6
25
5
34
4
43
3
52
2
6
1
7
0
7
7
6
6
25
5
34
4
43
3
52
2
6
1
7
0
)1(7.
)1(21.)1(35.)1(35.)1(21.)1(7.)1.()(
)1(7.
)1(21.)1(35.)1(35.)1(21.)1(7.)1.()(
tytty
ttyttyttyttyttytytx
txttx
ttxttxttxttxttxtxtx
FORMATOS Y EJEMPLOS DE LA CURVA DE BEZIER
%BEZIER DE ORDEN 2
t=0:0.01:1;p=(1-t);x1=(x0)*p.^2+(x1)*2*t.*p+(x2)*t.^2;y1=(y0)*p.^2+(y1)*2*t.*p+(y2)*t.^2;plot(x1,y1)grid on%Ejemplo Dados (4;7),(8;10),(10;5)t=0:0.01:1;p=(1-t);x1=(4)*p.^2+(8)*2*t.*p+(10)*t.^2;y1=(7)*p.^2+(10)*2*t.*p+(5)*t.^2;plot(x1,y1)grid ontitle('BEZIER DE ORDEN2')
-
7/23/2019 tutorialMATLAB_upeu.pdf
60/90
60
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
hold onx=[4,8,10]y=[7,10,5]plot(x,y,'--r')
%BEZIER DE ORDEN 3
t=0:0.01:1;p=(1-t);x1=(x0)*p.^3+(x1)*3*t.*p.^2+(x2)*3*t.^2.*p+(x3)*t.^3;y1=(y0)*p.^3+(y1)*3*t.*p.^2+(y2)*3*t.^2.*p+(y3)*t.^3;plot(x1,y1)grid on%Ejemplo Dado (8;7),(14;10),(11;14), (13;20)t=0:0.01:1;p=(1-t);x1=(8)*p.^3+(14)*3*t.*p.^2+(11)*3*t.^2.*p+(13)*t.^3;y1=(7)*p.^3+(10)*3*t.*p.^2+(14)*3*t.^2.*p+(20)*t.^3;
plot(x1,y1)grid ontitle('BEZIER DE ORDEN3')hold onx=[8,14,11,13]y=[7,10,14,20]plot(x,y,'--r')
%BEZIER DE ORDEN 4t=0:0.01:1;p=(1-t);x1=(xo)*p.^4+(x1)*4*t.*p.^3+(x2)*6*t.^2.*p.^2.*t+(x3)*4*t.^3.*p+(x4)*t.^4;y1=(yo)*p.^4+(y1)*4*t.*p.^3+(y2)*6*t.^2.*p.^2.*t+(y3)*4*t.^3.*p+(y4)*t.^4;plot(x1,y1)grid on%Ejemplo Dado (15;21),(11;22),(7;27), (14;26),(17,23)t=0:0.01:1;p=(1-t);x1=(15)*p.^4+(11)*4*t.*p.^3+(7)*6*t.^2.*p.^2.*t+(14)*4*t.^3.*p+(17)*t.^4;y1=(21)*p.^4+(22)*4*t.*p.^3+(27)*6*t.^2.*p.^2.*t+(26)*4*t.^3.*p+(23)*t.^4;plot(x1,y1)grid ontitle('BEZIER DE ORDEN4')hold onx=[15,11,7,14,17]y=[21,22,27,26,23]plot(x,y,'--r')
-
7/23/2019 tutorialMATLAB_upeu.pdf
61/90
61
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
%BEZIER DE ORDEN 5t=0:0.01:1;p=(1-t);x1=(xo)*p.^5+(x1)*5*t.*p.^4+(x2)*10*t.^2.*p.^3+(x3)*10*t.^3.*p.^2+(x4)*5*t.^4.*p+(x5)*t.^5;y1=(yo)*p.^5+(y1)*5*t.*p.^4+(y2)*10*t.^2.*p.^3+(y3)*10*t.^3.*p.^2+(y4)*5*t.^4.*p+(y5)*t.^5;
plot(x1,y1)grid on
%Ejemplo Dado (17;20),(20;23),(21;25), (23;25),(25,23),(28,20)t=0:0.01:1;p=(1-t);x1=(17)*p.^5+(20)*5*t.*p.^4+(21)*10*t.^2.*p.^3+(23)*10*t.^3.*p.^2+(25)*5*t.^4.*p+(28)*t.^5;y1=(20)*p.^5+(23)*5*t.*p.^4+(25)*10*t.^2.*p.^3+(25)*10*t.^3.*p.^2+(23)*5*t.^4.*p+(20)*t.^5;plot(x1,y1)grid on
title('BEZIER DE ORDEN5')hold onx=[17,20,21,23,25,28]y=[20,23,25,25,23,20]plot(x,y,'--r')
%BEZIER DE ORDEN 6t=0:0.01:1;p=(1-t);x1=(xo)*p.^6+(x1)*6*t.*p.^5+(x2)*15*t.^2.*p.^4+(x3)*20*t.^3.*p.^3+(x4)*15*t.^4.*p.^2+(x5)*6*t.^5.*p+(x6)*t.^6;y1=(yo)*p.^6+(y1)*6*t.*p.^5+(y2)*15*t.^2.*p.^4+(y3)*20*t.^3.*p.^3+(y4)*15*t.^4.*p.^2+(y5)*6*t.^5.*p+(y6)*t.^6;plot(x1,y1)grid on%Ejemplo Dado (18;15),(20;16),(19;14), (18;12),(14;14),(18;17),(20;19)t=0:0.01:1;p=(1-t);x1=(18)*p.^6+(20)*6*t.*p.^5+(19)*15*t.^2.*p.^4+(18)*20*t.^3.*p.^3+(14)*15*t.^4.*p.^2+(18)*6*t.^5.*p+(20)*t.^6;y1=(15)*p.^6+(16)*6*t.*p.^5+(14)*15*t.^2.*p.^4+(12)*20*t.^3.*p.^3+(14)*15*t.^4.*p.^2+(17)*6*t.^5.*p+(19)*t.^6;plot(x1,y1)grid ontitle('BEZIER DE ORDEN6')hold onx=[18,20,19,18,14,18,20]y=[15,16,14,12,14,17,19]plot(x,y,'--r')
%BEZIER DE ORDEN 7t=0:0.01:1;p=(1-t);
-
7/23/2019 tutorialMATLAB_upeu.pdf
62/90
62
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
x1=(xo)*p.^7+(x1)*7*t.*p.^6+(x2)*21*t.^2.*p.^5+(x3)*35*t.^3.*p.^4+(x4)*35*t.^4.*p.^3+(x5)*21*t.^5.*p.^2+ (x6)*7*t.^6.*p+(x7)*t.^7;y1=(yo)*p.^7+(y1)*7*t.*p.^6+(y2)*21*t.^2.*p.^5+(y3)*35*t.^3.*p.^4+(y4)*35*t.^4.*p.^3+(y5)*21*t.^5.*p.^2+ (y6)*7*t.^6.*p+(y7)*t.^7;plot(x1,y1)grid on
%Ejemplo Dado (23;12),(26;15),(28;10), (26;8),(23;8),(24;10),(32;16),(26;17)t=0:0.01:1;p=(1-t);x1=(23)*p.^7+(26)*7*t.*p.^6+(28)*21*t.^2.*p.^5+(26)*35*t.^3.*p.^4+(23)*35*t.^4.*p.^3+(24)*21*t.^5.*p.^2+ (32)*7*t.^6.*p+(26)*t.^7;y1=(12)*p.^7+(15)*7*t.*p.^6+(10)*21*t.^2.*p.^5+(8)*35*t.^3.*p.^4+(8)*35*t.^4.*p.^3+(10)*21*t.^5.*p.^2+ (16)*7*t.^6.*p+(17)*t.^7;plot(x1,y1)grid ontitle('BEZIER DE ORDEN7')hold on
x=[23,26,28,26,23,24,32,26]y=[12,15,10,8,8,10,16,17]plot(x,y,'--r')
NOTA:1) LA LINEA AZUL NTIDA ES LA CURVA DE BEZIER2) LA LINEA PUNTEADA ROJA DETERMINA LOS PUNTOS DE CONTROL PARA LA
CURVA
-
7/23/2019 tutorialMATLAB_upeu.pdf
63/90
63
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
ALGUNOS EJEMPLOS DE DISEOS GEOMTRICOS
-
7/23/2019 tutorialMATLAB_upeu.pdf
64/90
64
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
-
7/23/2019 tutorialMATLAB_upeu.pdf
65/90
65
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
UN EJEMPLO DE PROGRAMA PARA CONSTRUIR LA GRFICA DEL CONEJOt=0:0.01:1;p=(1-t);x= 12.5.*p.^2+ 19.3.*2.*t.*p+ 21.8.*t.^2;y= 2.*p.^2+ 2.3.*2.*t.*p+5.9.*t.^2;
plot(x,y)grid onx1= 21.8.*p.^2+ 22.5.*2.*t.*p+ 18.6.*t.^2;y1= 5.9.*p.^2+ 9.5.*2.*t.*p+ 11.6.*t.^2;hold onplot(x1,y1)x2=18.6.*p+16.2.*t;y2=11.6*p+16.2*t;plot(x2,y2)x3= 16.2.*p.^3+ 17.5.*3.*t.*p.^2+ 13.5.*3.*t.^2.*p+ 13.5.*t.^3;y3= 16.2.*p.^3+ 22.5.*3.*t.*p.^2+ 27.5.*3.*t.^2.*p+ 31.3.*t.^3;plot(x3,y3)x4= 13.5.*p.^2+ 12.2.*2.*t.*p+ 14.6.*t.^2;y4= 31.3.*p.^2+ 24.5.*2.*t.*p+ 15.6.*t.^2;plot(x4,y4)x5= 11.3.*p.^3+ 12.5.*3.*t.*p.^2+ 8.5.*3.*t.^2.*p+ 8.3.*t.^3;y5= 16.*p.^3+ 22.5.*3.*t.*p.^2+ 27.5.*3.*t.^2.*p+ 34.*t.^3;plot(x5,y5)x6= 8.3.*p.^2+ 7.2.*2.*t.*p+ 10.*t.^2;
y6= 34.*p.^2+ 24.5.*2.*t.*p+ 15.8.*t.^2;plot(x6,y6)x8= 12.5.*p.^2+ 8.7.*2.*t.*p+ 4.7.*t.^2;y8= 2.*p.^2+ 2.9.*2.*t.*p+5.*t.^2;plot(x8,y8)x9= 4.7.*p.^2+ 4.*2.*t.*p+ 7.1.*t.^2;y9= 5.*p.^2+ 10.*2.*t.*p+10.2.*t.^2;plot(x9,y9)x10= 7.1.*p.^2+ 7.5.*2.*t.*p+ 8.2.*t.^2;
y10= 10.2.*p.^2+ 12.*2.*t.*p+ 13.2.*t.^2;plot(x10,y10)x11= 8.2.*p.^2+ 8.5.*2.*t.*p+ 9.1.*t.^2;y11= 13.2.*p.^2+ 14.4.*2.*t.*p+ 14.6.*t.^2;plot(x11,y11)x12=9.1.*p+ 10.*t;y12=14.6*p+ 15.8*t;plot(x12,y12)x13= 18.6.*p+ 16.3.*t;
y13= 11.6.*p+ 10.2.*t;plot(x13,y13)x14= 16.3.*p+ 16.*t;
-
7/23/2019 tutorialMATLAB_upeu.pdf
66/90
66
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
y14= 10.2.*p+ 10.*t;plot(x14,y14)x15= 16.*p+ 15.1.*t;y15= 10.*p+ 9.5.*t;plot(x15,y15)
x16= 15.1.*p+ 13.8.*t;y16= 9.5.*p+ 8.9.*t;plot(x16,y16)x13= 7.1.*p+ 8.6.*t;y13= 10.2.*p+ 9.6.*t;plot(x13,y13)x14= 8.6.*p+ 9.5.*t;y14= 9.6.*p+ 9.1.*t;plot(x14,y14)
x15= 9.5.*p+ 10.3.*t;y15= 9.1.*p+ 8.8.*t;plot(x15,y15)x16= 13.2.*p+ 12.6.*t;y16= 3.8.*p+ 6.8.*t;plot(x16,y16)x17= 12.6.*p+ 11.3.*t;y17= 6.8.*p+ 6.8.*t;plot(x17,y17)x18= 11.3.*p+ 11.7.*t;y18= 6.8.*p+ 4.8.*t;plot(x18,y18)x19= 11.3.*p+ 10.2.*t;y19= 6.8.*p+ 6.7.*t;plot(x19,y19)x20=10.2.*p.^4+ 10.4.*4.*p.^3.*t+ 10.5.*6.*p.^2.*t.^2+ 11.5.*4.*p.*t.^3+13.2.*t.^4;y20=6.7.*p.^4+ 4.5.*4.*p.^3.*t+ 3.5.*6.*p.^2.*t.^2+ 3.7.*4.*p.*t.^3+ 3.8.*t.^4;plot(x20,y20)
x21= 13.5.*p+ 24.*t;y21= 6.7.*p+ 9.*t;plot(x21,y21)x22= 13.9.*p+ 26.*t;y22= 7.2.*p+ 11.5.*t;plot(x22,y22)x23= 13.7.*p+ 26.*t;y23= 7.7.*p+ 13.*t;plot(x23,y23)
x24= 9.*p+ 1.*t;y24= 7.*p+ 11.*t;plot(x24,y24)
-
7/23/2019 tutorialMATLAB_upeu.pdf
67/90
67
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
x25= 8.5.*p+ 1.5.*t;y25= 7.8.*p+ 12.8.*t;plot(x25,y25)x26= 9.5.*p+ 3.5.*t;y26= 7.6.*p+ 13.5.*t;
plot(x26,y26)x27= 11.1.*p.^3+ 8.6.*3.*t.*p.^2+ 14.*3.*t.^2.*p+ 11.1.*t.^3;y27= 7.8.*p.^3+ 9.2.*3.*t.*p.^2+ 9.1.*3.*t.^2.*p+ 7.8.*t.^3;plot(x27,y27)x28=8.2.*p.^4+ 9.*4.*p.^3.*t+ 9.6.*6.*p.^2.*t.^2+ 10.1.*4.*p.*t.^3+ 9.5.*t.^4;y28=13.2.*p.^4+ 14.*4.*p.^3.*t+ 14.5.*6.*p.^2.*t.^2+ 13.5.*4.*p.*t.^3+ 9.1.*t.^4;plot(x28,y28)x29=13.8.*p.^4+ 13.3.*4.*p.^3.*t+ 14.9.*6.*p.^2.*t.^2+ 15.7.*4.*p.*t.^3+16.3.*t.^4;
y29=8.9.*p.^4+ 14.5.*4.*p.^3.*t+ 15.5.*6.*p.^2.*t.^2+ 14.4.*4.*p.*t.^3+ 10.2.*t.^4;plot(x29,y29)x30=8.5.*p.^4+ 9.*4.*p.^3.*t+ 9.7.*6.*p.^2.*t.^2+ 9.6.*4.*p.*t.^3+ 9.5.*t.^4;y30=9.625.*p.^4+ 10.5.*4.*p.^3.*t+ 10.8.*6.*p.^2.*t.^2+ 10.*4.*p.*t.^3+ 9.1.*t.^4;fill(x30,y30,'r')x31=15.1.*p.^4+ 14.9.*4.*p.^3.*t+ 15.2.*6.*p.^2.*t.^2+ 15.6.*4.*p.*t.^3+ 16.*t.^4;y31=9.5.*p.^4+ 11.7.*4.*p.^3.*t+ 12.1.*6.*p.^2.*t.^2+ 11.8.*4.*p.*t.^3+ 10.*t.^4;fill(x31,y31,'r')x32= 13.8.*p+ 12.2.*t;y32= 8.9.*p+ 8.*t;plot(x32,y32)x33= 14.6.*p.^2+ 13.5.*2.*t.*p+ 12.6.*t.^2;y33= 15.6.*p.^2+ 17.*2.*t.*p+ 17.3.*t.^2;plot(x33,y33)x34= 13.8.*p.^2+ 13.4.*2.*t.*p+ 12.6.*t.^2;y34= 16.*p.^2+ 16.5.*2.*t.*p+ 17.3.*t.^2;plot(x34,y34)x35= 13.8.*p.^2+ 12.6.*2.*t.*p+ 12.*t.^2;y35= 16.*p.^2+ 16.6.*2.*t.*p+ 16.5.*t.^2;
plot(x35,y35)x36= 12.9.*p.^2+ 12.5.*2.*t.*p+ 12.*t.^2;y36= 16.*p.^2+ 16.2.*2.*t.*p+ 16.5.*t.^2;plot(x36,y36)x37= 11.5.*p.^2+ 12.2.*2.*t.*p+ 12.9.*t.^2;y37= 16.2.*p.^2+ 16.3.*2.*t.*p+ 16.*t.^2;plot(x37,y37)x38= 11.5.*p+ 12.2.*t;y38= 16.2.*p+ 15.9.*t;
plot(x38,y38)x39= 11.3.*p+ 12.2.*t;y39= 16.*p+ 15.9.*t;
-
7/23/2019 tutorialMATLAB_upeu.pdf
68/90
68
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
plot(x39,y39)x40= 15.2.*p.^2+ 16.*2.*t.*p+ 13.8.*t.^2;y40= 16.2.*p.^2+ 22.5.*2.*t.*p+ 27.5.*t.^2;plot(x40,y40)x41= 15.2.*p.^2+ 13.*2.*t.*p+ 13.8.*t.^2;
y41= 16.2.*p.^2+ 22.5.*2.*t.*p+ 27.5.*t.^2;plot(x41,y41)x42= 10.7.*p.^2+ 11.5.*2.*t.*p+ 8.5.*t.^2;y42= 16.2.*p.^2+ 22.5.*2.*t.*p+ 30.*t.^2;plot(x42,y42)x43= 10.7.*p.^2+ 8.2.*2.*t.*p+ 8.5.*t.^2;y43= 16.2.*p.^2+ 22.5.*2.*t.*p+ 30.*t.^2;plot(x43,y43)title('QUE HAY DE NUEVO VIEJO!')
xlabel('EJE X')ylabel('EJE Y')
CLCULOS MATEMTICOS EN MATLAB1) Clculos en una sola variable
El rea de la esfera 24 rA r=2;A=4*pi*r.^2%resultadoA = 50.2655
Otra forma es utilizando el comando subssyms rA=4*pi*r.^2;subs(A,2)%resultadoans = 50.2655 El enunciado ifr=2;if r>0
A=4*pi*r.^2end%resultado
A = 50.2655
El operador igual(==)r=2;if r==2
A=4*pi*r.^2end%resultadoA = 50.2655
El operador no igual (~=)r=2;if r~=3
A=4*pi*r.^2end%resultado
A = 50.2655 El enunciado if se puede utilizar con else o
elseifr=2;if r>3
b=1elseif r==3
b=2else
b=0end%resultado b =0
r=6;if r>3
b=1elseif r==3
b=2else
b=0
end%resultadob = 1r=3;if r>3
b=1elseif r==3
b=2else
b=0end%resultado
b =2 El comando disp exhibe un nmero, vector,
matriz o cadena en la ventana de comandosdisp(pi)
-
7/23/2019 tutorialMATLAB_upeu.pdf
69/90
69
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
%resultado3.1416
disp('YO SOY UN EXCELENTE ALUMNO')%resultadoYO SOY UN EXCELENTE ALUMNO Los cilos for/end y while/end
El rea de la esfera para r=1 hasta 5
for r=1:5Area=4*pi*r.^2;disp([r,Area])
end%resultado
ri Areas1.0000 12.56642.0000 50.26553.0000 113.09734.0000 201.06195.0000 314.1593
r=0;while r2*rbreak
endend
end%resultados
ri Areas
1.0000 12.56641.0000 12.56641.0000 12.56642.0000 50.26552.0000 50.26552.0000 50.26552.0000 50.26552.0000 50.26553.0000 113.09733.0000 113.09733.0000 113.09733.0000 113.0973
3.0000 113.09733.0000 113.09733.0000 113.0973
VARIABLES Y ARREGLOSx=[4,6,8,1,9];x(2)%x(5)%%resultadoans =6
ans =9
ADEMSfor i=1:6
-
7/23/2019 tutorialMATLAB_upeu.pdf
70/90
70
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
x(i)=i*(i+1)/2end%RESULTADOSx = 1 3 6 10 15 21x = 1 3 6 10 15 21x = 1 3 6 10 15 21x = 1 3 6 10 15 21
x = 1 3 6 10 15 21x = 1 3 6 10 15 21
Decrementa de dos en dosx=14:-2:2%resultadox =14 12 10 8 6 4 2
Incrementa de dos en dosx=2:2:12%resultadox = 2 4 6 8 10 12
Arreglosx=[3,5,7,8];y=[1,2,9,6];for i=1:4
z(i)=x(i)+y(i)end%resultadosz = 4
z = 4 7z = 4 7 16z = 4 7 16 14 Posiciones de areglosA=[4,6,7;9,2,5;-3,-5,9]A(1,1)A(2,3)A(1,1)%resultadosA =4 6 7
9 2 5-3 -5 9
ans = 4ans = 5ans = 4
PosicionesA=[4,6,7;9,2,5;-3,-5,9]A(3,:)%resultadosA =4 6 7
9 2 5-3 -5 9
ans =-3 -5 9
A=[4,6,7;9,2,5;-3,-5,9]A(:,3)%resultados
A =4 6 79 2 5-3 -5 9
ans = 759
Anidados
a=[3,4,6;3,8,3;4,3,6];b=[1,2,3;7,8,9;4,6,6];for i=1:3
for j=1:3c(i,j)=a(i,j)+b(i,j)
endend%respuestac = 4c = 4 6c = 4 6 9c = 4 6 9
10 0 0c = 4 6 9
10 16 0c = 4 6 9
10 16 12c = 4 6 9
10 16 128 0 0
c = 4 6 910 16 128 9 0
c = 4 6 910 16 128 9 12
sumatoriasx=[3,4,6,7,9];sum(x)%respuestaans = 29
x=[3,4,6;5,7,9];sum(x)%respuesta
ans = 8 11 15
x=[3,4,6;5,7,9;1,2,3];sum(x)%respuestaans = 9 13 18
x=[3,4,6,5,7,9];MIN=min(x)MAX=max(x)%respuestasMIN = 3
MAX = 9
-
7/23/2019 tutorialMATLAB_upeu.pdf
71/90
71
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
Media aritmticafunction [media, desviacion]=medias(x)n=length(x);media=sum(x)/n;desviacion=sqrt(sum(x.^2)/n-(media).^2);
%Compilando
x=[2,3,4,5,6,7];[m,d]=medias(x)%respuestam = 4.5000d = 1.7078 Creacin de archivos Mfunction y=soria(x)y=x.^2-3*x+5;
%Compilandosoria(3)%respuestaans = 5
%Compilandosoria([3, 2;4,1])%respuestaans = 5 3
9 3 Funciones de Usuario propias
function mp=fun(soria,a,b,c)mp=((feval(soria,a)+2*feval(soria,b)+feval(soria,c))/4);
%compilandofun('soria',2,4,-1)%resultadosans = 7.5000LOBORATORIO DE MATLAB
1) Calcular el volumen de una esfera 33
4rV
con r=2
2) El campo elctrico de un disco circular conradio R y densidad de carga con distancia Z a
un eje es22
0
11
2
.
zRz
zEZ . Calcular
ZE para12
102,1 120 1085,8
23z eR 4 35 e=N neperiano3) La densidad D de un objeto cilndrico es
LR
MD
2, hallar la cota inferior y superior
de la densidad del objeto donde:
cmL
cmR
grM
012,0431,15
01,020,8
005.0029.0
4) Para un mesn 0 que decae en dos fotonescon una vida media se quiere calcular su
velocidad por la frmula2
1
c
L
donde; mL 510 ; 16102 9
103c =velocidad de la luz . Hallar suvelocidad.
4) (Contaminacin del agua) Al depositarse enun lago, los desperdicios orgnicos disminuyenel contenido de oxgeno del agua. Si t denota eltiempo en das despus que se deposita eldesperdicio, se encuentra experimentalmenteen un caso que el contenido de oxgeno es
600030 23 tty con 250 t . Encuentrelos valores mximo y mnimo de y durante los25 das siguientes al vaciado del desperdicio.
5) (Contaminacin atmosfrica) El ndice decontaminacin atmosfrica en cierta ciudadvara durante el da de la siguiente manera:
1612;350
124;14
42;26
20;42
)(
tsit
tsi
tsit
tsit
tP
Aqu t es el tiempo en horas, con t=0correspondiente a 6 a.m. y t=16 a 10 p.m. Hagala grfica de esta funcin. Cul son los nivelesde contaminacin a las 8 a.m. , 12 del da, 6p.m. y 8 p.m.?
-
7/23/2019 tutorialMATLAB_upeu.pdf
72/90
72
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
GRFICOS CON MARCAS Y PROGRAMACIN CON EL SOFTWARE MATLAB 7.0 GRAFICOS CON MARCAS
TIPO DE MARCA S MBOLOPunto .Ms
+Estrella *Crculo oMarca x x
TIPOS DE LNEATIPO DE LNEA S MBOLOContinua -Guiones --Punteada :Guiones y puntos -.
COLORES DE LNEACOLORES DE LNEA S MBOLORojo rAmarillo yMagenta mTurquesa cVerde gAzul bBlanco wNegro k
E-1) Graficar la funcinx
xSenxf
)(10)(
Resolucin%Formato para graficarx=-15:0.05:15;f1=10*sin(x)./(x);plot(x,f1,'+')grid ontitle('GRAFICAS CON MARCAS')xlabel('EJE X')ylabel('EJE Y')
text(4,5,'f1=10*sin(x)./(x)')
El comando FontSize%Este formato aumenta de tamao las letras
x=-15:0.05:15;f=sin(x)./(x);plot(x,f,'*m')grid ontitle('GRAFICAS CONMARCAS','FontSize',[20],'color','g')xlabel('ABSCISAS','FontSize',[18],'color','r')ylabel('ORDENADAS','FontSize',[18],'color','r')gtext('f=sin(x)./(x)','FontSize',[15],'color','b')
El comando hold onen la superposicinx=-10:0.05:10;f1=sin(x)./(x+eps);plot(x,f1,'*')hold onf2=sin(x);f3=-cos(x);plot(x,f2,'+g')plot(x,f3,'.-r')grid ontitle('GRAFICAS CONMARCAS','FontSize',[20],'color','b')xlabel('ABSCISAS','FontSize',[18],'color','c')ylabel('ORDENADAS','FontSize',[18],'color','c')
El comando subploten grficos del plano
Con subplot podemos graficar mpor ngrficasen una sola figura; la sintaxis es:subplot(m,n,k) donde k es el nmerosecuencial de la grfica.
-
7/23/2019 tutorialMATLAB_upeu.pdf
73/90
73
MANUAL DEL SOFTWARE MATLAB DR. SORIA QUIJAITE JUAN
%Este formato realiza 4 graficas de 2 filas y 2%columnassubplot(2,2,1)gtext('figura1')subplot(2,2,2)gtext('figura2')
subplot(2,2,3)gtext('figura3')subplot(2,2,4)gtext('figura4')
Ejemplo:E-1)Graficar las funcionessubplot(2,2,1)x=-5:0.05:5;f1=cos(x);plot(x,f1,'b')grid ontitle('subplot(2,2,1)')subplot(2,2,2)
x=-5:0.05:5;f2=sin(x);plot(x,f2,'g')grid ontitle('subplot(2,2,2)')subplot(2,2,3)x=-2:0.05:2;f3=-x.^2;plot(x,f3,'r')grid ontitle('subplot(2,2,3)')subplot(2,2,4)
x=-5:0.05:5;f4=-x.*sin(x);plot(x,f4,'k')grid ontitle('subplot(2,2,4)')
Prctica dirigida con MATLAB Graficar cada una de las funciones
reales1.- 0)( 2 xexxf 2.- 0)cos()( xxxf 3.- 0)cos(2)()( xxsenxf
4.- 0)1()cos()( 12xxxf
5.- 0)ln()2()( 2 xxxf
6.- 0)2()(4)( 22 senxxxsenxxf
7.- 012.0)log()( 2xxxf
8.- 06cos22)( xexf xx
9. 5)( 3xexf x
10. Lnxexsenxxf xcos)(
Utilice el comando subplot para graficar
1. 5)( 33 xexsenxf x
2 )log(32))3(tan()( 52 senxxxsenxf
3. 62cos)( 3 xxxsenxxf 4. )).cos(tan()( xxf TAREA DOMICILIARIAGraficar las funciones reales1) 21log210)( xxxxf
3) 42)()( xxLnxf 4) 12)(
3
xex x
5) 3log)( 3cos xxexf xsenx
7) 4ln)( 3cos xxexf xsenx
8) 22 )2()(4)( senxxxsenxx
9) )()( 1 xsenxxxf
10) 22 )cos2()cos(4)( xxxxxg
12) 6cos22)( xexr xx
-
7/23/2019 tutorialMATLAB_upeu.pdf