Applications, Examples and Libraries

Share your work here

Some errors in MapleSim Tutorials! While I was working with MapleSim tutorials, I have encountered some problems that the results did not match the answer. I have uploaded the files, that I have worked on, in a zip file to this address (http://www.mediafire.com/download/2pirvfbawyjfa18/MapleSim_Projects.zip). The problems are as follows:

1. Based on video tutorial on this page (

I would like to pay attention to http://www.ams.org/samplings/feature-column/fc-2013-05 .
Comparing the Galileo's calculation 87654/53 with the capacity of Maple, the question arises:
"Are we  cleverer than Galileo Galilei?". I don't know the answer.

Introduction
The purpose of this post is the investigation of the connection between the connectivity of an undirected graph and the numbers of its vertices and edges with help of the GraphTheory package.
The reader is  referred to http://en.wikipedia.org/wiki/Graph_theory and to ?GraphTheory for info.
Let us...

Using the Quandl API, we have created a Quandl library for Maple.  The Quandl library for Maple provides easy access to Quandl’s repository of over 5 million time-series datasets from directly inside Maple, allowing you to utilize Maple’s robust tools for mathematical statistics and data analysis on Quandl’s extensive collection of data.  This library features a similar set of functionalities to the Quandl

 

An intersection in my neighbourhood, currently controlled by a 2-way stop, is under consideration to become a 4-way stop.  This means the traffic that currently has the right-of-way will be required to come to a complete stop, wheras previously they could have coasted down the hill, and accelerated up the other side.   Politics aside, I was curious to explore the following question:

It's interesting that every continuous piecewise linear function can be specified by one explicit equation with absolute values​​. The procedure JoggedLine carries out such conversion.

Formal arguments of the procedure: 

A - a list of the coordinates of the vertices of the polyline or the continuous piecewise linear expression defined on the entire real axis.

B (optional) - a point on the left "tail"...

Hi,

Here an example of integral that Maple 17 cannot calculate (mean of standard Gumbel distribution)

> G:=int(x*exp(-x)*exp(-exp(-x)), x = -infinity .. infinity);

The result is known as the Euler-Mascheroni constant as shown by a numerical computation:

 > evalf(G);

0.5772156649

>  identify(%, extension = [gamma]);

gamma

> evalf(gamma)

0.5772156649

Also, it cannot compute the variance

Dear Colleagues,Surfing the web I found several applications in MatLab, which perform image processing. One of them caught my attention and challenge to reproduce in Maple.I attached the text of the original application and my attempt to play in Maple. I ask you your guidance, support and intervention to reproduce as faithfully as possible the original application. It was impossible on the final image point to the center of the circle and draw.I believe that together we can achieve...

My site of Russian Maple's Center (webmath.exponenta.ru) reached the milestone of 8000000 visits.

Year of foundation - 2000
Now - 8,000 visitors a day.
Since the Maplesoft is not interested in this project, I renamed it.
Current title: Site of Independent Work of students.
I wish you all good luck!

Mechanics of Materials toolbox for Maple: 10 (or bit more :)) free licences for Maple fans.

For students, engineers and simply creative fans of Maple.

If you are concerning mechanics of materials or structural mechanics, please feel free to

send Hardware ID code via e-mail: support@orlovsoft.com after downloading from

http://www.orlovsoft.com/download.html

and installing MM Toolbox for Maple.

(Maple 32 bit only)

Thanks to Maplesoft for analytic power

Given a figure in the plane bounded by the non-selfintersecting piecewise smooth curve. Each segment in the border defined by the list in the following format (variable names  in expressions can be arbitrary):

1) If this segment is given by an explicit equation, then  [f(x), x=x1..x2)]

2) If it is given in polar coordinates, then  [f(phi), phi=phi1..phi2, polar] , phi is polar angle

3) If the segment is given parametrically, then  [[f(t), g(t)], t=t1..t2]

4) If several consecutive segments or entire border is a broken line, then it is sufficient to set vertices the broken line [ [x1,y1], [x2,y2], .., [xn,yn]]

 

The first procedure symbolically finds perimeter of the figure. Global variable  Q  saves the lengths of all segments.

Perimeter := proc (L) #  L is the list of all segments of the border

local i, var, var1, var2, e, e1, e2, P;

global Q;

for i to nops(L) do if type(L[i], listlist(algebraic)) then P[i] := seq(simplify(sqrt((L[i, j, 1]-L[i, j+1, 1])^2+(L[i, j, 2]-L[i, j+1, 2])^2)), j = 1 .. nops(L[i])-1) else

var := lhs(L[i, 2]); var1 := min(lhs(rhs(L[i, 2])), rhs(rhs(L[i, 2]))); var2 := max(lhs(rhs(L[i, 2])), rhs(rhs(L[i, 2])));

