You are on page 1of 29

CLCULO SIMBLICO

Operaciones realizadas a la fecha: Numricas.


En muchas aplicaciones matemticas, cientficas y tcnicas se requieren operaciones
simblicas. Es decir, operaciones matemticas con expresiones que contienen variables
simblicas (variables que no contienen un valor numrico especfico asignado cuando la
operacin se ejecuta).
El resultado de tal operacin es tambin una expresin matemtica que contiene variables
simblicas. Un ejemplo sencillo es despejar una variable de una ecuacin algebraica de
varias variables. Por ejemplo, si a, b y x son variables simblicas y ax - b = 0 , se desea
calcular x a partir de a y b, cuyo resultado es x = b/a .
Otros ejemplos de operaciones simblicas son la resolucin analtica de derivadas, integrales
y ecuaciones diferenciales. Por ejemplo, la derivada con respecto a t de la ecuacin: 2t 3 + 5t
8 , es 6t2 + 5.
MatLab permite realizar diferentes tipos de operaciones simblicas, donde la parte numrica
de la operacin simblica, se lleva a cabo de forma exacta, sin aproximar valores numricos.
Por ejemplo, el resultado de sumar: x/4 y x/3 es (7/12)x y no 0.5833x.
Para trabajar en MatLab con operaciones simblicas, se debe instalar la caja de
herramientas correspondiente (SymbolicMathToolbox).
Los comandos y funciones para las operaciones simblicas tienen el mismo estilo y sintaxis
que las operaciones numricas. Las operaciones simblicas son ejecutadas por Maple, el
cual est integrado dentro de MatLab. Para comprobar si la librera de operaciones
simblicas est instalada, utilizar la instruccin: ver mostrndose las herramientas (tool
boxes) instaladas.
Para trabajar con operaciones simblicas, se debe tratar con objetos simblicos. Un objeto
simblico est compuesto por variables y nmeros que, cuando se utilizan en operaciones
matemticas, indican a MatLab que debe ejecutar la operacin en forma simblica.
El usuario inicialmente define o crea las variables simblicas (objetos) necesarias, y despus
las utiliza para crear expresiones simblicas.

FUNCIONES POR CATEGORA


FUNCIONES
Clculo

Funciones que llevan a cabo operaciones de clculo con


expresiones simblicas.

Algebra Lineal

Funciones para manipulacin matricial simblica.


1

Simplificacin

Funciones para modificar o simplificar datos simblicos.

Solucin de ecuaciones

Funciones para resolver una expresin simblica

Aritmtica
Variable

de

Presicin Funciones para clculo que requiere control exacto de la


exactitud numrica

OperacionesAritmticas

Funciones para la funcionalidad de expresiones aritmticas o


simblicas

FuncionesEspeciales

Funciones con aplicacin matemtica especfica

Acceso a Maple

Funciones para accesar el Kernel de Maple

AplicacionesPedaggicas y Funciones que suministran ms informacin con grficos y


Grficas
calculus.
Conversiones

Funciones para convertir datos simblicos de un tipo a otro

OperacionesBsicas

Funciones para operaciones bsicas de datos simblicos

TransformacionesIntegrale
s

Funciones que llevan a cabo transformaciones integrales

Creacin de Objetos Simblicos.


Pueden ser variables o nmeros. Se crean con el comando symy/o syms , los cuales crean
nmeros, variables u objetos simblicos.
Sintaxis:

nombre_objeto = sym(cadena)

Donde cadena puede ser:


-

Una letra o combinacin de letras sin espacios. Ejemplo: a, x o var.


Una combinacin de letras y dgitos que comience por letra (sin espacios). Ejemplos:
xh12, r2d2.
Un nmero. Por ejemplo: 15, 4.

Ejemplo: Crear con el mismo nombre las variables simblicas para a, bb y x.


>> a = sym(a)
a =a
>>bb = sym(bb)
bb = bb
>> x = sym(x)
x=x
Ejemplo: Crear el objeto simblico gamma con el nombre g.
>> g = sym(gamma)
g = gamma
Nota: El objeto simblico se llama gamma, y el nombre del objeto es g.
2

Ejemplo: Crear objetos simblicos a partir de los nmeros 5 y 7.


>> c = sym(5)
c=5
>> d = sym(7)
Para crear ms de una variable simblica, utilizar el comando syms.
Sintaxis:

symsnombre_variablenombre_variablenombre_variable..

Ejemplo: Crear variables simblicas para y, z, d.


>>syms y z d
(Observar que no se muestran automticamente. Para visualizarlas, teclear su nombre)
>>y
y= y

Crea la variable simblica yy la guarda en y.

Creacin de expresiones simblicas.


Sintaxis:

nombre_expresion = expresin matemtica

Ejemplo: Crear la expresin simblica para:

ax2 + bx + c con el nombre f

>>syms a b c x y
>> f = a * x ^ 2 + b * x + c
f=
a*x^2+b*x+c
(Sin sangra)
Cuando se introduce una expresin simblica que incluye operaciones matemticas que se
pueden ejecutar ( suma, resta, multiplicacin y divisin), MatLab las ejecuta a medida que se
crean. Por ejemplo:
>> g=2*a/3+4*a/7-6.5*x+x/3+4*5/3-1.5
g=
(26*a)/21 - (37*x)/6 + 31/6
Ejemplo: Analice las siguientes operaciones realizadas en forma simblica y numrica.
>> a = sym(3); b=sym(5);
>> e=b/a+sqrt(2)
e=
2^(1/2) + 5/3
>> c=3; d=5;
>> f=d/c+sqrt(2)
f=
3

3.0809

(Con sangra)

Ejemplo:
syms x beta real es equivalente a:
x = sym('x','real');
beta = sym('beta','real');

