You are on page 1of 7

INSTITUTO POLITECNICO NACIONAL

UNIDAD ESIME CULHUACAN


Profesor: Francisco Javier Benitez Diaz
fecha: 5 enero 2012
*****************************************************
Comandos basicos de reduce:
Manejo de numeros complejos:
z:= 3 + 4*i;
repart(z);
%parte real
impart(z);
%parte imaginaria
conj z;
%conjugado de z
1. Algebra.
(1+x)^4 ;
%por defaul expande
%Si no queremos que expanda le decimos:
off exp;
factor x;
ejemplo:
2*x+a*x+5;

factoriza en x

Funciones:

procedure
procedure
procedure
procedure

f(x); x^2; funcion de una variable


f(x,y); x+y;
funcion de dos variables
f(a,b);plot(2**x-x**3,x=(a .. b));
f(a,b,c,d);plot(2**x-x**3,x=(a .. b),y=(c .. d));

procedure p(n,x); sub(y=0,df(1/(y**2-2*x*y+1)**(1/2),y,n)/(for k:=1:n product k);


procedure p(n,x);
begin
scalar funcion,derivada,substitucion,fact;
funcion:=1/(y**2-2*x*y+1)**(1/2);
derivada:=df(funcion,y,n);
substitucion:=sub(y=0,derivada);
fact:=for k:=1:n product k;
return substitucion/fact;
1

end;

2. Solucion de ecuaciones lineales


sistema:=solve( {x+y-2,x-4*y-5},{x,y});

ecuaciones lineales

2.1 Desigualdades, Inecuaciones


ineq_solve( {x+4>=3*x-3});
ineq_solve( {5*x**2-5<= 1+x});
ineq_solve( {5*x**2-5> 1+x});
ineq_solve(x^3+4*x-16> 0);
3. Solucion de ecuacion no lineal para x
solve( x^2=4,x);
solve(x**3=8,x);

resuelva para x

4. Graficas en dos dimensiones


plot( f(x));
plot( f(x),x=(1 .. 2)); dominio
plot(f(x),x=(1 .. 2),y=(-5 .. 5)); para las graficas dominio y contradominio
plot( {x,x^2,x^3},x=(0 .. 2)); graficar varias funciones
<<f:=x^3; plot({0,f,df(f,x),df(f,x,2)},x=(-2 .. 2))>>;
plot( f(x),title="grafica",xlabel="eje x",ylabel="eje y"); titulo, label ejes.
plot( f(x),x=(-2 .. 2),size="0.5,10"); escala

No se pueden mezclar implicitas con explicitas


plot(x^3+y^3 -3*x*y ={0,1,2,3},x=(-2.5 .. 2),y=(-5 .. 5)); implicita
plot(x^2-y^2={0,1,2,3,4,5},x=(-2.5 .. 2),y=(-5 .. 5)); implicita
plot(x*y={1,2,3,4},x=(-5 .. 5),y=(-5 .. 5));
implicita
plot((x**2-1)*y/(x**2+1)={1},x=(-4 .. 4));
implicita

f1:=for k:=1:8 collect k/x;


plot(f1, x=(0.2 .. 2));

grafica de familia de funciones

solve(x^5=1,x);
dibujar pentagono
z:=0.3090+i*0.9510;
m:=for k:=1:6 collect {repart(z^k),impart(z^k)};
plot(m,size="0.72,1");
5. Graficas en tres dimensiones
plot( f(x,y),x=(-2 .. 2),y=(-3 .. 3));
plot( f(x,y),surface,hidden3d,contour);
plot( f(x,y),surface,contour);
plot( f(x,y),offsurface,contour);
plot( f(x,y),surface,nohidden3d,contour);
plot( point(cos(phi)*sin(th),sin(th)*sin(phi),cos(th)),th=(0 .. pi),
phi=(0 .. 2*pi));

6. Graficar en forma parametrica


plot(point(sin(x),cos(x)),x=(0 .. 2*pi)/100);
<< th:=pi/4$plot( point(r*cos(phi)*sin(th),r*sin(th)*sin(phi),r*cos(th)),
r=(0 .. 1),phi=(0 .. 2*pi))>>;

m:=for k:=0:100 collect { cos(2*pi*k/100),sin(2*pi*k/100)};


plot(m);
<< n:=100;
a:=2/n;
w:=2*pi/n;p:=for k:=0:n collect
{sin(a*k)*cos(w*k),sin(a*k)*sin(k*w)}>>;
plot(p);
caida libre:
<<n:=20;v0:=50;g:=10;th:=30*pi/180;z2:=2*v0*sin(th)/g; m:=for k:=0:n
collect << x:=v0*cos(th)*z2*k/n;
y:=v0*sin(th)*z2*k/n-g/2*z2^2*k^2/n^2;{x,y}>>$ plot(m)>>;

procedure f(z);<<n:=20;v0:=50;g:=10;th:=z*pi/180;z2:=2*v0*sin(th)/g;
m:=for k:=0:n collect << x:=v0*cos(th)*z2*k/n;
y1:=v0*sin(th)*z2*k/n-g/2*z2^2*k^2/n^2;{x,y1}>>$ plot(m)>>;
for k:=1:1000 do f(k*89/1000);

7. Listas
3

p:=for i:=1:4 collect {i,i^2,i^3};

hago una lista de datos

8. Graficar una lista de puntos discretos (no pone puntos)


ver como se hace en gnuplot directamente.
p:= for i:=1:4 collect {i,i^2};
plot(p);
grafica la lista

lista de datos x,y

9. Derivadas parciales
df( x^3,x);
primera derivada
df( f(x),x,2); segunda derivada

10. Integrales
int(x^2,x);
integral indefinida
int(x^2,x,1,2);
integral definida

num_int(sqrt(x^3+1),x=(0 .. 1));

integral numerica

11. Matrices.
a:=mat( (3,5),(6,7));
definicion de una matriz
b:=a^(-1);
matriz inversa
2*a;
multiplicacion de un escalar por una matriz
det(a);
determinante
a*b;
producto de matrices
tp(a);
matriz transpuesta
trace(a);
la traza de a
12. Sumas
sum(k^2,k,1,4);
load sum;
sum(k^2,k,1,n);

suma con limite numerico


cargando el paquete sum
suma con limite algebraico

for k:=1:5 sum k;


for k:=1:5 sum a(k);

13. Productos
for k:=1:3 product k^2;

producto con limite numerico

14. Animacion
for k:=1:1000 do plot(0, x-0.1*k,x=(0 .. 100),y=(0 .. 100))$

15. Random (numero seudoaleatorio)


random(x);

si x entero x va de 0 hasta x-1, si x es flotante x es


positivo hasta un valor menor que x

16. Ecuaciones diferenciales lineales

operator y;
depend y,x;
odesolve(df(y,x)=x*y,y,x);
odesolve(m*df(y,x,2)-c**df(y,x)-k*y=0,y,x);

17. Transformada de Laplace


load "laplace";
laplace(t^2,t,s);
invlap( (s+2)/(s*(s-5)),s,t);

18. Programacion

if x < 0 then x^2 else x;


k:=1; while k <=5 do << write k; k:=k+1>>;
for k:=1:4 do write "hola";
for k:=1:4 do a(k):=k^2;

for - do
define los valores a(k)

while - do

19. Limites
limit(sin(x)/x,x,0);

20. Listas
m:={{1,1},{2,2}};
p:=for k:=1:4 collect {k,3*k};
p:=list(1,2,3);
m:={1,2,3};
p:={a,b,c};
q:=list(u,v,w);
append(m,p);
append(list u,p);
append(p,list u);
select(~w>0,{1,-1,2,-2});
select(~w=2,{1,-1,2,-2});
select( evenp deg( ~w,x),2*x^2+4*x^3+5*x^4+x^5); deg indica la potencia
mas alta en x
select( not evenp deg( ~w,x),2*x^2+4*x^3+5*x^4+x^5);
first(m);
rest(m);
part(m,1);
length(m);
reverse(m);
max(m);
min(m);
21. Series de Taylor
taylor(sin(x),x,0,4);

muestra los primeros terminos

22. Vectores
load_packages "avector";
vec a,b;
f:=x**2+y**5+z**8;
a:=avec(x**2+y**3+z,x+y+z,5);
b:=avec(5,6,7);
2*a;

escalar por vector


6

a+b;
suma de vectores
a dot b; producto punto
a cross b;
producto cruz
div a;
curl a;
grad f;

divergencia
rotacional
gradiente

div grad f;

laplaciano de una funcion escalar

23. solve:
w:=solve( x^3=1,x);
x1:=rhs first w;
x2:=rhs second w;
x3:=rhs third w;

24. Minimos cuadrados


x:={1,2,3};
y:={4,6,8};
error:=for k:=1:3 sum (a*part(x,k)+b-part(y,k))^2;
p:=solve( {df(error,a},df(error,b)},{a,b});
p1:=part(p,1);
a:=rhs part(p1,1);
b:=rhs part(p1,2);
error;

25. Cociente de polinomios


a:=x^5;
b:=3*x^2+4*x+5;
c:=a/b;
let 3*x**2+4*x+5$
r:=a;
clear x^2;
q:=(a-r)/b;
26. Fracciones Parciales
pf( (3*x+5)/(x*(x-2)),x);

You might also like