Ejercicios Máxima Universidad Distrital . Prof Masmela

September 6, 2017 | Autor: A. Ordóñez Caicedo | Categoría: Matematica, Maxima Software
Share Embed


Descripción

Anyi Patricia Ordóñez Caicedo

20131167071

1:PROPIEDADES FUNDAMENTALES

1.

wxMaxima. Laboratorio 1

1;1;1: OBJETIVO En el presente taller se busca implementar algunos ejemplos trabajados en esta sección y que utilizan la función Piso (f loor) y Techo(ceiling)en wxMaxima. 1;1;2: ACTIVIDADES Inicialmente se establecen dos comandos requeridos para implementar de manera correcta las funciones que se desean crear, éstas determinan el modo de precisión y el número de dígitos en las simpli…caciones: 1:numer:true$ 2:fpprec:100; 1:Con base en la función Piso (f loor)se desea crear una función que se llamará « truncar» cuyos parámetros serán: x :Valor a truncar n :Número de cifras en el tuncamiento La función se de…ne como: truncar(x; n) := f loor(x 10^n) = 10^n; Shift+Enter truncar(x; n) :=

f loor(x 10n) 10 n

La función Piso es práctica cuando los numeros reales deben ser truncados o aproximados a un número deseado de cifras decimales. Por ejemplo el número real = 3; 1415926535::: truncando a tres cifras decimales está dado por 3; 141. Para ello basta con reemplazar la fórmula y damos en Shift + Enter, en wxMaxima. truncar( %pi; 3); numer; 2. Similar a la función anterior, se desea crear, con base en la función Piso(f loor) una función que se llamará « redondo» que busca redondear un número dado y cuyos parámetros serán: x : Valor a redondear n : número de cifras en el redondeo La función se de…ne como : redondo(x; n) := f loor(x10^n + 0; 5) = 10^n; Shift+Enter 1

redondo(x; n) :=

f loor(x 10 n+0;5) 10 n

Así, redondeado a tres cifras decimales es 3; 142 y se puede obtener oprimiendo las teclas Shift+Enter. redondo( %pi; 3); numer; 3: La función a continuación pretende, al dividir el intervalo [0; 1) en n subintervalos, encontrar el subintervalo que contiene al valor x . La función se bautizará con el nombre « endonde(x; n)» los parametros representan: x : Valor que se pretende ubicar n : Número de subintervalos en que se divide el intervalo [0; 1) Para esto la función se de…ne como: endonde(x; n) := f loor(xn + 1) Por ejemplo, suponga que se divide el intervalo, unitario [0; 1) en 50 subintervalos de igual longitud, y luego se pretende saber el subintervalo que contiene el número 0; 4567. Para ello se da Shift+Enter. endonde(0; 4567; 50); numer; 4: Mediante la siguiente función se ilustra el Ejemplo 1 página 5, « La funcion de la o…cina de correo» .En 2006 la tasa de franqueo en Estados Unidos para un tipo de carta de peso x, de no más de una onza fue de 39 centavos, la tasa para cada onza adicional o fracción hasta 11 onzas fue un adicional de 24 centavos. La función post(x)de…nida a contnuación permite calcular el franqueo de una carta con peso x. post(x) := 0; 39 + 0; 24 ceiling(x

1);

por ejemplo, simpli…cando post(7; 8) se encuentra el franqueo para una carta de 7; 8 onzas. 5. Por último, algunas funciones adicionales para esta sección son valor absoluto, mínimo y máximo que se obtienen mediante. abs(x) min(X1; X2:::) max(X1; X2:::) Por ejemplo abs( %pi), min(2; 4; 2) y max(2; 4; 2) se oprime Shift+Enter y da como resultado. 1.Rta: 3;14159265358972: 2.Rta: 2: 3.Rta:4

2

2.

wxMaxima. Laboratorio 2