COMENTARIOS SOBRE EXPRESIONES Y OBJETOS SIMBLICOS


1. Las expresiones simblicas pueden incluir variables numricas, ocasionando que el
resultado sea exacto.
Ejemplo:
>> h = 10 / 3
h=
3.3333
>> k = sym(5); m = sym(7);
>> p = k / m + h
p=
85/21
2. Se puede utilizar la instruccin double(S)para convertir una expresin simblica
(objeto) S, escrita en forma exacta, a su forma numrica (No. en punto flotante de
doble precisin).
Ejemplo:
a) p se convierte a su valor numrico.
>>pN = double(p)
pN =
4.0476
b) Se crea un objeto simblico y despus se convierte a forma numrica:
>> y = sym(10) * cos(5*pi/6)
y=
-5*3^(1/2)
>>yN = double(y)
yN =
-8.6603
3. Se puede crear una funcin simblica sin declarar las variables.
Ejemplo:
>> f = sym(a*x^2+b*x+c)
f=
a*x^2+b+c
NOTA: Diferencia con caso anterior: No se pueden realizar operaciones simblicas.
4

4. Se pueden crear nuevas expresiones simblicas utilizando las existentes.


Ejemplo:
>>syms x y
>> SA = x + y, SB = x y
SA =
x+y
SB =
x-y
>> F = SA ^ 2 / SB ^ 3 + x ^ 2
F=
(x + y)^2 / (x - y)^3 + x^2
COMANDOSfindsym, collect, expand y factor
COMANDO
findsym

collect

expand

SINTAXIS
findsym(F)
findsym(F,n)

collect(F)
collect(F,variable)

expand(S)

DESCRIPCIN Y EJEMPLO
Enlista las variables simblicas involucradas en una
expresin simblica.
n son las primeras variables simblicas.
Agrupa los trminos de igual potencia que se
encuentran en una expresin.
>>syms x y
>> S = (x^2 + x exp(x)) * (x + 3)
S=
(x^2 + x exp(x)) * (x + 3)
>> F = collect(S)
F=
x^3 + 4 * x^2 + ((-exp(x) + 3) * x 3 * exp(x)
Desarrolla expresiones aplicando la propiedad
distributiva
utilizando
sumas,
identidades
trigonomtricas, exponenciales y logartmicas.
>>syms a x y
>> S = (x + 5) * (x - a) * (x + 4)
S=
(x + 5) * (x - a) * (x + 4)
>> T = expand(S)
T=
x^3 + 9 * x^2 x^2 * a 9 * a + 20 * x 20 * a
>>expand(sin(x - y))
ans =
sin(x) * cos(y) cos(x) * sin(y)
Factoriza una expresin en forma de polinomio y
entrega otra expresin simblica compuesta por
5

factor

factor(S)

productos de polinomios de grado menor.


>>sym x
>> S = x^3 + 4 * x^2 11 * x 30
>> factor(S)
ans =
(x + 2) * (x 3) * (x + 5)

COMANDOS simplify, simple y pretty


COMAND
O

simplify

simple

pretty

SINTAXIS

simplify(S)

DESCRIPCIN Y EJEMPLO
Genera la forma ms simple posible de una expresin.
>>syms x y
>> S = x * (x * (x - 8) + 10) 5
S=
x * (x * (x - 8) + 10) 5
SA = simplify(S)
SA =
x^3 8 * x^2 + 10 *x -5
>>simplify((x + y) / 1 /x + 1 / y))
ans =
x*y

Devuelve la expresin ms corta a partir de la original.


>>syms x
>> S = (x^3 4 * x^2 + 16 * x) / (x^3 + 64)
S=
simple(S)
(x^3 4 * x^2 + 16 * x) / (x^3 + 64)
[F how] = simple(S) >>F = simple(S)
F=
x(x + 4)

pretty(S)

Visualiza la expresin como se escribe normalmente


>>syms a b c x
>> S = sqrt(a * x^2 + b * x + c)
>>pretty(S)

Creando Funciones Matemticas Simblicas

Existen dos formas para crear funciones: utilizando expresiones simblicas, o utilizando un
archivo m.
Utilizando Expresiones Simblicas:
La secuencia de commandos:
syms x y z
r = sqrt(x^2 + y^2 + z^2)
t = atan(y/x)
f = sin(x*y)/(x*y)
generan las expresiones simblicas r, t, y f. Con estas funciones se puede: diferenciar con la
instruccin diff, integrar con int, sustituir con subs, y otras funciones de las Herramientas
Matemticas Simblicas (SymbolicMathToolboxfunctions) para manipular tales expresiones.
Creando un archivo m
Los archivos m permiten un uso general de funciones. Suponer por ejemplo, que se desea
crear la funcin sincsin(x)/x. Para hacer esto, se crea el archivo de funcinm:
function z = sinc(x)
%SINC La functionsinc simblica
% sin(x)/x. Esta funcin
% acepta un sym como el argumento de entrada.
if isequal(x,sym(0))
z = 1;
else
z = sin(x)/x;
end
CLCULO SIMBLICO AVANZADO
Matlab realiza los clculos avanzados equivalentes a los realizados normalmente, como la
solucin de: una ecuacin no lineal, sistemas de ecuaciones no lineales, derivacin,
integracin, solucin de ecuaciones diferenciales ordinarias (EDOs), etc.
Solucin de una ecuacin no lineal.
Una ecuacin no lineal puede tener una o ms variables simblicas. Si tiene una variable, la
solucin es numrica. Si tiene ms de una variable, la solucin se obtiene para una variable
en funcin de las dems.
Se utiliza el comando solve.
Sintaxis:

h = solve(eq) ,

