310 likes | 727 Views
Prácticas en Maple. Licenciatura en Ciencias de la Computación Álgebra I Clase 1. Introducción. Maple es un programa desarrollado en 1980 por un grupo de Cálculo Simbólico de la Universidad de Waterloo.
E N D
Prácticas en Maple Licenciatura en Ciencias de la Computación Álgebra IClase 1
Introducción • Maple es un programa desarrollado en 1980 por un grupo de Cálculo Simbólico de la Universidad de Waterloo. • Al abrir el software se inicia el carácter simbólico “>” que da inicio a un bloque de código. • Se permite programar en maple con sentencias conocidas en cursos de programación.
Escritura • En Maple todas las sentencias terminan con ; (punto y coma) • También se puede utilizar : (dos puntos) como terminación de la línea, en este caso no obtendríamos ninguna salida en la pantalla • Para escribir texto en la ejecución lo pondremos dentro de comillas dobles y finalizado con punto y coma. • Los comentarios se preceden y terminan con # >gausselim(A); >B:=vector(2,[2,3]): >"Texto en maple"; >#Comentario en Maple#
Variables • Las variables son Case Sensitive, es decir, maple distingue mayúsculas y minúsculas. Se utiliza el operador de asignación :=En el ejemplo la variable A se inicializa con el valor 5. >A:=5;
Operadores Matemáticos • Suma: para sumar A y B utilizamos el símbolo +. • Resta: para restar A y B utilizamos el símbolo -. • Multiplicación: para multiplicar A y B utilizamos el símbolo *. • División: para dividir A en B utilizamos /. • Potencia: A elevado a B utilizamos ^. >A+B; >A-B; >A*B; >A/B; >A^B;
Operadores Matemáticos • Modulo: el resto entero de la división de A en B se utiliza el símbolo mod. • Factorial: el factorial de A utilizamos el símbolo !. >A mod B; >A!.
Evalf • Un dato importante es que la escritura del siguiente comando: >sin(5.35Pi/2); • No arrojará el valor deseado, para proceder a la evaluación numérica debemos encapsularlo en el comando evalf, como sigue: >evalf(sin(5.35Pi/2));
Precisión del Cálculo • Maple trabaja con una precisión de 10 decimales, si se requiere de aumentar o disminuir la precisión se define la variable Decimals con el valor de precisión deseado. >Decimals:=15; • Esto aumentará la precisión del cálculo hasta 15 decimales durante el proyecto.
Tipo y Grado • Supongamos el siguiente polinomio: > p1 := -3*x + 7*x^2 -3*x^3 + 7*x^4; • Con ello aplicaremos el comando type, el cual evalúa si cierta variable corresponde a una naturaleza y el comando degree obtiene el grado del polinomio. >type(p1,'polynom');degree(p1);
Suma y Producto • Es posible realizar operaciones de suma, resta y multiplicación de polinomios en maple. Para ello definimos los polinomios: >p1 := -3*x + 7*x^2 -3*x^3 + 7*x^4; p2 := 5*x^5 + 3*x^3 + x^2 -2*x + 1; >p1+p2; p1-p2; p2*p1; • Sin embargo maple no entrega los resultados ordenados para ello utilizamos sort. >sort(p1+p2);sort(p1-p2);sort(p2*p1);
División • Es posible realizar la operación de división para obtener el cuociente utilizamos la función quo y el resto rem. >p1 := -3*x + 7*x^2 -3*x^3 + 7*x^4; p2 := 5*x^5 + 3*x^3 + x^2 -2*x + 1; >quo(p1,p2,x); rem(p1,p2,x); • Sin embargo maple no entrega los resultados ordenados para ello utilizamos sort. >sort(p1+p2);sort(p1-p2);sort(p2*p1);
Factorización • En maple es posible factorizar polinomios supongamos el siguiente polinomio P. >p:=x^2-4; • Para factorizarlo utilizamos el comando factor : >factor(p);
Máximo Común Divisor • En maple es posible obtener el máximo común divisor de dos polinomios con el comando gcd. >p1 := -3*x + 7*x^2 -3*x^3 + 7*x^4; p2 := 5*x^5 + 3*x^3 + x^2 -2*x + 1; >gcd(p1,p2);
Simplificación • Supongamos que tenemos la siguiente expresión racional f: > f := (x^2 + 3*x + 2)/ (x^2 + 5*x + 6); • Para simplificarlo debemos aplicar la función normal a f. >normal(f);
Gráfica de un polinomio • En maple podemos graficar nuestro polinomio utilizando el comando plot. >p1 := -3*x + 7*x^2 -3*x^3 + 7*x^4; >plot(p1);
Ordenamiento • Para ordenar un polinomio de varias variables utilizaremos el comando sort con algunos argumentos adicionales. >p1 := 6*x*y^5 + 12*y^4 + 14*x^3*y^3 - 15*x^2*y^3 + 9*x^3*y^2 - 30*x*y^2 - 35*x^4*y + 18*y*x^2 + 21*x^5; >sort(p1,[x,y],'plex'); • Con ello se ordenan el orden alfabético, sin embargo podemos utilizar sort sin argumentos adicionales para ordenarlos por potencia. >sort(p1);
Ordenamiento • Además es posible ordenarlos por potencias de alguna de sus variables con el comando collect. >p1 := 6*x*y^5 + 12*y^4 + 14*x^3*y^3 - 15*x^2*y^3 + 9*x^3*y^2 - 30*x*y^2 - 35*x^4*y + 18*y*x^2 + 21*x^5; >collect(p1,x);
Ecuaciones de una incógnita • En maple es posible resolver ecuaciones, para ello supongamos la siguiente ecuación: >ec:=x^2+6*x-3; • Con ello definimos la variable ec, como nuestra ecuación, para resolverla utilizamos el comando solve : >solve(ec);
Ecuaciones de 2 o mas incógnitas • En maple es posible despejar ecuaciones de 2 o mas incógnitas, para ello supongamos la siguiente ecuación: >ec:=x^2+6*x-3+5*y; • Con ello definimos la variable ec, como nuestra ecuación, para despejarla en funcion de la variable x utilizamos el comando solve de la siguiente forma : >solve(ec,{x});