Education

Teaching and learning about math, Maple and MapleSim

A rigid rotating body is a moving mass, so that kinetic energy can have expressed in terms of the angular speed of the object and a new quantity called moment of inertia, which depends on the mass of the body and how it is such distributed mass. Now we'll see with maple.

 

Momento_de_Inercia.mw

(in spanish)

Atte.

L. Araujo C.

In this section, we will consider several linear dynamical systems in which each mathematical model is a differential equation of second order with constant coefficients with initial conditions specifi ed in a time that we take as t = t0.

All in maple.

 

Vibraciones.mw

(in spanish)

 

Atte.

L.AraujoC.

The procedure  Partition  significantly generalizes the standard procedure  combinat[partition]  in several ways. The user specifies the number of parts of the partition, and can also set different limitations on parts partition.

Required parameters:  n - a nonnegative integer, - a positive integer or a range (k  specifies the number of parts of the partition). The parameter  res  is the optional parameter (by default  res is  ). If  res  is a number, all elements of  k-tuples must be greater than or equal  res .  If  res  is a range  a .. b ,   all elements of  k-tuples must be greater than or equal  a  and  less than or equal  b . The optional parameter  S  - set, which includes elements of the partition. By default  S = {$ 0.. n} .

The code of the procedure:

restart;
Partition:=proc(n::nonnegint, k::{posint,range}, res::{range, nonnegint} := 1, S::set:={$0..n})  # Generates a list of all partitions of an integer n into k parts
local res1, k_Partition, n1, k1, L;
if type(args[-1],set) and S[1]=0 then res1:=0 else res1:=res fi;
k_Partition := proc (n, k::posint, res1, S)
local m, M, a, b, S1, It, L0;
m:=S[1]; M:=S[-1];
if res1::nonnegint then a := max(res1,m); b := min(n-(k-1)*a,M)  else a := max(lhs(res1),m); b := min(rhs(res1),M) fi;
S1:={$a..b} intersect S;
if b < a or b*k < n or a*k > n  then return [ ] fi;
It := proc (L)
local m, j, P, R, i, N;
m := nops(L[1]); j := k-m; N := 0;
for i to nops(L) do
R := n-`+`(op(L[i]));
if R <= b*j and a*j <= R then N := N+1;
P[N] := [seq([op(L[i]), s], s = {$ max(a, R-b*(j-1)) .. min(R, b)} intersect select(t->t>=L[i,-1],S1) )] fi;
od;
[seq(op(P[s]), s = 1 .. N)];
end proc;
if k=1 then [[b]] else (It@@(k-1))(map(t->[t],S1))  fi;
end proc; 
if k::posint then return k_Partition(n,k,res1,S) else n1:=0;
for k1 from lhs(k) to rhs(k) do
n1:=n1+1; L[n1]:=k_Partition(n,k1,res1,S)
od;
L:=convert(L,list);
[seq(op(L[i]), i=1..n1)] fi;
end proc:

 

Examples of use:

Partition(15, 3);

 

 

Partition(15, 3..5, 1..5);  # The number of parts from 3 to 5, and each summand from 1 to 5

 

 

Partition(15, 5, {seq(2*n-1, n=1..8)});  # 5 summands and all are odd numbers 

 

 

A more interesting example.
There are  k banknotes in possible denominations of 5, 10, 20, 50, 100 dollars. At what number of banknotes  k  the number of variants of exchange  $140  will be maximum?

n:=0:

for k from 3 to 28 do

n:=n+1: V[n]:=[k, nops(Partition(140, k, {5,10,20,50,100}))];

od:

V:=convert(V, list);

max(seq(V[i,2], i=1..nops(V)));

select(t->t[2]=8, V);

 

Here are these variants:

Partition(140, 10, {5,10,20,50,100});

Partition(140, 13, {5,10,20,50,100});

 

 Edit. Fixed a bug in the code that caused some solutions to be lost if the third argument to the procedure was a set that included 0 .

 

 

 