h = solve(eq, var)

eq puede ser el nombre de una expresin simblica o una expresin completa.


Cuando la expresin no contiene el smbolo = , se resuelve para eq = 0.
Se pueden resolver f(x) = g(x)
solve(eq) opera en funcin de la variable simblica por defecto. Para obtener la
solucin para otra variable, usar solve(eq, var)
Si la ecuacin tiene ms de una solucin, la salida h ser un vector columna
simblico, donde cada elemento representar una solucin.

Ejemplos:
1.- Resolver con clculo simblico:

e(2z) = 5

>>syms a b x y z
>> h = solve(exp(2*z) 5)
h=
* log(5)
2.- Resolver con clculo simblico:

f(x) = x2 x - 6 = 0

>> S = x^2 x 6
S=
x^2 x 6
>> k = solve(S)
k=
[-2]
[3]
3.- Resolver con clculo simblico:

cos(2y) + 3 sen(y) = 2

>>solve(cos(2 * y) + 3 * sin(y) = 2)
ans =
[1/2 * pi]
[1/6 * pi]
[5/6 * pi]
4.- Resolver con clculo simblico: f(x) = ax2 + 5bx + 20
>> T = a * x ^ 2 + 5 * b * x + 20
T=
a * x ^ 2 + 5 * b * x + 20
>>solve(T)
ans =
[1 / 2 / a * ( -5 * b + ( 25 * b ^ 2 80 * a ) ^ (1 / 2 )) ]
[1 / 2 / a * ( -5 * b - ( 25 * b ^ 2 80 * a ) ^ (1 / 2 )) ]
>> M = solve(T, a)
M=
8

-5 * (b * x + 4) / x ^2
4.- Introduciendo la funcin como cadena de caracteres, resolver con clculo simblico:
f(x) = ax2 + 5bx + 20
>>ts = solve(4 * t * h ^ 2 + 20 * t 5 * g)
ts =
5 / 4 * g / (h ^2 + 5)
NOTA: Las variables no existen como simblicas independientes.
Resolviendo para otra variable:
gs = solve(4 * t * h ^ 2 + 20 * t 5 * g, g)
gs =
4/5*t*h^2+4*t
Solucin de Sistemas de Ecuaciones no Lineales.
Se utiliza tambin el comando solve.
Si se tiene un sistema del mismo nmero de ecuaciones que de incgnitas, la solucin es
numrica. En caso contrario, la solucin es simblica.
Un sistema de ecuaciones no lineales puede tener una solucin o varias.
Sintaxis: var = solve(eq1, eq2, , eqn) ;

var = solve(eq1, eq2, eqn, var1, var2, varn)

Tambin se utiliza:
[varA, varB, varC] = solve(eq1, eq2, eq3)
Cuando se tiene arreglos como salidas.
Ejemplo: Resolver el sistema: 10x + 12y + 16t = 0 ; 5x y = 13t
>> syms x y t
>> S = 10 * x + 12 * y + 16 * t;
>> [xt yt] = solve(S, 5 * x y = 13 * t)
xt =
2*t
yt =
-3 * t
% El sistema se resuelve para x e y (primeras variables)
Ejemplo: Resolver las mismas ecuaciones, pero para y y t.
>> [tx yx] = solve(S, 5 * x y = 13 * t, y, t)
tx =
1/2 * x
yx =
-3 / 2 * x
% El sistema se resuelve para t e y (variables definidas)
Para la salida como una estructura:
AN = solve(eq1, eq2, eq3)
AN es una estructura con elementos con los nombres de las variables que dan la solucin.
9

Para ver una variable solucin: AN.nombre_var


Ejemplo: Utilizando estructuras como salidas, resolver el sistema:
10x + 12y + 16t = 0
5x y = 13t
>> syms x y t
>> S = 10*x + 12*y + 16*t
S=
16*t + 10*x + 12*y
>> AN = solve(S, '5*x - y = 13 * t')
AN =
x: [1x1 sym]
y: [1x1 sym]
>> AN.x
ans =
2*t
>> AN.y
ans =
(-3)*t
Ejemplo: Determinar los puntos de interseccin entre la circunferencia y la recta dada por las
ecuaciones:
(x - 2)2 + (y 4)2 = R2
Y = x/2 + 1
>> syms x y R
>> [xc, yc] = solve('(x - 2)^2 + (y - 4)^2 = R^2','y = x/2 + 1')
xc =
((4*R^2)/5 - 64/25)^(1/2) + 14/5
14/5 - (4/5*R^2 - 64/25)^(1/2)
yc =
((4*R^2)/5 - 64/25)^(1/2)/2 + 12/5
12/5 - ((4*R^2)/5 - 64/25)^(1/2)/2
Ejemplo: Resolver el sistema anterior, pero utilizar una estructura de salida.
>> COORD = solve('(x - 2)^2 + (y - 4)^2 = R^2','y = x/2 + 1')
COORD =
x: [2x1 sym]
y: [2x1 sym]
>> COORD.x
ans =
((4*R^2)/5 - 64/25)^(1/2) + 14/5
14/5 - (4/5*R^2 - 64/25)^(1/2)
>> COORD.y
ans =
((4*R^2)/5 - 64/25)^(1/2)/2 + 12/5
12/5 - ((4*R^2)/5 - 64/25)^(1/2)/2
10

Para trabajar con las funciones f(x) = x3 + 1y g(z) = z2 + 1 podemos hacerlo creando las
expresiones simblicas correspondientes por cualquiera de los dos mtodos:
>>clear
>>syms x, f=x^3+1, g=z^2+1
f=
x^3+1
g=
z^2+1
Una vez denidas podemos realizar con ellas las operaciones habituales: calcular su valor en
unpunto, derivarlas, integrarlas, etc.
Si en una expresin simblica queremos sustituir una variable por otra o por una constante
para calcular su valor en un punto, utilizamos el comandosubs:
Sintaxis:

