Samir Khan

1134 Reputation

14 Badges

11 years, 75 days

My role is to help customers better exploit our tools. I’ve worked in selling, supporting and marketing maths and simulation software for all my professional career.

I’m fascinated by the full breadth and range of application of Maple. From financial mathematics and engineering to probability and calculus, I’m always impressed by what our users do with our tools.

However much I strenuously deny it, I’m a geek at heart. My first encounter with Maple was as an undergraduate when I used it to symbolically solve the differential equations that described the heat transfer in a series of stirred tanks. My colleagues brute-forced the problem with a numerical solution in Fortran (but they got the marks because that was the point of the course). I’ve since dramatized the process in a worksheet, and never fail to bore people with the story behind it.

I was born, raised and spent my formative years in England’s second city, Birmingham. I graduated with a degree in Chemical Engineering from The University of Nottingham, and after completing a PhD in Fluid Dynamics at Herriot-Watt University in Edinburgh, I started working for Adept Scientific – Maplesoft’s partner in the UK.

MaplePrimes Activity


These are replies submitted by Samir Khan

@Carl Love 
Let's say I start off with these points

X := Array([558, 533, 512, 509, 519, 538, 527, 501, 485, 493, 499, 499, 465, 406, 413, 441, 430, 406, 397, 393, 392, 397, 403, 406, 397, 365, 356, 354, 326, 311, 336, 355, 315, 278, 278, 249, 242, 232, 204, 208, 209, 204, 206, 242, 242, 263, 274, 287, 334, 361, 320, 314, 344, 355, 360, 379, 406, 407, 399, 393, 391, 394, 404, 415, 439, 431, 402, 438, 487, 503, 497, 486, 488, 514, 538, 537, 511, 508, 518, 546]):
Y := Array([420, 412, 431, 480, 522, 505, 444, 431, 480, 591, 605, 548, 444, 416, 426, 478, 516, 533, 488, 395, 305, 356, 463, 525, 418, 414, 488, 465, 416, 458, 497, 495, 463, 409, 488, 514, 458, 512, 441, 441, 485, 412, 508, 493, 463, 516, 437, 403, 503, 482, 495, 429, 416, 499, 439, 407, 490, 533, 392, 309, 333, 452, 520, 529, 499, 452, 418, 416, 492, 593, 606, 544, 448, 429, 482, 518, 508, 450, 424, 414]):

plot(X, Y, style = point)

If I squint my eyes, that might say "maple".

DFT of X and Y points

dft_X := Vector(SignalProcessing:-FFT(X)): 
dft_Y := Vector(SignalProcessing:-FFT(Y)):

Phase and amplitude of sines

n  := numelems(X):

P_X  := Re(argument~(dft_X[2..ceil(n / 2)])):
A_X  := abs(dft_X[2..ceil(n / 2)]):

P_Y  := Re(argument~(dft_Y[2..ceil(n / 2)])):
A_Y  := abs(dft_Y[2..ceil(n / 2)]):

Parametric curves

curve_X := evalf[3](add(seq(A_X[i] * sin(Pi / 2 - 2 * Pi / n * i * t + P_X[i]), i = 1..ceil(n / 2) - 1)));
curve_Y := evalf[3](add(seq(A_Y[i] * sin(Pi / 2 - 2 * Pi / n * i * t + P_Y[i]), i = 1..ceil(n / 2) - 1)));

Plot the parametric curves

plot([curve_X, curve_Y, t = 0 .. n / 2])

I'll upload a complete application to the Application Center soon. It'll include an interactive plot to draw a curve (or some "handwritten" text) to get the 2d discrete data.

This was all inspired by Michael Trott's blog post at Wolfram.com. I also adapted the core code from a discussion at mathematica.stackexchange.com

@Carl Love That's coming. Let me tidy up the worksheet

@Christopher2222. I'd be interested to know what your use case for MP3 support is. Once the MP3 is in Maple, what will you do with the data?

@Spinosaurus That's a scalogram, isn't it?

@Markiyan Hirnyk The approach in @stan2018's worksheet is the standard Hough Transform - this is only practical for small images and a small parameter space (rho and theta).

I've reduced the size of your image, and analyzed it with another implementation of the standard Hough Transform (see the attached worksheet and image).

These are the lines detected in your image. If you tweak the parameters, you could certainly detect other lines.

Other approaches are needed for larger images (randomized or probalistic Hough Transforms, or implementations on GPUs).

Hough_Transforms_Football.zip

@Markiyan Hirnyk My esteemed colleague @Stephen Forrest gets the credit for developing the DeepLearning package. I used his work to develop a few applications - the easy (and fun!) stuff

@rquirt 

 I don't completely understand your comment

> This requires me to use the convert function to convert degC to kelvin to get the Property functions to work.

Both these commands work, and give the same value of enthalpy

Property(massspecificenthalpy, T = 25*Unit(degC), P = 1.0 * Unit(atm), R717)

Property(massspecificenthalpy, T = 298.15*Unit(K), P = 1.0 * Unit(atm), R717)

@Mariusz Iwaniuk Did you extract the entire zip file to your hard drive?

In Windows Explorer, you should see something like this

The folders 0,1,2..9 contain the image files.

 

@acer Are you referring to the Polisario Controlled "Free Zone"?

Yes, that seems to be an glitch

@Rouben Rostamian  

This Maple 2017 code generates the globe

myMap := DataSets:-Builtin:-WorldMap();
Display(myMap, colors = "Mono", grid, mapdata = fine, thickness = 0, projection = Globe)

 

All credit goes to @epostma!

@Rouben Rostamian  Here's what I see (Windows 64 bit)

@nick999 

Units appear to work better when all math is done at maple prompts rather than just typing 2d math into a document

 

When using units, I work in 2d math using Worksheet mode. This gives you

  • the structure of input prompts
  • the 2d math
  • and the ability to use CTRL+Shift+U to enter units  (I find this quicker than using the mouse to choose units from the Units palette, and you don't see the Unit() syntax in your equations)

 

1) Maple doesnt seem to convert between different units of the same dimension. For example:

w:= 10*feet+6*inch;   simplify(w);  produces 10*feet+6*inch rather than 10.5 feet or 126 inch

and

b:= 1 inch * 12 inch/(1 feet * 1 feet); simplify(b); produces 12 inch^2/feet^2

 

Load with(Units[Simple]) before you do any units calculations. The result of 10.0*Unit('ft')+6.0*Unit('inch') will automatically be converted to meters

 

2) There isnt a way to specify output units.  For example:

w:= 100 inch;

A:= w^2;

produces 10,000 inch and there is no way to ask for A in terms of feet^2 (unless w is entered in feet)

 

Right click on the result and select "Units Formatting". In the dialog that pops up, enter ft^2 in "Custom Unit"

@ThU 

Mathcad has an elegant and simple implementation of units. I find that Mathcad users come to Maple with the same expectation of units.

We're working on a long term plan to bring make units handling more intuitive, and more deeply ingrained into the system. The first step was the introduction of the Units[Simple] package last year. Expect to see more changes with the next release.

Here's an animation of a robot arm drawing a Maple leaf, courtesy of this worksheet

1 2 3 4 Page 1 of 4