400 likes | 609 Vues
Maple. Seminar provided by: Mathematics Faculty Computing Facility Presented by: Marcus Shea. Seminar Schedule. Maple Wed. July 23, 5-6pm AMPL Wed. July 30, 5-6pm Both in MC 3006, pizza provided afterward. Goal of Seminars. Provide new tools and useful information to
E N D
Maple Seminar provided by: Mathematics Faculty Computing Facility Presented by: Marcus Shea
Seminar Schedule • Maple • Wed. July 23, 5-6pm • AMPL • Wed. July 30, 5-6pm • Both in MC 3006, pizza provided afterward
Goal of Seminars • Provide new tools and useful information to • Help you with homework • Approaching problems during co-op terms • Assist personal research • Give you a competitive edge • You will learn these new tools through real world examples
Maple in the Real World • Maple plays a vital role in 3-D biomechanical modeling and stability analysis of bipedal motion • Maple aids in the development of new aerospace manufacturing technologies • Maplesoft technology speeds up concept vehicle prototyping over 10,000 times • Maple used for single-cylinder engine design to help EMAK achieve high efficiency • Maple contributes to revolutionary advancements in medical robotic technology • Maple helps advance Maglev train technology • Use of Maple optimizes financial modeling at Mitsubishi UFJ Securities International • Maple helps Ford Motor Company with analytical predictions of chain drive system resonances
Overview • Generating a curve • Plot Builder • Prime Functions • Cryptography Problem • Planning a Road Trip • Finding Shortest Paths • Basic Statistical Analysis • Google Stock Data
Generating a Curve • There are many different ways to specify a function in Maple • We can define the function explicitly • Then display your function • You can then right click the function to perform many operations including integration, differentiation and solving at a point. • This can be very helpful when you need to check simple calculations involved in homework
Generating a Curve • More interestingly, we can provide Maple initial conditions for a function, and it will return the satisfying function • Can be helpful in fitting observed data to a curve • Suppose we want a cubic polynomial that has a local minimum at x=(3,-6), passes through (0,24), and has a zero at x=-3 • Specify the general formula for a cubic polynomial
Generating a Curve • Provide Maple the initial conditions • The equations that our function must satisfy are then displayed • We can right-click these equations and click Solve > Solve
Generating a Curve • Maple outputs the coefficients for our polynomial • We can get the cubic that we want and store it to g(x) as follows • Instead of the ??, press ctrl+L and enter the equation number for the solution of our coefficients
Plot Builder • Let’s ensure that we received the correct function and get comfortable with Maple’s plot builder tool • We will define our points • Then right click the points and choose Plots > Plot Builder • Right click the plot, select Symbol > Symbol Size and set the size to 20
Plot Builder • We can highlight and drag our polynomial g(x) onto the plot • Select the plot, then select the Axis Properties button that has appeared in the Context Bar above • Change the y-axis to display values -50..50
Plot Builder • By changing the axis scales you are able to zoom in on particular segments of curves • This can help you to understand the behaviour of curves you may be working with during homework or research • The plot builder makes it easy to create professional graphs for reports
Using Prime Functions • Maple has many useful functions dealing with primes • isprime(n) • ithprime(n) • nextprime(n) • prevprime(n)
Cryptography Problem • Suppose you work for a software company which has just designed a fast new encryption algorithm that relies critically on two secret primes p and q • The value n = p*q is publicly available • The prime choosing algorithm is also publicly available • We need to determine if this algorithm is secure – that is, we need to find out if one could determine p and q given n
Cryptography Problem • Algorithm to choose p and q • Set p to a random large prime • Set q = p + 2 • While (q is not prime) • Set q = q + 2 • Output (p,q) • The value of n is provided in a text file • Can we use Maple to determine p and q?
Cryptography Problem • Hints • Note that p and q are consecutive primes • Also, note that p < sqrt(n) < q • Will probably need the evalf[precision](number) command
Solution • This will reveal the p and q sn = evalf[100](sqrt(n)); z = floor(sn); p = prevprime(z); q = nextprime(p);
Cryptography Problem • As we have seen, the computational power of Maple allows us to perform mathematical calculations that would be infeasible by hand • Maple is widely used in the analysis of algorithms • This could be helpful during co-op terms or personal research
Planning a Road Trip • Say we are planning a road trip to Los Angeles, California • To break up the trip, we want to pass through some major cities along the way • We list all the cities between Waterloo and Los Angeles that interest us • We want to get to Los Angeles quickly
Planning a Road Trip • Here are the major cities along the way that interest us
Planning a Road Trip • Cities with distances (in hours)
Planning a Road Trip • We create a graph where cities are nodes (numbered 1,2,…,12) and edges between cities are the distances • We then want to find the shortest path from Waterloo (node 1) to Los Angeles (node 12) • We can use code from the Maple Application Center to find the shortest path • Uses Djikstra’s Algorithm (CO351)
Planning a Road Trip • Algorithm takes an input text file • Line 1: #START • Line 2: numNodes numEdges startNode • Subsequent lines each define an edge: • tail head distance [no decimals in distance] • Last line: #END
Planning a Road Trip • With the input file created and saved in a file called trip.txt, you can determine the solution by running the following commands: Dijkstras_Algorithm("trip.txt", true); draw(G);
Planning a Road Trip Tree of Shortest Paths:
Planning a Road Trip • We can use the tree of shortest paths to determine the optimal route to any one of the 11 destinations • For Los Angeles, our schedule would be: • Waterloo (1) to Detroit (2) to Chicago (4) to Kansas City (7) to Denver (8) to Phoenix (9) to Los Angeles (12) • Total travel time: 43.1 hours
Planning a Road Trip • The analysis we have seen can be applied to a variety of situations • The shortest path problem can be used to model: • Web mapping (Mapquest, Google Maps) • Telecommunication networks • Scheduling problems (CO351) • Many other Operations Research problems
Basic Statistical Analysis • We know that gas prices have been steadily rising lately • Let’s take a look at the stock prices of an American independent oil and gas company, Apache Corporation (APA:NYSE) • We will be working with the closing prices over the past year • Historical data taken from Yahoo Finance • You are provided with a file that will read in the data • Variable prices holds daily prices • Variable data holds (day,price) points
Point Plot • A point plot will show each individual daily stock price • Output data to ensure that we are plotting points p1 := pointplot( data, color=blue ): p1;
Moving Average • Let’s create a one-week moving average • A moving average is less sensitive to daily fluctuations • Provides a better trend curve
Moving Average • We get the y values for the moving average movingAvg := moving[5](prices): • Then create points movingAvgData := [seq([i,movingAvg[i], i=1..n-5)]:
Moving Average • Then we create a point plot using our moving average data, but connect the points p2 := pointplot(movingAvgData, connect = true, color = green, thickness = 2): • And we display it with our original point plot display(p1,p2);
Histograms • Maple can easily create two different histograms • A histogram with equal area bars histogram(prices); • A histogram with equal width bars histogram(prices, area = count);
Histograms histogram(prices, area = count); histogram(prices);
Box Plot • We can also create a boxplot, providing parameters for its center and width b1 := boxplot( prices, shift=maxTime/2, width=maxTime, color=red, thickness=2 ):
Box Plot • Then we display it with our point plot display( b1, p1 );
Statistical Analysis • You can use Maple to generate informative plots for reports, personal, and business research • Maple is very useful for Financial Analysis, and there is a good library available at the Maplesoft Application Center
Maplesoft Application Center • Free Maple Applications http://www.maplesoft.com/applications/