The equations of motion for a rigid body can be obtained from the principles governing the motion of a particle system. Now we will solve with Maple.

 

Dinamica_plana_de_cuerpos_rigidos.mw

(in spanish)

Atte.

Lenin Araujo Castillo

Corrección ejercico 4

 

4.- Cada una de las barras mostradas tiene una longitud de 1 m y una masa de 2 kg. Ambas giran en el plano horizontal. La barra AB gira con una velocidad angular constante de 4 rad/s en sentido contrario al de las manecillas del reloj. En el instante mostrado, la barra BC gira a 6 rad/s en sentido contrario al de las manecillas del reloj. ¿Cuál es la aceleración angular de la barra BC?

Solución:

restart; with(VectorCalculus)

NULL

NULL

m := 2

L := 1

theta := (1/4)*Pi

a[G] = x*alpha[BC]*r[G/B]-omega[BC]^2*r[G/B]+a[B]NULL

NULL

a[B] = x*alpha[AB]*r[B/A]-omega[AB]^2*r[B/A]+a[A]

NULL

aA := `<,>`(0, 0, 0)

`&alpha;AB` := `<,>`(0, 0, 0)

rBrA := `<,>`(1, 0, 0)

`&omega;AB` := `<,>`(0, 0, 4)

aB := aA+`&x`(`&alpha;AB`, rBrA)-4^2*rBrA

Vector[column](%id = 4411990810)

(1)

`&alpha;BC` := `<,>`(0, 0, `&alpha;bc`)

rGrB := `<,>`(.5*cos((1/4)*Pi), -.5*sin((1/4)*Pi), 0)

aG := evalf(aB+`&x`(`&alpha;BC`, rGrB)-6^2*rGrB, 5)

Vector[column](%id = 4412052178)

(2)

usando "(&sum;)M[G]=r[BC] x F[xy]"

rBC := `<,>`(.5*cos((1/4)*Pi), -.5*sin((1/4)*Pi), 0)

Fxy := `<,>`(Fx, -Fy, 0)

NULL

`&x`(rBC, Fxy) = (1/12*2)*1^2*`&alpha;bc`

(.2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2))*e[z] = (1/6)*`&alpha;bc`

(3)

 

"(&sum;)Fx:-Fx=m*ax"           y             "(&sum;)Fy:Fy=m*ay"

ax := -28.728+.35355*`&alpha;bc`

-28.728+.35355*`&alpha;bc`

(4)

ay := .35355*`&alpha;bc`+12.728

.35355*`&alpha;bc`+12.728

(5)

Fx := -2*ax

57.456-.70710*`&alpha;bc`

(6)

Fy := 2*ay

.70710*`&alpha;bc`+25.456

(7)

`&x`(rBC, Fxy) = (1/12*2)*1^2*`&alpha;bc`

(.2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2))*e[z] = (1/6)*`&alpha;bc`

(8)

.2500000000*sqrt(2)*(-.70710*`&alpha;bc`-25.456)+(.2500000000*(57.456-.70710*`&alpha;bc`))*sqrt(2) = (1/6)*`&alpha;bc`

.2500000000*2^(1/2)*(-.70710*`&alpha;bc`-25.456)+(14.36400000-.1767750000*`&alpha;bc`)*2^(1/2) = (1/6)*`&alpha;bc`

(9)

"(->)"

[[`&alpha;bc` = 16.97068481]]

(10)

NULL

 

Download ejercicio4.mw

A heart shape in 3d:

 

 

The code of the animation:

A := plots[animate](plot3d, [[16*sin(t)^3*cos(s), 16*sin(t)^3*sin(s), 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)], t = 0 .. u, s = 0 .. 2*Pi, color = red, style = surface, axes = none], u = 0 .. Pi, frames = 100):

B := plots[animate](plot3d, [[16*sin(t)^3*cos(s), 16*sin(t)^3*sin(s), 13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t)], t = u .. Pi, s = 0 .. 2*Pi, color = "LightBlue", style = surface, axes = none], u = 0 .. Pi, frames = 100):

