Professional Documents
Culture Documents
Algebra Lineal
Simplificacin
Solucin de ecuaciones
Aritmtica
Variable
de
OperacionesAritmticas
FuncionesEspeciales
Acceso a Maple
OperacionesBsicas
TransformacionesIntegrale
s
nombre_objeto = sym(cadena)
symsnombre_variablenombre_variablenombre_variable..
>>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');
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)
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
pretty(S)
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)
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) ;
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 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:
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)
diff(f,u)
int(f)
int(f,s)
int(f,a,b)
int(f,s,a,b)
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)
int(S) ;
int(S, var)
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
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
>>I4=int(g,z,0,1)
I4=
y^2+1/2
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
d2 x
dx
+2 + x=0 .
2
dt
dt
ans =
C5/exp(t) + (C6*t)/exp(t)
Ejemplo: Resolver
ds
=a x 2
dt
ds
=a x 2
dx
ds
=a x 2
da
dsolve(eq, cond1,var)
dsolve(eq, cond1,cond2,,var)
Ejemplo: Resolver
Matlab
y(a) = A
Dy(a)
D2y(a) = A
dy
+ 4 y=60
, con una condicin inicial y(0) = 5.
dt
15
d2 y
dy
'
2 +2 y=0, y ( 0 )=1, y ( 0 ) =0
2
dt
dt
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
( 3 x+2 ) / ( 4 x1 ) .
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
text(x,y,texto,Propiedades,Valores)
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
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])
Axis equal
Axis square
axistight
datos.
El comando grid.
gridon
grid of
18
1200
1000
800
Comparativa entre datos tericos y experimentales
600
400
200
10
12
14
16
18
DISTANCIA (cm)
20
22
24
1200
1000
800
INTENSIDAD (lux)
INTENSIDAD (lux)
Teorico
Experimental
Teorico
Experimental
400
200
10
12
14
16
DISTANCIA (cm)
19
18
20
22
24
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
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
semilogy(x,y):
eje x.
semilogx(x,y):
eje y.
loglog(x,y):
Comando: subplot
Sintaxis:
subplot(m,n,p)
Donde:
m, n
lneas y dos columnas.
P
Ejemplo: Mostrar 4 grficos con las combinaciones de las diferentes escalas: lineal,
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)
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:
21
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:
Donde:
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:
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');
z = f(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)
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
, el valor de
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)
surf(X, Y, Z)
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=
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)
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
Grfico de tallo
o lneas
verticales 3-D
Grfico de
dispersin 3-D
Grfico de pie
3-D
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:
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
90
90
Valor el
TAREA 11.
28
P=
nRT
V
P ( v )=4
M
2 RT
3
2
v 2 e ( M v )/ (2 RT )
29