subs(f, antiguas, nuevas)

Sustituye las variables antiguas por las nuevas. Si hay ms deuna variable las escribiremos
entre llaves y separada por comas.
Ejemplo, calcularf(3) yg(1)
>>subs(f,x,3),subs(g,z,1)
ans=
28
ans=
2
Notar que se escribe subs(g,z,1), en vez de subs(g,z,1), ya que al no estar declarada z
como variable simblica, al ejecutar esta ultima orden el programa nos devolvera un
mensajede error indicando que la variable z no existe.
>>subs(g,z,3)
???Undefinedfunctionor variable z.
Ejemplo: Construir f = ax2 +bx +c y sustituir x por t. Para a=2, b=1, c=0,obtener el valor def,
cuando t=2 y t=[1:4].
>>symsxa b c
>>f=a*x^2+b*x+c
f=
a*x^2+b*x+c
>>syms t
>>g=subs(f,x,t) %sustituyeen f, xpor t
g=
a*t^2+b*t+c
>>h=subs(g,{a,b,c},{2,1,0})
h=
11

2*t^2+t
>>u=subs(h,t,2)
u=
10
>>v=subs(h,t,[1:4])
v=
3 10 21 36
DERIVACIN E INTEGRACIN
Para derivar e integrar una expresin simblica f, se utilizan los comandos di e int, que
actan como se indica en el siguiente cuadro:
COMANDO

DEFINICIN

diff(f)

Deriva f respecto de la variable simblica preferente.

diff(f,u)

Deriva f respecto a la variable u.

int(f)

Calcula una primitiva de f respecto de la variable simblica


preferente.

int(f,s)

Calcula una primitiva de f respecto de la variable s.

int(f,a,b)

Calcula la integral denida de f respecto de la variable simblica


preferente.

int(f,s,a,b)

Calcula la integral denida de f respecto de la variable s.

Nota: Por defecto, la variable preferente en una expresin simblica es la letra x. Si sta no
interviene en la expresin, se toma la letra minscula ms prxima a ella segn el
orden alfabtico y que no sea ni la i ni la j. En caso de que haya dos (una anterior y
otra posterior), se considera variable preferente el carcter posterior.
DERIVACIN

diff(f) ;

diff(S, u) ;

diff(S, u, n)

n es el orden de la derivada a calcular.


Ejemplo: Determinar la derivada de la funcin f(x) = e (x4)
>> syms x y t
>> S = exp(x^4)
S=
exp(x^4)
>> diff(S)
ans =
4*x^3*exp(x^4)
Ejemplo: Determinar la derivada de la funcin f(x) = (1 4x) 3
12

>> diff((1 - 4*x)^3)


ans =
(-12)*(4*x - 1)^2
Ejemplo: Determinar la derivada de la funcin f(x) = 5y2 cos(3t)
>> R = 5 * y^2*cos(3*t)
R=
5*y^2*cos(3*t)
>> diff(R)
ans =
10*y*cos(3*t)
>> diff(R,t)
ans =
(-15)*y^2*sin(3*t)
>> diff(S,2)
ans =
12*x^2*exp(x^4) + 16*x^6*exp(x^4)
INTEGRACIN
Se pueden evaluar integrales definidas o indefinidas.
Sintaxis:

int(S) ;

int(S, var)

Ejemplos: Construir las expresiones simblicas f =ax+b y g =y2+z y calcular:


1.

fdx

2.

fda

3.

g dy
1

4.

g dz
0

Solucin:
>>syms ab x; f=a*x+b; g=y^2+z;
>>I1=int(f)
I1=
1/2*a*x^2+b*x

% practicamos los dos modos de definir expresiones

% integra respecto de la variable preferente x

13

>>I2=int(f,a)
I2=
1/2*a^2*x+b*a

% integra respecto de a

>>I3=int(g)
I3=
1/3*y^3+z*y

%integra respecto de la variable preferente y. Equivale a int(g,y).

>>I4=int(g,z,0,1)
I4=
y^2+1/2

%integra respecto de la variable z.

SOLUCIN DE ECUACIONES DIFERENCIALES ORDINARIAS (ODEs)


Se utiliza el comando:

dsolve(eq) ;

dsolve(eq, var)

eq:
1. Toma como defecto la variable independiente t.
2. Si se requiere que sea otra variable independiente, se especifica en var.
3. Para introducir el trmino diferencial, iniciar con D.
dy
+3 y=100
Ejemplo: dt
se introduce como: Dy + 3*y = 100
4. La segunda derivada se representa como D2y, la tercera como D3y, y as
sucesivamente.
2
d y
dy
+ 3 +5 y=sent , se introducira como: D2y + 3*Dy + 5*y = sin(t)
2
Ejemplo:
dt
dt
5. No se requiere definir las variables como simblicas.
6. En la solucin que ofrece Matlab, se utilizan C1, C2, C3, etc. Como constantes de
integracin.
SOLUCIN GENERAL
Ejemplo: Resolver

dy
=4 t +2 y
.
dt

>> dsolve('Dy = 4*t + 2*y')


ans =
C3*exp(2*t) - 2*t 1
Ejemplo: Resolver

d2 x
dx
+2 + x=0 .
2
dt
dt

>> dsolve('D2x + 2*Dx + x = 0')


14

ans =
C5/exp(t) + (C6*t)/exp(t)
Ejemplo: Resolver

ds
=a x 2
dt

>> dsolve('Ds = a * x^2')


ans =
a*t*x^2 + C8
Ejemplo: Resolver la ec. anterior, pero con respecto a x:

ds
=a x 2
dx

>> dsolve('Ds = a * x^2','x')


ans =
(a*x^3)/3 + C10

Ejemplo: Resolver la ec. anterior, pero con respecto a a:

ds
=a x 2
da

>> dsolve('Ds = a * x^2','a')


ans =
(a^2*x^2)/2 + C12
SOLUCIN PARTICULAR
La solucin de una ODE en forma particular, se obtiene cuando se tiene planteado el
problema de los valores iniciales o a la frontera. Una ODE de primer orden, requiere una
condicin inicial, una de 2do orden requiere 2 condiciones iniciales, y as sucesivamente.
Sintaxis para 1er orden:

dsolve(eq, cond1,var)

Sintaxis para orden superior:

dsolve(eq, cond1,cond2,,var)

Para introducir las condiciones iniciales, se escriben de la siguiente manera:


Matemticas
y(a) = A
y() = A
y(a) = A

Ejemplo: Resolver

Matlab
y(a) = A
Dy(a)
D2y(a) = A

dy
+ 4 y=60
, con una condicin inicial y(0) = 5.
dt
15

>> dsolve('Dy + 4 * y = 60','y(0) = 5')


ans =
15 - 10/exp(4*t)
Ejemplo: Resolver

d2 y
dy
'
2 +2 y=0, y ( 0 )=1, y ( 0 ) =0
2
dt
dt

>> dsolve('D2y - 2*Dy + 2 * y = 0','y(0) = 1','Dy(0) = 0')


ans =
exp(t)*cos(t) - exp(t)*sin(t)
GRFICOS PARA EXPRESIONES SIMBLICAS
Se utiliza el comando ezplot.
Sintaxis: ezplot(S)

ezplot(S, [min, max])

ezplot(S, [xmin, xmax, ymin, ymax])

Si la expresin a graficar tiene una sola variable simblica, se graficar S(var) vs var.
Si tiene dos variables simblicas, graficar una contra la otra.
Si se tiene una sola variable simblica, el grfico se realizar por defecto en el intervalo
-2var2.
Para representar y frente a x, donde x = x(t) e y = y(t), se utilizan las siguientes formas:
ezplot(S1, S2)o

ezplot(S1, S2, [min, max])

S1 y S2 tienen la misma variable independiente. Se grafican S2(var) contra S1(var) con


dominio: 0 < var < 2
Ejemplo: Realizar el grfico de la funcin simblica:

( 3 x+2 ) / ( 4 x1 ) .

Ejemplo: Realizar el grfico de la funcin simblica:

4 x 218 x +4 y 2+12 y11=0

Ejemplo: Realizar el grfico de la funcin simblica:

x=cos ( 2 t ) , y=sen( 4 t) .

GRFICOS III
Tambin es posible dar formato al texto dentro de la cadena para comandos grficos a
partir de parmetros opcionales del tipo propiedades y valores. La sintaxis es en general
la misma que para los comandos xlabel, ylabel, title y text.
16

Por ejemplo, la sintaxis del comando text:

text(x,y,texto,Propiedades,Valores)

Algunas de las propiedades y valores permitidos se muestran en la siguiente tabla:


Propiedad
rotation
FontAngle
FontName

FontSize
FontWeight
Color
BackgroundCol
or
EdgeColor

LineWidth

Descripcin
Especifica la orientacin del texto
Permite cambiar entre caracteres
en itlica o normales
Especifica la fuente de letra de
texto.

Valores posibles
Escalar (grados). Por omisin: 0
normal, italic.
Por omisin: normal
Nombres de fuente disponibles
en el sistema (Times, Arial,
Lucida, etc.)
Escalar (puntos). Por omisin:
10
Ligth, normal, bold
Por omisin: normal
Colores del sistema.
Por omisin: ninguno
Colores del sistema.
Por omisin: ninguno
Colores del sistema.
Por omisin: ninguno

Especifica el tamao de la
fuente.
Especifica el ancho de los
caracters.
Especifica el color del texto.
Especifica el color del fondo (rea
rectangular)
Especifica el color del borde de
una caja rectangular alrededor
del texto.
Especifica el grosor del borde de
una caja rectangular alrededor
del texto

Escalares (puntos).
Por omisin: 0.5
1

Grafica de funcion1 y primera y segunda derivada

120

Funcin
Primera Derivada
Segunda Derivada

100
80

Eje

60

Graficos f, pd, sd
Tres Grficos

40
20
0
-20
-40
-2

-1

Eje

El comando axis.
Cuando el comando plot(x,y) se ejecuta, Matlab crea los ejes correspondientes para la
representacin grfica, basndose en los valores mximo y mnimo de los valores
posibles que toman x e y.
El comando axis permite cambiar el intervalo de los ejes, as como su apariencia.
Posibles formatos del comando axis :
17

axis([xmin,xmax,ymin,ymax])

Establece los lmites de ambos ejes.

Axis equal

Establece la misma escala en ambos ejes.

Axis square

Establece la regin de los ejes en un cuadrado.

axistight
datos.

Establece los lmites de los ejes en funcin del rango de los

El comando grid.
gridon
grid of

Aade una cuadrcula a la representacin grfica.


Elimina la cuadrcula de la representacin grfica.

Ejemplo:Hacer un grfico de la intensidad de la luz (y) en funcin de la distancia (x), en