plots[display](A, B);

 

Edited. The direction of painting changed.

 

The precise definition is that the distance between any two points of the rigid body remains constant. Although any body is deformed to move, if the deformation is small movement can be approximated by modeling it as a rigid body. Now let's see how Maple is part of the solution.

Cinematica_plana_de_cuerpos_rigidos.mw

(in spanish)

Atte.

Lenin Araujo C.

 

 

 

    Intersection of surfaces:

x3-.25*(sin(4*x1)+sin(3*x2+x3)+sin(2*x2))=0;  (1)

(x1-xx1)^4+(x2-xx2)^4+(x3-xx3)^4-1=0;          (2)   

   Surface (1) and a set of surfaces (2). Point (xx1, xx2, xx3) belongs to (1). Moving along the surface (1), we compute its intersection with the surface (2).
   The program is very simple and its algorithm can be used for many other combinations of equations.

intersection_of_surfaces.mw  

Maplesoft regularly hosts live webinars on a variety of topics. Below you will find details on upcoming webinars we think may be of interest to the MaplePrimes community.  For the complete list of upcoming webinars, visit our website.

Introduction to the Maple T.A. MAA Placement Test Suite – Part #2

This webinar will provide attendees with a more detailed guide to the Maple T.A. MAA Placement Test Suite. The presentation will go beyond the basics to introduce each type of placement test, including algorithmic tests, calculator-based tests, concept readiness tests, and more. A few topics will be explored in the context of each different test type. The presentation will conclude with an explanation of how to set cut-off scores for your institution, as well as how the placement tests were created and validated by the Mathematical Association of America.

To join us for the live presentation, please click here to register.

Creating Questions in Maple T.A. – Part #3

This presentation is the third installment of a series that explores question authoring in Maple T.A., Maplesoft’s testing and assessment solution for courses involving mathematics. This final webinar will focus on creating advanced Maple-graded questions using intuitive algorithms.

In case you missed them, the first webinar in the series provided an overview of the question repository and how to create various types of basic questions. The second webinar in the series focused on how to create better questions using the question designer, and introduced more advanced question types such as sketch and free body diagram. 

To join us for the live presentation, please click here to register.

The well-known  combinat[composition]  command computes and returns a list containing all distinct ordered  k-tuples of positive integers whose elements sum equals  . These are known as the compositions of  n .  For some applications, additional constraints are required for the elements of these k-tuples, for example, that they are within a certain range.

The  Composition  procedure solves this problem. Required parameters:  n - a nonnegative integer, - a positive integer. The parameter  res  is the optional parameter (by default  res is  ). If  res  is a number, all elements of  k-tuples must be greater than or equal  res .  If  res  is a range  a .. b ,   all elements of  k-tuples must be greater than or equal  a  and  less than or equal  b .  Composition(n,k,1)  is equivalent to  combinat[composition](n,k) .

 

The code of the procedure:

Composition := proc (n::nonnegint, k::posint, res::{range, nonnegint} := 0)

local a, b, It, L0; 

if res::nonnegint then a := res; b := n-(k-1)*a  else a := lhs(res); b := rhs(res) fi;

if b < a or b*k < n then return `No solutions` fi; 

It := proc (L)

local m, j, P, R, i, N;

m := nops(L[1]); j := k-m; N := 0;

for i to nops(L) do

R := n-`+`(op(L[i]));

if R <= b*j and a*j <= R then N := N+1;

P[N] := [seq([op(L[i]), s], s = max(a, R-b*(j-1)) .. min(R, b))] fi;

od;

[seq(op(P[s]), s = 1 .. N)];

end proc;

L0 := [[]];

(It@@k)(L0); 

end proc:

 

Three simple examples:

Composition(10,3); ``;   # All terms greater than or equal 0

Composition(10,3, 2);   # All terms greater than or equal 2

Composition(10,3, 2..4);   # All terms greater than or equal 2 and less than or equal to 4 

 

 

A more complex example. The problem - to find all the numbers in the range  1 .. 99999999  whose digits sum is equal to 21 .

