Application Center - Maplesoft

App Preview:

Números y Letras

You can switch back to the summary page by clicking here.

Learn about Maple
Download Application


 

Numeros.mws

MATEMTICAS

CON MAPLE

Para Estudiantes y Profesores

MATEMATICAS CON MAPLE V

Captulo I - Nmeros y Letras

Documento: Maple Manual Numeros

Captulo: I - Nmeros y Letras

Elabor: Csar Ivn Tinoco.

Versin: 21 de Julio del 2.000

1- Expresiones Bsicas

Empezaremos utilizando Maple como una calculadora cientfica. Maple tiene como Promp o indicativo [ > .

A partir de esta momento podemos empezar a escribir las rdenes necesarias, cada instruccin o conjunto de ordenes de
Maple , termina con : o ; (dos puntos o punto y coma), presentando o no los resultados, respectivamente. Esto se debe a que Maple est basado en C y adems la escritura de programas Maple , tiene esa estructura.

El comando
restart , tiene como objeto limpiar la memoria del computador en toda seccin de trabajo, es importante recordarlo en el desarrollo de una aplicacin cuando tengamos demasiadas variables o grficos que haga lento el equipo. Luego de usar restart , se borrarn todas las variables, libreras y procedimientos, que se hayan usado hasta el momento.


Podemos escribir rdenes en una misma linea separadas por comas o en lineas separadas, prcticamente de la misma forma como lo hacemos con una calculadora.

> restart:
3+4, 3-4, 3*4, 3/4;

3*5/8:
sin(Pi/3);
arcsin(%);

7, -1, 12, 3/4

1/2*sqrt(3)

1/3*Pi

Cuando las ordenes se separan por comas, los resultados aparecen en la misma linea, cuando se separan por punto y coma o dos puntos, aparecern en lneas diferentes.

El orden de prelacin de las operaciones matemticas ser la corriente, pero manipulable por el usuario usando parentesis. Las instrucciones se escriben en la pantalla de Texto al igual que los comentarios y resultados, un archivo Maple , es algo asi como una pgina Web. Las rdenes aparecern en rojo, mientras que el texto en negro y los resultados, nmeros o expresiones, en azul.

Podemos escribir instrucciones, lnea a lnea viendo inmediatamente los resultados, o escribir un conjunto de ordenes y ver al final los resultados, para lo cual una vez terminada la linea, presionamos SHIF ENTER, y as escribir otras, las que se ejecutarn al presionar ENTER, entonces aparecern los resultados de todas las instrucciones que se encuentren en la seccin de trabajo.

> restart:
factor(x^2+2*x+1);

5!,sin(Pi),tan(Pi/8),3/4+5*3/2;

(x+1)^2

120, 0, tan(1/8*Pi), 33/4

Algunas expresiones son demasiado grandes, por ejemplo:

> 227!;
`Longitud ..: `,length(%);

646077305624121491462330357080396430806673805704796...
646077305624121491462330357080396430806673805704796...
646077305624121491462330357080396430806673805704796...
646077305624121491462330357080396430806673805704796...

`Longitud ..: `, 438

El signo \ , en los resultados, indica que la expresin continua. Alguna vez haba visto un nmero tan grande, intente leerlo. Slo tiene 438 cifras.!!

El smbolo % se usa para obtener los ltimos resultados y se usa para simplificar la escritura o generar procesos recursivos, lo cual veremos ms adelante.

> 3+2;
5+9;
%+%%;
%+%%;

5

14

19

33

OPERADORES BASICOS

Suma .................................... +

Resta ....................................-

Multiplicacin ........................*

Cociente ................................/

Potencia ................................^

Factorial ...............................!

Modulo................................. mod

El siguiente ejemplo resume estos operadores. No se necesita mayores explicaciones

> restart:
15/2+1/3,3*0.21,8/9,3^5;
7!,5 mod 2;

47/6, .63, 8/9, 243

5040, 1

ALGUNAS FUNCIONES MATEMTICAS I

La siguiente tabla resume algunas de las funciones matemticas ms importantes para iniciarnos en el manejo de calculo cientfica con Maple .

sin, cos, tan,..., Funciones trigonometricas bsicas

sinh, cosh, tanh,..., Funciones trigonometricas hyperblicas

arcsin, arccos, arctan,..., Inversas de las Funciones trigonometricas

exp, ln Funcin exponencial y logartmo natural

log[n] Funcin logartmo en base n

sqrt Funcin raiz cuadrada

round Funcin de redondeo.

trunc Funcin de truncamiento.

floor Mayor entero menor que el nmero
ceil Menor entero mayor que el nmero

binomial Funcin binomial

erf, erfc Error y error complementario
abs Funcin valor absoluto

igcd Mximo comn divisor,.

ilcm Mnimo comn multiplo de un conjunto de nmeros.
iquo Cociente entero de una divisin

irem Resto de una divisin

rand Generacin de nmeros aleatorios

frac Parte fraccionaria de un nmero

numer Numerador de un racional

denom Denominador de un racional

Las funciones trigonomtricas se calculan en radianes. La presentacinde los resultados sobre funciones trigonomtricas se presentan en trminos de Pi a menos que se especifique lo contrario

> sin(Pi),cos(Pi/2),tan(Pi/4);
arcsin(0),arccos(0),arctan(1);

0, 0, 1

0, 1/2*Pi, 1/4*Pi

Las funciones tradicionales se evaluan sobre nmeros reales enla mayoras de los casos. Cuando un entero se precede de un punto, Maple lo interpreta como real. La orden Digits, forza la salida de digitos de un nmero real.

> Digits:=4:
exp(1.);
ln(%);
log[10](100.);
sqrt(5),sqrt(5.);

2.718

.9999

2.000

sqrt(5), 2.236

La orden round , redondea al entero ms prximo, mientras que trunc , quita los decimales dejando el nmero como entero.

floor devuelve el mayor entero menor que el nmero y ceil devuelve el menor entero mayor que el nmero.

> round(1.56),trunc(1.96);
round(-1.56),trunc(-1.96);
floor(-1.96);ceil(1.26);

2, 1

-2, -1

-2

2

abs , retorna el valor abosulto de un nmero, ifactor presenta los factors primos del nmero.

Las funciones que comienzan con la letra i , actuan sobre nmeros enteros.

> abs(5), abs(-5);
ifactor(18);

5, 5

``(2)*``(3)^2

igcd presenta el mximo comn divisor, ilcm presenta el mnimo comn multiplo de un conjunto de nmeros.

iquo presenta el cociente entero de una divisin, irem el resto entero de la divisin.

> igcd(15,50,100),ilcm(10,6,8);
irem(23,4),iquo(23,4);

5, 120

3, 5

max devuelven el mximo comn divisor, min devuelve el mnimo comn multiplo, de un conjunto de nmeros.

> max(6,7,-15),min(6,7,-15);

7, -15

ran genera un nmero aleatorio del conjunto de los naturales, podemos escoger el rango de donde obtener el nmero, especificandolo en el argumento.

> rand();
aleatorio:=rand(-41..46):
aleatorio();

427419669081

29

El factorial de un nmero se calcula precediendo el smbolo ! al nmero, y con la funcin lenght , podemos calcular la longitud de una expresin en este caso el resultado del factorial de 5.. El smbolo # , despus de la sentancia de ordenes nos permite hacer una comentaro.

> 5!!;
length(%);

668950291344912705758811805409037258675274633313802...
668950291344912705758811805409037258675274633313802...

199

frac , retorna la parte fraccionaria de un nmero racional.

> frac(4);
frac(8/3),8/3-%;

0

2/3, 8/3

numer devuelve el numerador y denom , el denominador de un racional.

> numer(2/3);
denom(2/3);

2

3

La funcin convert se usa para convertir nmeros o expresiones, para el caso de conversiones numricas, tendremos entre otras, las siguientes opciones:

binary

hex

octal
decimal
base

convert [ nmero , binary , octal , hex ] , presentan el nmero en binario, octal o hexadecimal, respectivamente

> convert(12,binary),convert(172,binary);
convert(12,octal),convert(1420,octal);
convert(12,hex),convert(1932,hex);

1100, 10101100

14, 2614

C, `78C`


decimal
, convierte un nmero de base decimal a binario, octal o hexadecimal.

> convert(1100,decimal,binary);
convert(14,decimal,octal);
convert(C,decimal,hex);

12

12

12

Cambio de Base

Orden ........: convert(.., base,..,..)

Sintxis ......: convert(nmero, base, alpha)

Propsito ...: Convierte el nmero escrito en decimal a base alpha.


Esta funcin devuelve una lista de los residuos al dividir sucesivamente el nmero decimal en la nueva base. La lista es presentada en la forma que se producen los residuos hasta llegar al ltimo cociente. Ejemplo, [ 0, 1 ] representa el nmero 10 en la base que se pidio.

> convert(17,base,3);
convert(7,base,7);

[2, 2, 1]

[0, 1]

Tambin podemos convertir un nmero para expresarlo en un conjunto diferente, por ejemplo, de racional a real

> convert(1.265,rational);
convert(1/5,float);

43/34

.2000

Para el caso de conversiones sobre unidades de medida convert nos presenta las siguientes posibilidades.

CONVERSION DE UNIDADES A SISTEMA METRICO

acre acres bu bushel bushels chain
chains cm cord cords feet foot
ft furlong furlongs gal gallon gallons
Gals gill gills gr hr ins
inch inches kg km Lb lbs
light_year light_years mi Mile miles MPG
MPH ounce Ounces oz Ozs pint
pints pole poles pound pounds quart
quarts yard yards yd yds

> convert(miles,metric);
convert(yard,metric);
convert(Ozs,metric);
convert(ft,metric);
convert(cords,metric);
convert(light_year,metric);

25146/15625*km

1143/1250*m

28.34952313*gr

381/1250*m

884901456/244140625*m^3

.946073e13*km

Existen otras funciones que operan sobre nmeros o expresiones matemticas, algunas de ellas se consideran propias de los lenguajes de programacin.

Todas las funciones se componen del nombre de la funcin y el argumento, en algunos casos el argumento es un nmero, en otros es un conjunto de nmeros o un conjunto de parmetros numricos o alfanumricos.

OTRAS FUNCIONES SOBRE NUMEROS

ifactor

isprime

ithprime

nextprime

prevprime
divisor

surd

Factores Primos:

Orden ........: ifactor

Sintxis ......: ifactor ( nmero )

Propsito ...: Encuentra los factores primos del numero del nmero .

> ifactor(5!!);

``(2)^116*``(3)^58*``(5)^28*``(7)^19*``(11)^10*``(1...
``(2)^116*``(3)^58*``(5)^28*``(7)^19*``(11)^10*``(1...


Nmeros Primos


Orden ........: isprime, ithprime, nextprime, prevprime

Sintxis ......: funcin ( nmero )

Propsito ...: Evalua si un nmero es primo.

Encuentra el primo del ordinal. el siguiente primo,

Encuentra el anterior primo al nmero.

> ithprime(3);
isprime(%);
nextprime(7);
prevprime(7);

5

true

11

5

Orden ........: surd

Sintxis ......: surd ( a , n )

Propsito ...: Calcula la raz n del nmero a del argumento, nmero real.

> a1:=(-8)^(1/3);
R1:=simplify(a1);
R2:=surd(-8,3);

a1 := (-8)^(1/3)

R1 := 1+I*sqrt(3)

R2 := -2


Observe las diferencias entre el resulatdo R1 y R2.

Divisores de un Nmero.

Orden ........: divisors

Sintxis ......: divisors ( nmero )

Necesita de la librera numtheory

Propsito ...: Retorna los divisores del valor absoluto del nmero .

> with(numtheory):
divisors(10);

Warning, the protected name order has been redefined and unprotected

{1, 2, 5, 10}

Otras funciones no son propiamente de caracter matemtico, pero sirven para hacer evaluaciones especficas.

Tiempo.

Time() , calcula el tiempo de CPU transcurrido desde el momento en que se ejecutan diferentes rdenes. Por tanto se debe usar el comando t ime() , antes y despus de las sentencias que se desean evaluar en tiempo, o tambin podemos calcular el tiempo que se tarda en realizar una orden, ejemplo, el tiempo transcurrido en calcular el factorial del factorial de 7.

> time();
time():7!!:time()-%%;
time();

1.332

.121

1.453

Asignacin de Variables.

Asignar una variable es darle a esta un contenido numrico, algebraico, o un conjunto de datos, de tal forma que siempre que nos refiramos a dicha variable, estaremos trabajando con el contenido de la misma.

La asignacin es completamente diferente a la igualdad. La asignacin no evalua, la igualdad s. Una asigancin se realiza:

variable := nmero

variable := expresin

variable := sentencias

> a:=5;
b:=6;
a+b, a*b, a*b/a;
a:=b;
a,b,b,a;
Par:=4;
Impar:=5;
Par, Impar, Par+Impar;

a := 5

b := 6

11, 30, 6

a := 6

6, 6, 6, 6

Par := 4

Impar := 5

4, 5, 9

Trabajando con Decimales.

Por defecto, Maple , trabaja las expresiones reales en coma flotante con 10 digitos, si deseamos modificar esta presentacin usamos la orden, Digits o modificando el segundo parmetro de la opcin evalf() , que explicaemos mas adelante.

> 1.3/85.6;
Digits;
Digits:=3;
t1:=1/3;
1.3/85.6;
evalf(t1,2);

.1519e-1

4

Digits := 3

t1 := 1/3

.152e-1

.33

Los nmeros y expresiones manejadas por computador tiene longuitudes asombrosas, al igual que sus diferencias, por ejemplo, podemos escribir el nmero pi, con 100 digitos y sin embargo este ser direfrente a Pi. El condicional if lo explicaremos ms adelante.

> p:=evalf(Pi,100);
if p=Pi then print(`Son iguales`) else print(`Son diferentes`) fi;
e:=evalf(exp(1),100);
if e=exp(1) then print(`Son iguales`) else print(`Son diferentes`) fi;

p := 3.14159265358979323846264338327950288419716939...

`Son diferentes`

e := 2.71828182845904523536028747135266249775724709...

`Son diferentes`

2- Expresiones

Llamaremos sentencia a un conjunto de ordenes, por ejemplo:

sqrt ( 3 ) ; Es una orden simple..

p:=sqrt()+5!; Es una orden compuesta o expresin.

Simplificar una expresin no necesariamente es hacerla ms pequea en trminos de la cantidad de letras y nmeros que esta tenga, simplificar es presentar la expresin en un formato determinado, simplify , nos permite hacer esta manipulacin.

Simplificar:

Orden ........: simplify

Sintxis ......: simplify ( expresin, forma )

Propsito ...: Simplifica la expresin a la forma establecida en el argumento.

SIMPLIFICACION DE EXPRESIONES NUMERICAS

> a:=9^(1/2);
simplify(a);
b:=(1+sqrt(2))^2-3-2*sqrt(2);
simplify(b);

a := sqrt(9)

3

b := (1+sqrt(2))^2-3-2*sqrt(2)

0

Simplificar una expresin es, en algunos casos, combinarla como se puede observar usando el comando combine.

> uno := sqrt(2)*sqrt(6) + sqrt(2)*sqrt(6);
### WARNING: note that `I` is no longer of type `radical`
combine(uno,radical);
dos:= sqrt(4-sqrt(3))*sqrt(4+sqrt(3));
### WARNING: note that `I` is no longer of type `radical`
combine(dos,radical);

uno := 2*sqrt(2)*sqrt(6)

4*sqrt(3)

dos := sqrt(4-sqrt(3))*sqrt(4+sqrt(3))

sqrt((4-sqrt(3))*(4+sqrt(3)))

Lo mismo sucede con la opcin radnormal , normaliza una expresin racional.

> exp1 := sqrt(2)*sqrt(3)-sqrt(6);
combine(exp1),radnormal(exp1),simplify(exp1);
exp2 := 1/(2^(1/2)+3^(1/2)+6^(1/2));
combine(exp2),radnormal(exp2),simplify(exp2);

exp1 := sqrt(2)*sqrt(3)-sqrt(6)

0, 0, 0

exp2 := 1/(sqrt(2)+sqrt(3)+sqrt(6))

1/(sqrt(2)+sqrt(3)+sqrt(6)), 1/(sqrt(2)+sqrt(3)+sqr...

rationalize , nos permite racionalizar el denominador de una expresin.

> exp3:=2/(2-sqrt(2));
rationalize(exp3);
evalf(%);
evalf(exp3);

exp3 := 2*1/(2-sqrt(2))

2+sqrt(2)

3.41

3.38

Secuencias.

Tal vez, son las secuencias, una de las posibilidades ms fuertes en el manejo de lenguajes de programacin y de paquetes numricos, pues nos permiten ejecutar muchas instrucciones con muy pocas rdenes.

Las secuencias son pequeos programas que recorren una expresin sobre un parmetro, en la mayora de casos este parmetro es i , pero no es condicin necesaria. Una secuencia genera una relacin ordenada de datos los cuales pueden ser accesados con subindices como si estos fueran una lista. El captulo de extructuras explicar mas este concepto de listas.

Orden ........: seq

Sintxis ......: seq ( exp, i=a..b )

Propsito ...: Genera una secuencia de datos sobre exp en un intervalo i=a..b .

> restart;
s1:=seq((2*i+1)^2,i=0..10);
s1[3];
[seq(p,p=1..15)];
{seq(r,r=1..12)};

s1 := 1, 9, 25, 49, 81, 121, 169, 225, 289, 361, 44...

25

[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]...

{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}

Tambin podemos establecer una secuencia de tal forma que contenga una cantidad de elementos determinados a intervalos diferentes desde un inicio a un fin.

> ini :=0;
fin:=40;
incremento:=1/3;
X := seq(-10+i*incremento,i=ini..fin);

ini := 0

fin := 40

incremento := 1/3

X := -10, -29/3, -28/3, -9, -26/3, -25/3, -8, -23/3...
X := -10, -29/3, -28/3, -9, -26/3, -25/3, -8, -23/3...

Ciclos.

Los ciclos tambin son una de los conceptos ms importantes de los lenguajes de programacin y nos permiten generar procesos repetitivos sobre expresiones o conjuntos de ordenes.

En el transcurso del curso se encontrar varias sentencias con ciclos, adems tendremos tres captulos dedicados exclusivamente a la programacin.

Orden ........: for

Sintxis ......: for variable from inicio by incremento to hasta
haga do ordenes od

Propsito ...: Repite un conjunto de ordenes, desde do hasta od .

> for i from 1 by 3 to 12
do
(i+1)^2
od;

4

25

64

121

Evaluacin.

En algunas ocaciones Maple , presenta los resultados en forma racional, o radical o como una expresin, la orden evalf , nos permite obtener el valor en coma flotante de dicha expresin.

Orden ........: evalf, convert

Sintxis ......: evalf(n), convert( n, float)

Propsito ...: Evalua la expresin del argumento. Convierte el argumento en un nmero real.

> restart:
n:=(1+sqrt(12))/(1+sqrt(3)^5);
e:=expand(n);
simplify(e);
evalf(n);
convert(n,float);

n := (1+2*sqrt(3))/(1+9*sqrt(3))

e := 1/(1+9*sqrt(3))+2/(1+9*sqrt(3))*3^(1/2)

(1+2*sqrt(3))/(1+9*sqrt(3))

.2691089077

.2691089077

Cul de los siguientes nmeros es una mejor aproximacin de Pi ?. Usamos el comando evalb , para optener una evaluacin boleana de la expresin.

> restart:a:=19/6:
a,evalf(a), Pi<>evalf(a),evalb(Pi=a),evalf(Pi-a);
b:=22/7:
b,evalf(b), Pi<>evalf(b),evalb(Pi=b),evalf(Pi-b);
c:=25/8:
c,evalf(c), Pi<>evalf(c),evalb(Pi=c),evalf(Pi-c);

19/6, 3.166666667, Pi <> 3.166666667, false, -.2507...

22/7, 3.142857143, Pi <> 3.142857143, false, -.1264...

25/8, 3.125000000, Pi <> 3.125000000, false, .16592...

> min(abs(evalf(Pi-a)),abs(evalf(Pi-b)),abs(evalf(Pi-c)));

.1264489e-2

La conjetura de Fermat sobre los nmeros primos, establece que el nmero expresin: 2^(2^n) +1, arroga un nmero primo para todo n natural. Vemoslo para algunos n. Como se podr observar la conjetura falla en el quinto intento.

> restart:
n:=5:
for i from 1 to n by 1
do
i;
numero:=(2^(2^i))+1;
isprime(numero);
od;
ifactor((2^(2^5))+1);

1

numero := 5

true

2

numero := 17

true

3

numero := 257

true

4

numero := 65537

true

5

numero := 4294967297

false

``(641)*``(6700417)

3- Matemtica Simblica

Ahora trabajaremos sobre las expresiones algebraicas, polinomios y sus variables. Una expresin de tipo algebraica puede tener, variables, nmeros, funciones y estar asignada a una cadena de caracteres.

Algunas de las funciones sobre nmeros son aplicables a expresiones simblicas, finalmente una expresin algebraica representa muchas numricas.

Maple es sensible a la escritura. Las cadenas se esciben entre comillas sencillas. Una palabra compuesta exclusivamente por letras no necesita escribirse entre comillas. No se puede usar tildes para la definicin de las variables, tampoco empezarlas por un nmero.

Cadenas

Las cadenas o palabras se pueden usar para representar variables, expresiones o cunjuntos de datos, el punto ( . ), se usa para concatenar dos cadenas y para sunindizar usa secuencia.

> restart:
`Cadena de caracteres`;
`La respuesta es ...: `, Primero;
La_respuesta_es, Nombre||Apellido;
a||(x,y,z);
Valor_Sub_||(3..5), a[3];
seq(a[i],i=1..10);

`Cadena de caracteres`

`La respuesta es ...: `, Primero

La_respuesta_es, NombreApellido

ax, ay, az

Valor_Sub_3, Valor_Sub_4, Valor_Sub_5, a[3]

a[1], a[2], a[3], a[4], a[5], a[6], a[7], a[8], a[9...

Esta es una forma muy interesante de asignar una lista, preste especial atencin, pues usaremos ste formato fuertemente en el manejo de expresiones en los captulos de geometra y programacin.

La funcin cat , nos permite concatenar cadenas. La funcin convert tambin se hace presente en el manejo de cadenas, el parmetro, symbol , convierte a smbolo el primer argumento. El argumento string convierte a cadena el argumento.

La orden whattype ( argumento) nos permite evaluar el tipo de dato del argumento que Maple est asignando.

> cat(`x`,`y`);
convert(sin(x^2),symbol);
dato:=2/3;
whattype(dato);
convert(dato,symbol),whattype(%);
convert(4,string);

xy

`sin(x^2)`

dato := 2/3

fraction

`2/3`, symbol

parse , retorna el argumento a una expresin evaluable en Maple , siempre que sea posible. searchtext , retorna la posicin en la cual se encuentra la primera aparicin de una cadena en otra.

> dato2:=`5+4`;
whattype(dato2);
parse(dato2);
whattype(%);
searchtext(s,casa);

dato2 := `5+4`

symbol

9

integer

3

substring , nos permite extraer un subconjunto del conjunto de elementos formados por la cadena estableciendo la posicin inicial y final de la extraccin. Esta opcin nos permite manipular fuertemente las cadenas.

> nombre:=`Universidad de Cundinamarca`;
substring(nombre, 12..14 );
length(nombre);

nombre := `Universidad de Cundinamarca`

` de`

27

Variables

En Maple existen variables Matemticas y de Programacin. En la siguiente expresin: [Maple OLE 2.0 Object] , tiene a x como variable que tomar valores numricos, mientras que [Maple OLE 2.0 Object] , p es una variable a la que se le ha asignado una expresin.

> 5*x^2+3*x+6:
p:=5*x^2+3*x+6:
`La Variables es `||x;
`La Asignacin a p es... `,p;

`La Variables es x`

`La Asignacin a p es... `, 5*x^2+3*x+6

Expresiones Algebraicas

Con Maple podemos trabajar polinomios en uno o varias variables, fracciones algebraicas y otro tipo de expresiones que veremos en el desarrollo del curso. Para la escritura de las expresiones algebraicas podemos usar el editor de ecuaciones, el cual se activa desde la barra de mens. View - Palettes - Expresion Palete. Si deseamos escribir una ecuacin como texto, podemos usar un editor de ecuaciones.

Los siguientes ejemplos presentan expresiones algebraicas.

> restart:
a:=(x-2)^2;
3*x^3+5*x^2+x^5+6;
ecua1:=Int(a,x);
Limit(sin(x), x=0);

a := (x-2)^2

3*x^3+5*x^2+x^5+6

ecua1 := Int((x-2)^2,x)

Limit(sin(x),x = 0)

ALGUNAS FUNCIONES

SOBRE EXPRESIONES ALGEBRAICAS

eval

simplify

expand
factor

solve

subs

Orden ........: eval , evalf

Sintxis ......: eval(expresin, variable = a, n),

Propsito ...: Evalua la expresin cuando la variable es a con n decimales.

> pol1:=x^3+3*x+2;
eval(pol1, x=1);
pol2:=x^3+3*y+2*z;
eval(pol2, [x=1,y=3,z=7]);
evalf(5/3*exp(-2+3)*sin(Pi/4),3);

pol1 := x^3+3*x+2

6

pol2 := x^3+3*y+2*z

24

3.20

Orden ........: simply

Sintxis ......: simplify (expresin, opciones )

Propsito ...: Simplifica le expresin del argumento de acuerdo a las opciones.

> restart:
ecua:=(x^2)^b+4^(1/2);
simplify(ecua);
simplify(sin(x)^2+cos(x)^2);
ecua2:=sqrt(x^2);
simplify(ecua2);

ecua := (x^2)^b+sqrt(4)

(x^2)^b+2

1

ecua2 := sqrt(x^2)

csgn(x)*x

Podramos probar muchsimas propiedades del algebra y de la trigonometria, por ejemplo:

> restart:
simplify(x^a*x^b,symbolic);
simplify((a^b)^c,symbolic);
simplify(ln(x*y));
simplify(ln(x*y), power, symbolic);
simplify(1+tan(x)^2, trig);
simplify(sin(x)*cos(x),trig);
combine(sin(x)*cos(x),trig);

x^(a+b)

a^(b*c)

ln(x*y)

ln(x)+ln(y)

1+tan(x)^2

sin(x)*cos(x)

1/2*sin(2*x)

Orden ........: expand

Sintxis ......: expand (expresin, opciones )

Propsito ...: Expande la expresin del argumento de acuerdo a las opciones.

> restart:
expand((x+1)*(x+2));
expand((x+1)/(x+2));
simplify(%);
expand(1/(x+1)/x);
expand(sin(x+y));
expand(cos(2*x));
combine(sin(x)*cos(y)+cos(x)*sin(y));

x^2+3*x+2

1/(x+2)*x+1/(x+2)

(x+1)/(x+2)

1/((x+1)*x)

sin(x)*cos(y)+cos(x)*sin(y)

2*cos(x)^2-1

sin(x+y)

Orden ........: factor

Sintxis ......: factor (expresin, opciones )

Propsito ...: Factoriza la expresin. Podramos probar todos los ejercicios del Algebra Baldor. !

> restart:
factor(x^2+2*x+1);
factor(x^3+y^3);
factor(x^3-y^3);
expand((x-y)^3);
factor(%);

(x+1)^2

(x+y)*(x^2-x*y+y^2)

(x-y)*(x^2+x*y+y^2)

x^3-3*x^2*y+3*x*y^2-y^3

(x-y)^3

Orden ........: solve , fsolve

Sintxis ......: solve (expresin, variable )

Propsito ...: Soluciona la expresin para la variable del argumento

> restart:
solve(x^2);
solve(x^4-5*x^2+6*x=2);
solve(x^4-5*x^2+6*x=2),fsolve(x^4-5*x^2+6*x=2);

0, 0

1, 1, -1+sqrt(3), -1-sqrt(3)

1, 1, -1+sqrt(3), -1-sqrt(3), -2.732050808, .732050...

Tambin podemos solucionar un sistema de ecuaciones, o encontrar la interseccin de dos ecuaciones. Todo esto se explicar en los captulos de Algebra Lineal y Ecuaciones Diferenciales

> ecua1:=x^2-2=x;
sol1:=solve(ecua1);
ecuas:={x+y+z=1, 3*x+y=3, x-2*y-z=0};
sol2:=solve(ecuas);

ecua1 := x^2-2 = x

sol1 := 2, -1

ecuas := {x+y+z = 1, 3*x+y = 3, x-2*y-z = 0}

sol2 := {z = -2/5, y = 3/5, x = 4/5}

Tal vez quisieramos verificar los resultados, para esto podemos usar el comando subs .

Orden ........: subs

Sintxis ......: subs(variable =a , exprerin)

subs(s1,...,sn , expresin)

Propsito ...: Remplaza el valor de la variable en la expresin

Remplaza el conjunto de soluciones en la expresin.

Supongamos que tenemos una expresin cuadrtica, que calculamos las races y deseamos verificar el resultado. Lo podemos hacer elemento a elemento o todo el conjunto a la vez.

> f:=3*x^2-5;
sol:={solve(f,x)};
subs(x=sol[1],f),subs(x=sol[2],f);
ecuas:={x+y+z=1, 3*x+y=3, x-2*y-z=0};
sol2:=solve(ecuas);
subs(sol2,ecuas);

f := 3*x^2-5

sol := {1/3*sqrt(15), -1/3*sqrt(15)}

0, 0

ecuas := {x+y+z = 1, 3*x+y = 3, x-2*y-z = 0}

sol2 := {z = -2/5, y = 3/5, x = 4/5}

{1 = 1, 0 = 0, 3 = 3}

ALGUNAS FUNCIONES

SOBRE EXPRESIONES RACIONALES

numer

denom

simplify

rationalize

> restart:
poli:=(1+x)/x^(1/2)/y;
numer(poli);
denom(poli);

poli := (1+x)/x^(1/2)/y

1+x

sqrt(x)*y

> ecua1:=(x^4-4*x^3+4*x^2+3*x-4)/(x-1);
simplify(ecua1);
ecua2:=x/(x+sqrt(3));
rationalize(ecua2);

ecua1 := (x^4-4*x^3+4*x^2+3*x-4)/(x-1)

x^3-3*x^2+x+4

ecua2 := x/(x+sqrt(3))

x*(x-sqrt(3))/(x^2-3)

ALGUNAS FUNCIONES

SOBRE EXPRESIONES POLINOMICAS

+, -, *, /

factor

divide

gcd

lcm

roots

coeffs

discrim

randpoly

isolate

Supongamos que tenemos dos polinomios, podemos realizar las operaciones normales entre ellos.

> restart:
p1:=x^7+8*x^4-3*x^2+x+12;
p2:=x^5-7*x^2+8*x;
p1+p2;
p1*p2;
p1/p2;

p1 := x^7+8*x^4-3*x^2+x+12

p2 := x^5-7*x^2+8*x

x^7+8*x^4-10*x^2+9*x+12+x^5

(x^7+8*x^4-3*x^2+x+12)*(x^5-7*x^2+8*x)

(x^7+8*x^4-3*x^2+x+12)/(x^5-7*x^2+8*x)

Pero adems calcular alguna informacin especfica, por ejemplo, saber si un polinomio es exactamente divisible entre otro,

factor , factoriza un polinomio, divide , evalua si la divisn entre dos polinomios es posible y asigan el resultado a una variable.

gcd y lcm , calculan el mximo comn divisor y el mnimo comn multiplo de dos polinomios respectivamente.

> factor(x^19-x);
divide(x^3-y^3, x-y,'ecua');
ecua;
gcd(x^2-y^2,x^3-y^3);
lcm(x^2-y^2,x^3-y^3);

x*(x-1)*(x^2+x+1)*(x^6+x^3+1)*(x+1)*(1-x+x^2)*(1-x^...

true

y^2+x*y+x^2

-x+y

(-y-x)*(x^3-y^3)

rem y quo , calculan el residuo y el cociente de la divisin de dos polinomios. roots , calcula las raices del polinomio respecto a una variable. roots se diferencia a solve en que presenta los puntos solucin.

> rem(x^3+x+1, x^2+x+1, x);
quo(x^3+x+1, x^2+x+1, x);
roots(2*x^3+11*x^2+12*x-9);
solve(2*x^3+11*x^2+12*x-9);

2+x

x-1

[[1/2, 1], [-3, 2]]

1/2, -3, -3

coeffs , extrae los coeficientes del polinomio en las variables del argumento. sort , ordena un polinomio. discrim , calcula el discriminante de un polinomio.

> coeffs(2*x^3+11*x^2+12*x-9,x);
sort(1+x+x^2);
sort(%,lexorder);
ecua:=a*x^2+b*x+c;
discrim(ecua,x);
solve(ecua,x);

-9, 11, 2, 12

x^2+x+1

x^2+x+1

ecua := a*x^2+b*x+c

-4*a*c+b^2

1/2/a*(-b+sqrt(-4*a*c+b^2)), 1/2/a*(-b-sqrt(-4*a*c+...

ranpoly , nos genera un polimonio aleatoriamente.

> randpoly(x, terms=5);
randpoly([x,x,z], terms=7);

-37*x^5-35*x^4+97*x^2+50*x+79

-93*z^2+30*x^3*z+120*x^2*z^2+66*x^3*z^2+54*x*z^4

La orden isolate , que nos permite despejar un polinomio en trminos de una variable, es decir despejar.

> restart:
ecua:=x^2-y+x;
### WARNING: persistent store makes one-argument readlib obsolete
readlib(isolate):
isolate(ecua,x);
isolate(x^2-3*x-5,x^2);

ecua := x^2-y+x

x = -1/2-1/2*sqrt(1+4*y)

x^2 = 3*x+5

Definicin de Funciones

Podemos definir nuestras propias funciones, inicialmente lo haremos como una asignacin "Flecha" .

Orden ........: ->

Sintxis ......: nombre : = variable -> definicin.

Propsito ...: Asigna un conjunto de ordenes a una variable.

> restart;
f:=x->3*x+(x^2+2)/(x^3-8);
f(3),f(sin(x));
g:=()->surd(7,3); # Funcin constante
g();
g(sin(x));

f := proc (x) options operator, arrow; 3*x+(x^2+2)/...

182/19, 3*sin(x)+(sin(x)^2+2)/(sin(x)^3-8)

g := proc () options operator, arrow; surd(7,3) end...

7^(1/3)

7^(1/3)

Funciones definidas a trozos,

Podemos definir usamos una sentencia de seleccin o evaluacin, if ..then...else...fi.

La funcin Valor Absoluto est definida a trozos.

> restart;
f:=x->if x<1 then -x else x fi;
f(5),f(-5);

f := proc (x) options operator, arrow; if x < 1 the...

5, 5

Cuando la definicin de la funcin es muy larga o complicada, podemos usar procedimientos, que son un conjunto de sentencias, de todas maneras Maple asigna como un procedimiento las funciones por simples que estas sean.

Adems con ellas podemos usar operaciones entre funciones, como suma, producto y calcular la funcin compuesta.(@). En el siguiente ejemplo definiremos la funcin factorial usando un procedimiento bien recursivo es decir, se llama a si mismo.

> restart;
fact:=n->
if
n<2 then 1
else
n*fact(n-1)
fi;
fact(4),fact(7),fact(13/4);

fact := proc (n) options operator, arrow; if n < 2 ...

24, 5040, 117/16

Sobre las funciones y polinomios podemos evaluar los procedimientos bsicos del algebra y realizar las operaciones tradicionales, por ejemplo:

> f:=(x+1)(x^2-1)+5*x^2-5;
factor(f);
f:=x->x^2+sin(x);
g:=y->2-exp(y);
(f+g)(z);
(f*g)(z);
(f@g)(m);

f := x(x^2-1)-4+5*x^2

x((x-1)*(x+1))-4+5*x^2

f := proc (x) options operator, arrow; x^2+sin(x) e...

g := proc (y) options operator, arrow; 2-exp(y) end...

z^2+sin(z)+2-exp(z)

(z^2+sin(z))*(2-exp(z))

(2-exp(m))^2-sin(-2+exp(m))

>