OBJETIVO En el presente taller se busca implementar algunos ejemplos trabajados en esta sección y que utilizan la función Sumatoria (sum) y Productoria(product)en wxMaxima. ALGUNAS FUNCIONES REQUERIDAS Antes de comenzar se revisarán dos funciones adicionales como son makelisty divisors:Teniendo en cuenta que la primera designa el vector. La función makelist(u; k; m; n); se simpli…ca a un vector de n m+1elementos generado por la simpli…cación de la expresión u(k)con la variablek variando desde m hasta nen saltos de 1. Por ejemplo. makelist(k^2; k; 2; 5); Se resuelve la expresión dando Shift+Enter, teniendo como resultado [4; 9; 16; 25] Los parámetros m y n pueden cambiarse por un vector sobre el cual la variable k toma valores evaluados en la función u(k), por ejemplo makelist(k^2; k; [3; 5; 8]); Se resuelve la expresión dando Shift+Enter, teniendo como resultado [9; 25; 64] La función divisors(n); da como resultado un vector ordenado de todos los divisores positivos de n.Por ejemplo div isors(28); Se resuelve la expresión dando Shift+Enter, teniendo como resultado f1; 2; 4; 7; 14; 28g ACTIVIDADES La función sum maneja los mismod parámetros de la función makelist y se interpretan de manera similar, así la sumatoria de la expresión sum(u; n; k; m); La diferencia es que mientras la función makelist genera un vector con ciertos elementos, la función sum entrega la suma de dichos elemntos. A continuación se ingresará la sumatoria del Ejemplo 5 y se simpli…cará utilizando la funcion sum. Recodando la sumatoria de este ejemplo, esto es,

3

0 X

j 3 (j

1)2 = ( 2)3 ( 2

1)2 + ( 1)3 ( 1

1)2 + (0)3 (0

1)2

j= 2

=

72 + ( 4) + 0 = 76

Ésta se ingresa a wxMaxima a través del siguiente código sum(j^3 (j

1)^2; j; 2; 0);

Cuya soluci+on es -76.Cabe observar que si se cambia la instrucción sum por makelist su simpli…cación genera en un vector la sucesión de numeros sumados en esta sumatoria. makelist(j^3 (j

1)^2; j; 2; 0);

Asi al resolver la expresión con Shift+Enter, obtenemos [ 72; 4; 0] Para el caso de las productorias se procede de manera similar, salvo que se cambia la orden sum por product, los parámetros son los mismos product(u; n; k; m) En este código se obtiene la produtoria de la expresión u respecto a n desde k hasta m. Para el Ejemplo 7, 4 Y

(2i + 3) = [2(2) + 3][2(3) + 3][2(4) + 3]

i=2

= 693

Se digita y se resuelve la expresión con Shift+Enter en wxMaxima. product(2 j + 3; j; 2; 4); Para el Ejemplo 5, X

d =suma de los enteros positivos de 6

d11 dp6

=suma de los divisores positivos de 6 =1+2+3+6 = 12 Se simpli…ca en wxMaxima la siguiente expresión obteniendo los divisores. lsum(j; j; [1; 2; 3; 6]); 4

Se digita y se resuelve la expresión con Shift+Enter en wxMaxima. = 12 anidando la función sumatoria una en otra seP obtiene suma doble, de Puna 1 0 2 esta forma como el Ejemplo 9 lo pide, calcular i= 1 j= 1 3i j digitando sobre wxMaxima el siguiente código obtenemos esta sumatoria sum(sum((3 i^2) j; j; 1; 0); i; 1; 1); Y resolviendo la expresión con Shift+Enter, obtenemos la solución. 6

3.

wx.Máxima Laboratorio 3

OBJETIVO En el presente taller, se busca implementar algunos funciones de recurrencia utilizando la orden(if ) e ilustrar su utilización a partir de algunos ejemplos trabajados en esta sección. ALGUNAS FUNCIONES REQUERDIDAS La forma general de las expresiones if es condicion; if; then; else condicion; if; then La expresión 1 y 2 pueden estar formada por varias órdenes separadas por comas. Por ejemplo, se creará una función que al ingresar en su argumento un número positivo devuelve un 1 de lo contrario devuelve un 0, el nombre de la función será positivo : positivo(x) := if x > 0 then1 else0; Para esta función positivo(2) se da Shift+Enter y obtenemos como resultado 1, positivo(0) se da Shift+Enter y obtenemos como resultado 0, positivo( 0;5) se da Shift+Enter y obtenemos como resultado 0. Actividades 1:A continuación se utilizará la orden if para crear una función que permita ilustrar la fórmula de recurrencia del Ejemplo 26, el problema del apretón de manos. Para ello se creará la función denominada apretones , cuyo argumento será n el número de individuos en la …esta y al simpli…car dicha función en un valor particular se generará el número de apretones de manos que se darán las personas que se indica están en la …esta de acuerdo al contexto del problema. Así: 5