if type(L[i, 1], algebraic) then e := L[i, 1]; if nops(L[i]) = 3 then P[i] := simplify(int(sqrt(e^2+(diff(e, var))^2), var = var1 .. var2)) else

P[i] := simplify(int(sqrt(1+(diff(e, var))^2), var = var1 .. var2)) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := abs(simplify(int(sqrt((diff(e1, var))^2+(diff(e2, var))^2), var = var1 .. var2))) end if end if end do;

Q := [seq(P[i], i = 1 .. nops(L))];

add(Q[i], i = 1 .. nops(Q));

end proc:

 

The second procedure symbolically finds the area of the figure. For correct work of the procedure, all the segments in the list L  of border must pass sequentially in clockwise or counter-clockwise direction.

Area := proc (L)

local i, var, e, e1, e2, P;

for i to nops(L) do

if type(L[i], listlist(algebraic)) then P[i] := (1/2)*add(L[i, j, 1]*L[i, j+1, 2]-L[i, j, 2]*L[i, j+1, 1], j = 1 .. nops(L[i])-1) else

var := lhs(L[i, 2]);

if type(L[i, 1], algebraic) then e := L[i, 1];

if nops(L[i]) = 3 then P[i] := (1/2)*(int(e^2, L[i, 2])) else

P[i] := (1/2)*simplify(int(var*(diff(e, var))-e, L[i, 2])) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := (1/2)*simplify(int(e1*(diff(e2, var))-e2*(diff(e1, var)), L[i, 2])) end if end if

end do;

abs(add(P[i], i = 1 .. nops(L)));

end proc:

 

The third procedure shows this figure. To paint the interior of the boundary polyline approximation is used. Required parameters: L - a list of all segments of the border and C - the color of the interior of the figure in the format color = color of the figure. Optional parameters: N - the number of parts for the approximation of each segment (default N = 100) and Boundary is defined by a list for special design of the figure's border (the default border is drawed by a thin black line). The border of the figure can be drawn separately without filling the interior by the global variable Border.

Picture := proc (L, C, N::posint := 100, Boundary::list := [linestyle = 1])

local i, var, var1, var2, e, e1, e2, P, Q, h;

global Border;

for i to nops(L) do

if type(L[i], listlist(algebraic)) then P[i] := op(L[i]) else

var := lhs(L[i, 2]); var1 := lhs(rhs(L[i, 2])); var2 := rhs(rhs(L[i, 2])); h := (var2-var1)/N;

if type(L[i, 1], algebraic) then e := L[i, 1];

if nops(L[i]) = 3 then P[i] := seq(subs(var = var1+h*i, [e*cos(var), e*sin(var)]), i = 0 .. N) else

P[i] := seq([var1+h*i, subs(var = var1+h*i, e)], i = 0 .. N) end if else

e1 := L[i, 1, 1]; e2 := L[i, 1, 2]; P[i] := seq(subs(var = var1+h*i, [e1, e2]), i = 0 .. N) end if end if

end do;

Q := [seq(P[i], i = 1 .. nops(L))];

Border := plottools[curve]([op(Q), Q[1]], op(Boundary));

[plottools[polygon](Q, C), Border];

end proc:

 

Examples of works:

Example 1.

L := [[sqrt(-x), x = -1 .. 0], [2*cos(t), t = -(1/2)*Pi .. (1/4)*Pi, polar], [[1, 1], [1/2, 0], [0, 3/2]], [[-1+cos(t), 3/2+(1/2)*sin(t)], t = 0 .. -(1/2)*Pi]];

Perimeter(L); Q; evalf(`%%`); evalf(`%%`); Area(L); 

plots[display](Picture(L, color = grey, [color = "DarkGreen", thickness = 4]), scaling = constrained);

plots[display](Border, scaling = constrained);

Example 2.

The easiest way to use this  procedures for polygons.

 L := [[[3, -1], [-2, 2], [5, 6], [2, 3/2], [3, -1]]];

Perimeter(L), Q;

Area(L);

plots[display](Picture(L, color = pink, [color = red, thickness = 3]));

 

 

Example 3 (more complicated )

3 circles on the plane C1, C2 and C3 defined by the parametric equations  of their borders. We want to find the perimeter, area, and paint the figure  C3 minus (C1 union C2) . For details see attached file. 

C1 := {x = -sqrt(7)+4*cos(t), y = 4*sin(t)};

C2 := {x = 3*cos(s), y = 3+3*sin(s)};

C3 := {x = 4+5*cos(u), y = 5*sin(u)};