donde se muestren dos grficas que permita comparar los datos tericos
respecto a los obtenidos en forma experimental. La grfica de los datos tericos
se deben mostrar en el intervalo de 10 a 22 cm en incrementos de 0.1, y la
intensidad se obtiene por la expresin:
y = 95000 / x2 .
Los datos experimentales se obtuvieron en el intervalo de 10 a 22 cm en
incrementos de 2, obtenindose las intensidades: y = [950 640 460 340 250
180 140]
Poner en el grfico: ttulo en 14 puntos, etiquetas x e y, una leyenda en la
posicin 14,700 que indique: Comparativa entre datos tericos y
experimentales.
El grfico correspondiente a los datos experimentales debe contener marcadores
de tamao 10 puntos con redondeo rojo.
El ancho de la lnea del grfico de los datos tericos debe mostrarse con un
ancho de 1 punto, y el de los datos experimentales con ancho de lnea de 2
puntos.
El grfico debe contener en la esquina superior derecha, las leyendas: Terico y
Experimental.
El Grfico que debe obtener como se muestra en la siguiente figura.

18

Una vez obtenido el grfico anterior, modificarlo utilizando las herramientas de la


Ventana de Grficos, y obtener el grfico que se muestra a continuacin.

Intensidad de la luz en funcin de la Distancia

1200

1000

800
Comparativa entre datos tericos y experimentales
600

400

200

10

12

14
16
18
DISTANCIA (cm)

20

22

24

Intensidad de la luz en funcin de la Distancia

1200

1000

800
INTENSIDAD (lux)

INTENSIDAD (lux)

Teorico
Experimental

Comparativa entre datos tericos y experimentales


600

Teorico
Experimental

400

200

10

12

14

16
DISTANCIA (cm)

19

18

20

22

24

Intensidad de luz vs Distancia

1000

Datos experimentales
Datos tericos

900
800

Intensidad de Luz

700
600
500
400
300
200
100
10

12

14

16
Distancia

18

20

22

CURVA DEL FLUJO DEL FLUIDO

300

60
250

Rapidez de Corte

50
200
40
150
30
100
20

Prueba Color

50

10
0
-20

20

40

60

80

100

120

Esfuerzo de Corte

140

160

180

200

Grficos con Ejes Logartmicos.


En el caso de que se requieran grficos con ejes logartmicos, utilizar los siguientes
comandos:

semilogy(x,y):
eje x.
semilogx(x,y):
eje y.
loglog(x,y):

Escala logartmica(base 10) para el eje y, y lineal para el


Escala logartmica(base 10) para el eje x, y lineal para el
Escala logartmica (base 10) en ambos ejes.

De igual manera se pueden aadir especificadores, propiedades y valores a los


comandos.
20

Comando: subplot
Sintaxis:

Permite presentar ms de un grfico en una sola ventana.

subplot(m,n,p)

Donde:
m, n
lneas y dos columnas.
P

matriz en las que se divide la ventana. Ejemplo: 2 X 2: Dos

No. consecutivo de asignacin a cada grfico.

Ejemplo: Mostrar 4 grficos con las combinaciones de las diferentes escalas: lineal,

y=2(0.2x+10 ) . Generar vector x con

semilogx, semilogy, y loglog, para la funcin:


linespace para 1000 valores de 0.1 a 60.

Grficos Especiales.
Grficos de: Barras, de Escalera, de Pastel (o Circulares), de Tallo (o de Lneas Verticales),
etc.
Grficos de Barras:

Verticales u Horizontales.

Verticales:

bar(x,y)

Sintaxis:

Horizontales:

Sintaxis:

Grficos de Escalera:

barh(x,y)
Sintaxis:

stairs(x,y)

Grficos de Tallo o Lneas Verticales:


Grficos de Pastel o Pie:

Sintaxis:

Sintaxis:

stem(x,y)

pie(y)

Ejemplo:
Hacer las grficas para todos los tipos de grficos para el ejemplo de ventas
de los aos de 1988
a 1994. (Utilice el comando: subplot )
ventas (en millones de pesos): 8 12 20 22 18 24 27

Histograma:

Sintaxis:

hist(y, no. de intervalos)

NOTA: Por omisin, el nmero de barras es 10.

21

Hacer ejemplo para los siguientes datos: 58 73 73 53 50 48 56 73 73 66 69 63 74


82 84
91 93 89 91 80 59 69 56 64 63 66 64 74 63 69

El comando hist se puede utilizar en operaciones que proporcionan salidas numricas en


lugar de grficas.
Para obtener el nmero de datos que caen en un intervalo, se puede escribir:
n
=
hist(y) o n = hist(y, No_Int) o n = hist(y,x). La salida n es un vector, donde el nmero
de elementos es el nmero de intervalos.
Se puede obtener tambin la Marca de Clase utilizando: [n xout] = hist(y) o [n xout] =
hist(y, No_Int)
Donde: xout es un vector que contiene las marcas de clase.

Tarea:
Obtener en una sola figura, los seis graficos indicados en la figura siguiente.
Generar el histograma y practicar las opciones de hist.

GRFICOS IV
Proporcionan una forma prctica de representar datos de ms de 2 variables.

a Grficos de lnea.
Se obtienen al unir puntos en un espacio tridimensional. La forma ms simple es la
funcin:
plot3
22

Sntaxis:

plot3(x, y, z, Especificadores de lnea, Propiedades,Valores)

Donde:

x, y, z representan los vectores con las coordenadas de los puntos


Especificadores definen el tipo y color de la lnea y de los marcadores.
Propiedades y Valores Son opcionales que especifican el grosor de la lnea,
el tamao y color del borde y el relleno de los marcadores.

Notas:

Los tres vectores con las coordenadas de los puntos deben tener el mismo nmero
de elementos.
Los especificadores de lnea, propiedades y valores son equivalentes a grficos 2D.

Ejemplo:

Obtener el grfico 3-D si las coordenadas x, y, z

x= t sen ( 2t ) ; y = t cos ( 2 t ) ; z=0.5 t

funcin de la variable t por las ecuaciones:


Obtener el grfico en el intervalo:

estn determinadas en

0 t 6

t=0:0.1:6*pi;

10
8

x=sqrt(t).*sin(2*t);
z

y=sqrt(t).*cos(2*t);

z=0.5.*t;

0
5

5
0

plot3(x,y,z,'r','linewidth',2)

0
-5

-5

grid on
title(Grfico de 3 Dimensiones);
xlabel('x-Label');ylabel('y-Label');zlabel('z-Label');

b Grficos de Malla y de Superficie.


Grficos tridimensionales para representar funciones que tienen la forma
donde x e y son variables independientes, y z es la dependiente.

z = f(x, y) ,

Los grficos de malla y de superficie se generan en tres pasos. El primero consiste en


crear una malla o rejilla en el plano x y que cubra el dominio de la funcin. El segundo
es calcular el valor de z en cada punto de la rejilla.
Creacin de la rejilla en el plano x y.

23

Grid :Una rejilla se puede definir como un conjunto de puntos correspondientes al plano
x y del dominio de la funcin. La densidad de la rejilla debe ser definida por el usuario.
Ejemplo: Rejilla con densidad -1 x 3 y

1 y 4 (20 puntos)

En esta rejilla la distancia entre los puntos es de 1. Los puntos se pueden definir
mediante dos matrices X e Y que contienen las coordenadas de todos los puntos x e y,
respectivamente.
La instruccin meshgrid se puede utilizar para crear automticamente las matrices X e
Y .
Sintaxis:

[X, Y] = meshgrid(x, y)

Donde X e Y son las matrices con las coordenadas x, y de la rejilla a construir, y x e y


son vectores que representan el dominio de x y de y.
Ejemplo: Las matrices de malla X e Y del caso anterior se obtienen de la siguiente
manera:
>> plot3(x,y,z,'k','linewidth',1)
>>grid on
>>xlabel('x');ylabel('y');zlabel('z');
>> x = -1:3;
>> y=1:4;
>> [X, Y]=meshgrid(x,y)

Y=

X=
-1

-1

-1

-1

1
2
3

4 sido
4 creadas,
4
4 stas se pueden utilizar para
Una vez que las matrices de rejilla han
4 de la rejilla.
calcular el valor de z en cada punto
Clculo del valor de z en cada punto de la rejilla.
Los valores de z se pueden calcular con operaciones elemento a elemento a partir de los
valores correspondientes de x e y.

24

x y2
z= 2 2
x +y

Ejemplo: Si los valores de z vienen dados por la funcin:

, el valor de

cada punto en la rejilla se puede calcular mediante:


>> Z=X.*Y.^2./(X.^2+Y.^2)
Z=
-0.5000

0.5000

0.4000

0.3000

-0.8000

0.8000

1.0000

0.9231

-0.9000

0.9000

1.3846

1.5000

-0.9412

0.9412

1.6000

1.9200

Una vez obtenidas las tres matrices, se pueden utilizar para generar los grficos de malla
o de superficie.
Creacin de grficos de malla y de superficie.
Para obtener el grfico de malla, se utiliza la instruccin: mesh
Sintaxis:

mesh(X, Y, Z)

Para obtener el grfico de superficie utilizar la instruccin: surf


Sintaxis:

surf(X, Y, Z)

Ejemplo: Hacer los grficos de malla y de superficie para


anteriores, y b) para incrementos de x e y de 0.1

a) el caso de vectores

NOTAS:

Los grficos creados tienen colores que pueden variar en funcin de la magnitud z.
La variacin del color se aade como caracterstica a la visualizacin de grficos 3D. Se pueden cambiar las propiedades para que el color sea constante utilizando el
editor grfico de la ventana de grficos. EL color se puede cambiar en
MeshProperties. Tambin se puede utilizar la instruccin colormap (C), donde C es
un vector de 3 elementos. Cada elemento del vector representa la intensidad de
los colores rojo, verde y azul (RGB), respectivamente. Estos elementos pueden
tomar valores entre 0 (mnima intensidad) y 1 (mxima intensidad). Algunas
tonalidades tpicas ms comunes son:
C = [0 0 0] Negro C = [1 0 0] Rojo

C = [0 0 1] Azul
[0.5 0.5 0.5] Gris

C = [0 1 0] Verde

C = [1 1 0] Amarillo

C = [1 0 1] Magenta

C=

Las instrucciones mesh y surf se pueden utilizar en la forma mesh(Z) y surf(Z).


En estos casos, los valores de Z se representan en funcin de los ndices de la
25

propia matriz Z. El nmero de fila est sobre el eje x, y el nmero de columna


sobre el eje y.

Otras instrucciones para generar grficos tridimensionales.


Existen otras instrucciones utilizadas para representar grficos tridimensionales, los
cuales se muestran en la siguiente tabla. Para esto, se utiliza la funcin

z=1.81.5 x + y sen ( x ) cos ( 0.5 y )


2

en el dominio: -3 x 3 y -3 y 3

>> x=-3:0.25:3;
>> y=-3:0.25:3;
>> [X, Y]=meshgrid(x,y);
>> Z=1.8.^(-1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X);
>>mesh(X,Y,Z)
>>xlabel('x');ylabel('y');zlabel('z');

Tipo de Grfico
Grfico de Malla
Grfico de Superficie
Grfico de Malla con cortina (dibuja una cortina alrededor de
la malla)
Grfico de Malla con contorno (dibuja un contorno debajo de
la malla)
Grfico de Superficie con contorno (dibuja un contorno
debajo de la superficie)
Grfico de superficie con alumbrado
Grfico de cascada (dibuja una malla unidireccional)
Grfico de contorno 3-D
(n es el No. de niveles de contorno y es opcional)
Grfico de contorno 2-D
(dibuja proyecciones de niveles de contorno sobre el plano xy)
(n es en No. de niveles de contorno y es opcional)