apretones(n) := if n = 1 then0 else apretones(n

1) + (n

1);

De esta manera se da Shift+Enter y obtenemos como resultado apretones(5) da como resultado 10 que corresponde al número de apretones de manos si hay 5 personas en la …esta. 2:Para el Ejemplo 27 que hace referencia al ejemplo de la torre de Hanoi o torre de Brahma, la función de recurrencia puede ingresarse digitando el siguiente código que utiliza la orden if, Hanoi(n) := if

n = 1 then1 else2 Hanoi(n

1) + 1;

De esta forma, Hanoi(3) se da Shift+Enter y obtenemos como resultado 7, que indica que son mínimo 7 los pasos requeridospara pasar 3 discos de la clavija X a la clavija Z.

4.

Wx.Maxima.Laboratorio 4:

OBJETIVO En el presente taller se busca construír una función que ilustre el desarrollo de binomios a partir del teorema del binomio y algunas otras que involucren el coe…ciente binomial comb(n; r): ALGUNAS FUNCIONES REQUERIDAS La función comb(n; r) da el número combinatorio, en Maxima se evalua dando Shift+Enter, obteniendo como resultado: comb(n; r) = n!=(r! (n = (n n!r)!r!

r)!);

ACTIVIDADES 1. En esta primera actividad se creará una función que genere un vector con la k-ésima …la del triángulo de pascal, se le llamará a la función f ila , de esta forma la función es: f ila(n) := makelist(comb(n; r); r; 0; n); Así, f ila(4), se evalua dando Shift+Enter a un vector con los elementos de la cuarta …la del triángulo de Pascal, es decir a [1; 4; 6; 4; 1]: 2. La función a continuación denominada binomio permite encontrar la expansión de un binomio a la n-ésima potencia, utilizando el teorema del binomio. binomio(x; y; n) := sum(comb(n; k) x^(n

k) y^k; k; 0; n);

Por ejemplo el binomio(2 a; b; 3) se evalua dando Shift+Enter a la expansión del binomio (2a + b)3 , lo cual es igual a: b3 + 6ab2 + 12a2 b + 8a3 , que es lo mismo a: 6

8a3 + 12a2 b + 6ab2 + b3 : 3. A continuación se de…ne una función denominada termino(k; x; y; n) , esta función permite obtener el k-ésimo término de la expansión del binomio (x+y)n . termino(k; x; y; n) := comb(n; k

1) x^(n

(k

1)) y^(k

1);

así, termino(3; 2 a; b; 3) se simpli…ca al tercer término de la expansión del binomio(2a + b)3 en este caso a 6ab2.

5.

Wx.Maxima Laboratorio 5.