L := [[[-sqrt(7)+4*cos(t), 4*sin(t)], t = -arccos((1/4)*(7+4*sqrt(7))/(sqrt(7)+4)) .. -arctan((3*(-23+sqrt(7)*sqrt(55)))/(23*sqrt(7)+9*sqrt(55)))], [[3*cos(s), 3+3*sin(s)], s = -arctan((1/3)*(9+sqrt(7)*sqrt(55))/(-sqrt(7)+sqrt(55))) .. arctan((1/3)*(-9+4*sqrt(91))/(4+sqrt(91)))], [[4+5*cos(u), 5*sin(u)], u = arctan((3*(41+4*sqrt(91)))/(-164+9*sqrt(91)))+Pi .. arctan(3/4)-Pi]];

Perimeter(L), Q; evalf(%);

Area(L); evalf(%)

 A := plot([[rhs(C1[1]), rhs(C1[2]), t = 0 .. 2*Pi], [rhs(C2[1]), rhs(C2[2]), s = 0 .. 2*Pi], [rhs(C3[1]), rhs(C3[2]), u = 0 .. 2*Pi]], color = black);

B := Picture(L, color = green, [color = black, thickness = 4]);

plots[display](A, B, scaling = constrained);

More examples and all codes see in attached file

Plane_figure.mw

quandl (http://www.quandl.com/) has a great feature called superset (you need a free acount)
where the user can combine different data variables (4 000 000 to choice from) into a big
dataset (csv file) that can be downloaded from a permenant web url. This a great data feed
for maple. The problem is however that you have to use stringtools (quite messy) in maple to
extract the data. Hence, it would be great to have a simple procedure that only needs the web

For the last few releases of Maple, we have been adding features to take advantage of multi-core processors.  Most of this work has focused on particular algorithms or on tools that allow users to author their own parallel code.  Although this was very useful for those users who were able to use those tools, many users did not see a performance improvement.  To help all users we need to integrate parallelism into the core algorithms of Maple.  In Maple 17 we have taken the first step towards general parallelism in the core algorithms by implementing a parallel garbage collector.

Now we turn to an example of the usage of the Dragilev method with Maple. Let us consider the curve
from
http://www.mapleprimes.com/questions/143454-How-To-Produce-Such-Animation .

Its points can be found by the Dragilev method as follows.

 

This is an effective method of solving systems of  N nonlinear and nonalgebraic equations in N+1 real-valued variables:
F(x)=0, where F=(f1,f2,..., fN) and x=(x1,x2,...,xN+1). (1)               
                                                                  
All the functions fj(x) are assumed to be continuously differentiable in some domain D in R^(N+1).
In general, such systems have an infinite set of the solutions which form a space curve in R^(N+1).
 The Optimization and DirectSearch solvers have difficulties with it.
The idea of the Dragilev method consists in the following. Let us assume that the space curve (1) can be parametrized through the  parameter t
which can be taken as the  length of the arc (for example, see http://en.wikipedia.org/wiki/Curve ).
That presentation provides to avoid the difficulties associated with self-intersections and singularities.
We will obtain the coordinates of the points of the space curve under consideration as the solution
of the Cauchy problem for certain system of ODEs. We put the coordinates of a known point of (1) as the initial conditions.
The system of ODEs is obtained by the differentiation  with respect to t:

We treat (2) as a linear system in the derivatives diff(xj(t),t),j=1..N+1. In general, its solutions form an infinite set.
We choose the  solution of (2) as follows. We put diff(xN+1)= -Determinant(Matrix(n, (i,j)->diff(fi(x),xj))).
This is one of the key points of the method under consideration.
Next, we find diff(xj,t), j=1..N. At last, we numerically solve that system of ODEs, obtaining an array of points.
 The general case of a system of N nonlinear  equations in N variables
G(y)=0, where y=(y1, y2, ..., yN), G=(g1,g2,..., gN) (3),
is reduced to the previous one by homotopy. We choose a point y0= (y01, ..., y0N) and consider the system
G(y)- v*G(y0)=0 (4)
of N equations in N+1 variables (v is taken as  a dummy variable). Changing v from 1 to 0, we arrive to (3).
We don't consider any mathematical justification of the above pattern here as that does not deal with Maple.
I would like to point out the sites

http://forum.exponenta.ru/viewtopic.php?t=3892 and
http://forum.exponenta.ru/viewtopic.php?t=11284 , where the Dragilev method is discussed. Unfortunately, in Russian.
The googling of "Dragilev" and "Draghilev" does not produce many info.
A short biographical sketch: Dr. Anatoliy Vladimirovich Dragilev (1923 - 1997) was a professor at  Rostov State University in Russia.
See his articles here: http://www.mathnet.ru/php/person.phtml?&personid=32359&option_lang=eng and
http://www.zentralblatt-math.org/zmath/en/search/?q=au%3A%22dragilev%2C%20a*%20v*%22 .
 

I am very grateful to Professor Alexey B. Ivanov, who is an enthusiast of the Dragilev method, for the very useful discussions.

First 48 49 50 51 52 53 54 Last Page 50 of 71