Sintaxis
mesh(X, Y, Z)
surf(X, Y, Z)
meshz(X, Y, Z)
meshc(X, Y, Z)
surfc(X, Y, Z)
surfl(X, Y, Z)
waterfall(X, Y, Z)
contour3(X, Y, Z, n)
contour(X, Y, Z, n)

Grficos Especiales en 3-D.


Tipo de
Grfico
Esfera

Cilindro

Descripcin
Devuelve las matrices X, Y y Z de una
esfera unitaria de 20 secciones. Se
puede especificar n, que es el No. de
secciones que se desean.
Devuelve las matrices X, Y y Z de un
26

Sintaxis
sphere(n)
o: [X, Y, Z]=sphere(20);
surf(X, Y, Z)
[X, Y, Z] cylinder(r)

cilindro de perfil r.

>>
>>
>>
>>
>>

Grfico de
Barras 3-D

Cada elemento de Y es una barra. Las


columnas se agrupan para la
representacin grfica.

Grfico de tallo
o lneas
verticales 3-D

Dibuja una secuencia de puntos con


marcadores y lneas verticales a partir
del plano x-y

Grfico de
dispersin 3-D

Grfico de pie
3-D

explode es un vector de la misma


longitud que X compuesto por unos y
ceros. Un uno indica la porcin del pie
que estar separada del resto de las
secciones

t=linspace(0,pi,20);
r=1+sin(t);
[X,Y,Z]=cylinder(r);
surf(X, Y, Z)
axis square
bar3(Y)
>> Y=[1 6.5 7;2 6 7;3 5.5
7;4 5 7; 3 4 7; 2 3 7;1 2 7];
>> bar3(Y)
stem3(X, Y, Z)
>> t = 0:0.2:10;
>> x=t;
>> y=sin(t);
>> z=t.^1.5;
>> stem3(x,y,z,'fill')
>> grid on
>>
xlabel('x');ylabel('y');zlabel('
z')
scatter3(X, explode)
>> t = 0:0.2:10;
>> x=t;
>> y=sin(t);
>> z=t.^1.5;
>> scatter3(x,y,z,'filled')
>> grid on
>> colormap([0.1 0.1 0.1])
>>
xlabel('x');ylabel('y');zlabel('
z')
pie3(X, explode)
>> X=[5 9 14 20];
>>explode=[0 0 1 0];
>> pie3(X,explode)

La instruccin view
Controla la direccin desde la que se ver el grfico generado. Para ello se especifica la
direccin en trminos de los ngulos de azimuth y elevacin, (azimuth: ngulo entre ejes
x y, elevacin: ngulo entre los ejes x- z), o definiendo un punto en el espacio desde el
cual se ver el grfico.
Sintaxis:

view(az, el)

view([az, el])

Donde:

az es el asimuth, en grados a partir del eje y negativo, y definido positivo en


la direccin contraria a las manecillas del reloj.
27

el en grados desde el plano x-y. Un valor positivo indicar un ngulo que se abre
en la direccin z.
los ngulos de visin por omisin, son:

az = 20 , el = 30.

Ejemplo: Para el ejemplo de las grficas 3-D, representar el grfico de superficie con
ngulos de visin az = 20 y el = 35.
>> x=-3:0.25:3;
>> y=-3:0.25:3;
>> [X Y]=meshgrid(x,y);
>> Z=1.8.^(-1.5*sqrt(X.^2+Y.^2)).*cos(0.5*Y).*sin(X);
>>surf(X, Y, Z);
>>view(20,35);
Escogiendo el azimuth y la elevacin apropiados, la instruccin view permite dibujar
proyecciones 3-D en varios planos, de acuerdo con:
Plano de Proyeccin

Valor az

x-y (vista area)

90

x-z (vista lateral)

y-z (vista lateral)

90

Valor el

Ejemplo: Ver en vista area el grfico del resorte.


t=0:0.1:6*pi;
x=sqrt(t).*sin(2*t);
y=sqrt(t).*cos(2*t);
z=0.5.*t;
plot3(x,y,z,'k','linewidth',1)
view(0,90)
grid on
xlabel('x');ylabel('y');zlabel('z');

TAREA 11.

28

La Ley de los Gases Ideales relaciona presin, temperatura y volumen de un gas


mediante:

P=

nRT
V

donde P es la presin en Pa, n es el nmero de moles, R =

8.31 (J/mol-K) es la constante de los gases, T es la temperatura en K y V es el


volumen en m3.Hacer un grfico en 3-D que muestre la variacin de la presin
(variable dependiente, eje z), con respecto al volumen (variable independiente eje
y) y la temperatura (variable independiente, eje y) de un mol de gas. Los dominios
del volumen y la temperatura son: 0.5 * 10-3 V 2 * 10-3, y 273 T 473 K.
2

Las molculas de un gas que se encuentran en el interior de un recipiente se


mueven en todas las direcciones a diferentes velocidades. La Ley de distribucin
de velocidades de Maxwell proporciona la distribucin probabilstica P(v) en funcin
de la temperatura y de la velocidad:

P ( v )=4

M
2 RT

3
2

v 2 e ( M v )/ (2 RT )

Donde M es la masa molecular del gas en kg/mol, R = 8.31 (J/mol-K) es la


constante de los gases, T es la temperatura en K y v es la velocidad de las
molculas en m/s.
Obtener el grfico 3-D de P(v) y T, para 0 v 1000 m/s y 70 T 320 K,
para molculas de O2 (masa molecular 0.032 kg/mol).

29

You might also like