I just love problems that can be solved more than one way. After two PTC Mathcad worksheets modeling frisbee flight (see recent blog), I wanted to solve the same problem in PTC Mathcad Express. The ‘Express’ version is free and understandably comes with limitations. Specifically, it does not support Programming nor Solve Blocks – the two features used to solve the ODE’s in the original blog.
The questions often asked are:
“Is the Express version too limited to do anything interesting?”
“What are the real limitations of the Express version?”
Obviously, the answer to these questions will depend on what you consider interesting and real. Instead of getting too philosophical, let us look at the frisbee example to illustrate the power of PTC Mathcad Express and the difference between the fully capable version.
Back to Euler’s method
Without the ODE solvers, we need to go back to the Euler’s method. What we need to calculate is a vector of x and y positions of the frisbee. So, instead of thinking about the algorithm as a loop, we can think about it as a vector operation or a recurrence relation. PTC Mathcad (even the Express version) is well equipped to deal with that.
A Java expression such as
would be written in Mathcad as
In a loop, the vx on the left of := is the current value, and to the right of := is the previous value. This is a recurrence relation, which we write as:
Using indices (i) and (i-1) to denote the current and previous value in a sequence.
The complete “loop” implementing the Euler’s method looks like this.
The mechanism to make this work is called a range loop. Basically, when “i” is a range variable (e.g. i:=1..10), expression
is evaluated once for each value of i.
Range loops are very useful and can express many problems very elegantly without the need to programming. However, there are limitations:
- They cannot be used to define a function
- The range of variable i is fixed, so they cannot substitute more complex loops like “while” and “until”.
- They cannot express more complex inter-dependency between expressions within a loop – each expression is an independent loop.
- They always generate vectors, and thus, are not suitable for iterations where only the final value is needed.
For a comparison of using range loops and programming (PTC Mathcad Express vs. PTC Mathcad) on this example see the full worksheet.
The frisbee example illustrates what PTC Mathcad Express can do, but it also reveals some limitations:
- You can use it as a reader (for all documents, not just those authored in Express version)
- You can do a lot of non-trivial calculations, but the solutions will often rely on do-it-yourself algorithms using basic functionality.
- For more robust solvers (e.g. try a system of 20+ ODE’s), or other more advanced functions you will need a purchased license.
- You will need a purchased license to make your solution parameterizable, making it easier to try on many data sets and for different initial conditions.
This is not the exhaustive list – just an illustration. There are many more examples of analysis you can do in PTC Mathcad Express, and, of course, many other features that are off limits to the Express version, but let’s leave these for another blog.
Recently we heard from a PTC Mathcad Prime 2.0 user, Patrick Freivald, a high school physics teacher and FIRST Robotics coach of Robotics Team 1551 The Grapes of Wrath, who actually used the Mathcad frisbee flight physics worksheet to help in building a robot at their school. He says,
“Prototyping is progressing well — the Mathcad analysis… of frisbee flight physics helped immensely in focusing our shooter prototyping, and we were able to quickly pick appropriate motors, gearboxes, and shot angles to come up with a solution we’re happy with. (We think… Everything at this stage is subject to iteration!) Experiment matched theory reasonably well, and we were able to target a “sweet spot” for shooting in terms of speed and angle. So thank you very much for that!
For our climber, in past year’s we’d go for overkill on strength… which has the side-effect of adding significant weight to an already weight-challenged robot! Some of my students are drawing up some parts in Creo, and [will] uploaded to Windchill… We’re hoping to mathematically determine the best strength/weight solution for our application.
P.S. If all goes well, we’ll be picking up our first Creo-drawn, CNC-plasma cut parts ever on Monday. You guys rule!”