Objetivo. En el presente taller se busca conocer las funciones que permiten obtener los números poligonales, en particular los números triangulares, cuadrados,pentagonales y hexagonales trabajados en esta sección. Algunas funciones requeridas. Para los números triangulares se tiene la función triangular(n) de…nida como: triangular(n) := ((n (n + 1))=2); y que permite obtener el n esimo número triangular. En general, la función pol{gonal(n; p) se simpli…ca al n esimo número poligonal con p caras, siendo p 2 y se de…ne de la siguiente manera: poligonal(n; p) := ((n ((p

2) n

(p

4)))=2);

Por ejemplo,para hallar los 10 primeros números poligonales de 3 caras, o tambien llamados triangulares, se da Shift+Enter para cualquiera de las dos siguientres expresiones, makelist(triangular(n); n; 1; 10); o makelist(poligonal(n; 3); n; 1; 10); al dar Shift+Enter se genera el siguiente vector: [1; 3; 6; 10; 15; 21; 28; 36; 45; 55] Si se quiere generar, por ejemplo, un vector con los 20 primeros números hexagonales se da Shift+Enter a la expresión: 7

makelist(poligonal(n; 6); n; 1; 20); obteniendo el vector:

[1; 6; 15; 28; 45; 66; 91; 120; 153; 190; 231; 276; 325; 378; 435; 496; 561; 630; 703; 780] Actividades Con base en las relaciones de recurrencia de…nidas para cada tipo de número poligonal y utilizando la función if es posible de…nir también en Máxima funciones que permitan obtener los números poligonales. Puede utilizarse la función de recurrencia en (1;9), de…nida para los números cuadrados, y construir una función en Máxima para los números cuadrados así, cuadrado(n) := if n = 1 then 1 else cuadrado(n

1) + 2 n

1;

Habiendo de…nido esta función, se da Shift+Enter a la expresión: makelist(cuadrado(n); n; 1; 10); se obtiene un vector con los 10 primeros números cuadrados, esto es [1; 4; 9; 16; 25; 36; 49; 64; 81; 100]

6.

Wx.Máxima Laboratorio 6.

Objetivo. En el presente taller se explorará la función polygonal_pyramid(n; p; d); que permiten obtener los diferente tipos de números piramidales. Algunas funciones requeridas La función que se requiere para generar cualquier número piramidal, incluso con esta función se pueden obtener los números poligonales,es la que se presenta defínida en Máximaa como: polygonal_pyramid(n; p; d) := if d = 2 then((n ((p 2) n (p else sum(((n ((p 2) n (p 4)))=2); n; 1; n);

4)))=2)

cuyos parámetros son n que indica que se va a generar el n-ésimo número que se quiere, p que hace referencia al número de lados del polígono que constituye la base del número que se pretende obtener y d es la dimensión, cuando d es 2 hablamos de poligonos mientras que para d igual a 3 se habla de piramides en 3 dimensiones, idea que puede ser genralizada a más dimensiones. Actividades A continuacion se generará un vector con los 10 primeros números piramidales triangulares dando Shift+Enter al siguiente código: 8

makelist(polygonal_pyramid(n; 3; 3); n; 1; 10); cuyo resultado genera el vector: [1; 4; 10; 20; 35; 56; 84; 120; 165; 220] Para los 10 primeros piramidales cuadrados se da Shift+Enter makelist(polygonal_pyramid(n; 4; 3); n; 1; 10); que genera como resultado: [1; 5; 14; 30; 55; 91; 140; 204; 285; 385] Para los 10 primeros piramidales hexagonales se da Shift+Enter en: makelist(polygonal_pyramid(n; 6; 3); n; 1; 10); que permite obtener el vector [1; 7; 22; 50; 95; 161; 252; 372; 525; 715]

7.

Wx.Maxima Laboratorio 7.

Objetivo. En el presente taller se explorará la función catalan(n) y se construirá otra a partir de la recursividad que genere los números de Catalán. Algunas funciones requeridas La función en Máxima que por defecto genera los números de Catalán se de…ne primero: comb(n; r) := (n!) = (r! (n

r)!);

de…nimos la función: catalan(n) := (1=(n + 1)) comb(2 n; n); y se da Shift+Enter al n-ésimo número de Catalán. Actividades Para obtener un vector con los diez primeros números de Catalán se Shift+Enter a la expresión a continuación makelist(catalan(n); n; 1; 10); Utilizando la de…nición recursiva del los números de Catalán dada en esta sección es posible construir una función que genere dichos números, es así como de…niendo la función: c(n) := if

n = 0 then 1

else((4 n

2)=(n + 1) c(n

y dando Shift+Enter makelist(c(n); n; 0; 10); se obtiene: [1; 1; 2; 5; 14; 42; 132; 429; 1430; 4862; 16796] 9

1));

8.

Wx.Máxima Laboratorio 8.

Objetivo En el presente taller se explorará la función mod(m; n) y se construirá con base en esta la función div(m; n): Algunas funciones requeridas La función mod(m; n) se simpli…ca al residuo no negativo de dividir m entre n. Así cuando se divide 23 entre 5, como se vió en el Ejemplo 37, el residuo es 2, de esta forma al simpli…car: mod( 23; 5); se obtiene 2: Actividades Para de…nir el operador div se procede de la siguiente forma, ya que div es una función reservada para Wx.Máxima se utilizará como nombre de la función Q(m; n). Q(m; n) := f loor( m n ); así Q( 23; 5) se simpli…ca al cociente de dividir 23 entre 5, es decir a 5. Con este par de funciones así de…nidas se construira una función que dados dos números el divisor y el dividendo arroje como resultado un vector de dos componenetes que cuyas componentes sean el cociente y el residuo, soportado por el algoritmo de la división. Llamando la función AD(a; b) en donde a es el divisor y b el dividendo se tiene que: AD(a; b) := [Q(a; b); mod(a; b)]; Por tanto si se le pide a Wx.Máxima que simpli…que: AD( 23; 5); el programa arrojará [ 5; 2]:

10

Lihat lebih banyak...

Comentarios

Copyright © 2017 DATOSPDF Inc.