Each number is represented by a list of digits from left to right, replacing missing digits at the left with zeros.

M:=Composition(21,8, 0..9):  

nops(M);  # The number of solutions

[seq(M[1+100000*i], i=0..9)]; # 10 solutions from the list M starting the first one

seq(add(%[i,k]*10^(8-k), k=1..8),i=1..nops(%));  # Conversion into numbers

 

Composition.mws

Greetings to all.

I am writing to alert MaplePrimes users to a Maple package that makes an remarkable contribution to combinatorics and really ought to be part of your discrete math / symbolic combinatorics class if you teach one. The combstruct package was developed at INRIA in Paris, France, by the algorithmics research team of P. Flajolet during the mid 1990s. This software package features a parser for grammars involving combinatorial operators such as sequence, set or multiset and it can derive functional equations from the grammar as well as exponential and ordinary generating functions for labeled and unlabeled enumeration. Coefficients of these generating functions can be computed. All of it easy to use and very powerful. If you are doing research on some type of combinatorial structure definitely check with combstruct first.

My purpose in this message is to advise you of the existence of this package and encourage you to use it in your teaching and research. With this in mind I present five applications of the combstruct package. These are very basic efforts that admit improvement that can perhaps serve as an incentive to deploy combstruct nonetheless. Here they are:

I hope you enjoy reading these and perhaps you might want to feature combstruct as well, which presented the first complete implementation in a computer algebra system of the symbolic method, sometimes called the folklore theorem of combinatorial enumeration, when it initially appeared.

Best regards,

Marko Riedel.

Currently calculations: equations, regression analysis, differential equations, etc; to mention a few of them; are developed using traditional methods ie even are proposed and solved by hand and on paper. In teaching our scientists and engineers use the chalkboard as a way to reach students and enable them to solve their calculation. To what extent Maple contributes to research on new mathematical models applied science and engineering ?. Maplesoft appears as a proposal to resolve problems with our traditional proposed intelligent algorithms, development process, embedded components, and not only them but also generates type applications for Apple ipad tablets signature. Based on the computer algebra system Maple Maplesoft gives us the package which works exactly like we were on our work. I will show how mathematics is developed from a purely basic to reach modeling differential equations applied to education and engineering. Also visualizare current techniques for developing applications for mobile devices.

link: https://www.youtube.com/watch?v=FdRUSgfPBoc

 

ECI_2015.pdf

Atte.

Lenin Araujo Castillo

Physics Pure

Computer Science

We are happy to announce the first results of a partnership between Maplesoft and the University of Waterloo to provide effective, engaging online education for technical courses.

Combining rich course materials developed by the University with Maple T.A. and Maplesoft technology for developing, managing, and displaying dynamic content, the Secondary School Courseware project supports high school students and teachers from around the world in their Precalculus and Calculus courses. The site includes interactive investigations, videos, and self-assessment questions that provide immediate feedback.

Feel free to take a look. The site is free, and no login is required.  

For more information about the project, see Online Mathematical Courseware.

eithne

Hello Everyone, I am new one in the community..

In this work we show you what to do with the programming of Embedded Components applied to graphics in the Cartesian plane; from the visualization of a point up to three-dimensional objects and also using the Maple language generare own interactive applications for touch screen technology in mobile devices techniques. Given that computers use multicore and designed algorithms that solve calculus problems with very good performance in time; this brings programming to more complex mathematical structures such as in the linear algebra, analytic geometry and advanced methods in numerical analysis. The graphics will show real-time results for the correct use of the parallel programming undertook to bear the procedural technique is well suited to the data structure, curves and surfaces. Interaction in a single graphical container allowing the teaching and / or research the rapid change of parameters; giving a quick interpretation of the results.

 

FAST_UNT_2015.pdf

Programming_Embedded_Components_for_Graphics_in_Maple.mw

Atte.

L.Araujo C.

Physics Pure

Computer Science

 

 

 

First 33 34 35 36 37 38 39 Last Page 35 of 59