0% found this document useful (0 votes)
30 views23 pages

Migration Assistant Toolbox Guide

This guide assists Mathcad® 15 users in transitioning to Maple Flow, detailing the Mathcad Migration Assistant Toolbox for converting worksheets and providing tips for handling non-migrated content. It highlights differences between Mathcad and Maple Flow, including syntax and command variations, and emphasizes the importance of familiarizing oneself with Maple Flow functionalities. The document aims to facilitate a smooth migration process while acknowledging the challenges involved in transitioning software.

Uploaded by

Martin Venich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
30 views23 pages

Migration Assistant Toolbox Guide

This guide assists Mathcad® 15 users in transitioning to Maple Flow, detailing the Mathcad Migration Assistant Toolbox for converting worksheets and providing tips for handling non-migrated content. It highlights differences between Mathcad and Maple Flow, including syntax and command variations, and emphasizes the importance of familiarizing oneself with Maple Flow functionalities. The document aims to facilitate a smooth migration process while acknowledging the challenges involved in transitioning software.

Uploaded by

Martin Venich
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Moving to Maple Flow

A Guide for Mathcad® 15 Users


Introduc)on
This guide is for Mathcad® 13, 14 and 15 users who have decided to move their calcula=ons to Maple Flow. It's not meant
to persuade you to switch tools, but will help you move once you have made that decision.

This guide covers these topics:

• The Mathcad Migra=on Assistant Toolbox, which partly converts Mathcad 13, 14 & 15 worksheets to Maple Flow
worksheets. You'll learn about what the Mathcad Migra=on Assistant does and what it doesn't do.
• Tips for implemen=ng non-migrated content in Maple Flow.
• How you can make your calcula=ons more elegant using advanced Maple Flow techniques.
• The differences between Mathcad 15 and Maple Flow.

The goal of using the Migra=on Assistant with the =ps in this guide and MaplesoO's support services is to make the move
from Mathcad to Maple Flow as smooth as possible, but transi=oning soOware comes with challenges. Mathcad and Maple
Flow, while sharing some design features, have different keystrokes, equa=on editors, syntax, command libraries,
computa=onal models and interface features.

Before star=ng to translate your Mathcad worksheets, we recommend learning how to use Maple Flow to address any
computa=onal issues aOer migra=on. Please go through the Maple Flow User Manual to learn more about the following
topics:

• Define variables, do math and use units


• Enter and edit text
• Create and customize plots
• Solve equa=ons and use various other func=ons
• Lay out the worksheet
• The different data structures (such as expressions, lists, vectors and matrices) and how to create them.

|1
Table of Contents
Introduction ..................................................................................................................................................1

What is the Mathcad Migration Assistant ........................................................................................................3

How to use the Migration Assistant .................................................................................................................3

What is Automatically Migrated by the Migration Assistant ..............................................................................3


Documentation ................................................................................................................................................. 3
General Math .................................................................................................................................................... 4
Function Conversion Table ................................................................................................................................. 8

Translation Tips for Mathcad Content Not Supported by the Migration Assistant or Maple Flow ....................... 14
Range Variables............................................................................................................................................... 14
Plots ............................................................................................................................................................... 17
Programming Blocks ........................................................................................................................................ 18
Global Definitions ............................................................................................................................................ 18
Embedded Excel Spreadsheets ........................................................................................................................ 18
Miscellaneous ................................................................................................................................................. 19

Using Higher Level Maple Functionality to Simplify your Work ....................................................................... 20

What Mathcad Users Should Know About Maple Flow ................................................................................... 21

Maplesoft Engineering Services ................................................................................................................... 23

|2
What is the Mathcad Migra)on Assistant
The Mathcad Migra=on Assistant creates Maple Flow worksheets based on the content of Mathcad 15 worksheets (it also
works with Mathcad 13 and 14 worksheets). The math and documenta=on in the Mathcad worksheet is moved over to the
Maple Flow worksheet, with some transla=on of syntax and commands during the migra=on process.

• For simpler Mathcad worksheets, you should get a Maple Flow worksheet that executes as expected, giving the
same results and looking roughly similar. Some modifica=on of the layout may be needed.
• For Mathcad worksheets that use features or commands that are unsupported in Maple Flow and/or the Migra=on
Assistant, you will need to modify the converted Maple Flow worksheet for it to execute as expected.

Please read the details below to ensure you understand the capabili=es and limita=ons of the Migra=on Assistant.

How to use the Migra)on Assistant


AOer installa=on, the Mathcad Migra=on Assistant is available from a bu]on in the Math tab in Maple Flow.

Clicking the bu]on will shows this window:

Click Browse to open a file browser to select either

• A single Mathcad 13, 14 or 15 worksheet with an xmcd extension


• Or a folder of Mathcad 13, 14 or 15 worksheets with xmcd extensions

Then click on Convert to migrate the Mathcad worksheet(s) to Maple Flow files. For each Mathcad worksheet, a Maple
Flow worksheet is generated in the same folder, with the same file name but with a .flow extension.

What is Automa)cally Migrated by the Migra)on Assistant


Documenta*on
During migra=on, as much of the forma`ng and layout of text and the worksheet is preserved as possible. This includes

• Rela=ve posi=oning of math, text and images


• Font, point size, color, bold, italics
• Line breaking
• Jus=fica=on
• Numbered lists, bullets

|3
• Images
• Page breaks
• Background color for text and math
• Sec=ons

However, some manual reposi=oning may be needed. Bear in mind that Mathcad and Maple Flow have different grid
spacing (i.e. the grid to which math and text snaps), so the Migra=on Assistant Toolbox may not preserve the exact rela=ve
posi=oning of math and text.

Example of text in Mathcad 15 Migrated text in Maple Flow

General Math
The Mathcad Migra=on Assistant a]empts to preserve the layout, typese`ng and execu=on proper=es of math (within the
boundaries of the math that is supported). This table presents a comparison of how math is migrated, together with
relevant notes.
Mathcad concept Comment Example in Mathcad 15 Maple Flow transla:on

Typese`ng of math The typese`ng of math is


preserved as much as possible.
However, in specific
circumstances, typese`ng may
be altered because of differing
syntax.
Variable defini=ons For variable names
Mathcad allows periods in
literal subscripts. These are
converted to underscores in
Maple Flow
Mathcad allows D,
be used
as variable names; these are,

|4
however, protected names in
Maple Flow and cannot be
overwri]en. During
migra=on, these are
converted to D1, g1, Re1 and
length1 in Maple Flow (or
sequen=ally numbered if D1,
g1 and Re1 already exist)
Units Mathcad assumes that units and
variables exist in the same name
space. Maple Flow dis=nguishes
between name spaces for units
(which are entered in a units
placeholder) and variables.

During migra=on, Mathcad units


are placed in a units placeholder
in Maple Flow. Given the
context, this may not always be
correct; you may need to correct
the migrated worksheet.
Func=on defini=on Maple Flow uses the arrow
and evalua=on mapping operator when defining
func=ons. This is entered with a
hyphen, followed by a greater-
than symbol
% to represent % is converted to a
0.01 mul=plica=on factor of
1/100

if/otherwise in its These are converted to mul=-


own programming row piecewise statements in
block with no other
Maple Flow.
programming
constructs such as
for/while etc.

Iterated addi=on
and mul=plica=on

|5
Complex numbers,
including conjugate
and argument

Matrices and
Vectors

Matrix/vector In Mathcad,
indexing and
redefini=on of • matrices/vectors are
ORIGIN indexed with a subscript
entered with a leO square
bracket (]).
• the default origin is a
row index of 0 and
column index of 0.
• the origin can be
manually altered by
defining the variable
ORIGIN

In Maple Flow,
• matrices/vectors are
indexed with square
brackets.
• the origin is a row index
of 1 and column index of
1, and cannot be
manually changed by
the user.
• During conversion, if
needed, ORIGIN is defined
and used in the index to
shiO the origin back to 1,1.

|6
Matrix column

Matrix/vect or
transpose

Vector cross product

Vector dot product Mathcad overloads a normal


mul=plica=on to mean a dot
product when used between two
vectors.

Maple Flow dis=nguishes


between a normal mul=plica=on
(entered with *) and a dot
product (entered with a period).
Given the context, the Mathcad
Migra=on Assistant a]empts to
determine the correct
mul=plica=on to use.
nthroot Both Mathcad and Maple Flow
have typeset nthroot operators,

Mathcad's nthroot operator


preferen=ally returns a real root
(if one exists). However, Maple
Flow's nthroot operator
preferen=ally returns the
principal root (which may be
complex).Therefore the most
accurate transla=on of
Mathcad's nthroot operator is
Maple Flow's surd() func=on.

|7
Strings

Symbolic A few symbolic math func=ons


Math are converted

Func*on Conversion Table


During migra=on, many Mathcad func=ons are converted to their equivalent in Maple Flow. A conversion table is given
below.

Mathcad Func=on Maple Flow Func=on


Ai(z) AiryAi(z)
augment(M1,M2,...) ArrayTools:-Concatenate(2, M1,M2,...)

Bi(z) AiryBi(z)
ceil(x) ceil(x)

Ceil(z,y) Ceil(z,y)

cholesky(M) LinearAlgebra:- LUDecomposi=on(M, method=cholesky)

cols(M) upperbound(M,2)
cond1(M) LinearAlgebra:- Condi=onNumber(M,1)

cond2(M) LinearAlgebra:- Condi=onNumber(M,2)


conde(M) LinearAlgebra:- Condi=onNumber(M, Euclidean)

|8
Mathcad Func=on Maple Flow Func=on

condi(M) LinearAlgebra:- Condi=onNumber(M,infinity)

csort(M,n) ArrayTools:-SortBy(M, column,n+1)

DAi(z) AiryAi(1, z)
DBi(z) AiryBi(1, z)
dbeta(x,nu,omega) Sta=s=cs:-PDF (BetaDistribu=on(nu,omega), x)

dbinom(x,n,q) Sta=s=cs:-PDF(Binomial(n,q), x)

dcauchy(x,l,s) Sta=s=cs:-PDF(Cauchy(l,s), x)
dchisq(x,d) Sta=s=cs:-PDF(ChiSquare(d),x)

dexp(x,r) Sta=s=cs:-PDF(Exponen=al(r), x)

dF(x,d1,d2) Sta=s=cs:-PDF(FRa=o(d1,d2), x)

dgamma(x,s) Sta=s=cs:-PDF(Gamma(1,s), x)

dgeom(x,q) Sta=s=cs:-PDF(Geometric(q), x)

diag(V) LinearAlgebra:-DiagonalMatrix(V)

dlnorm(x,mu,sigma) Sta=s=cs:-PDF(LogNormal(xu, sigma), x)

dlogis(x,l,s) Sta=s=cs:-PDF(Logis=c(l,s), x)

dnorm(x,mu,sigma) Sta=s=cs:-PDF(Normal(xu, sigma), x)


dnbinom(x,n,q) Sta=s=cs:-PDF(Nega=veBinomial(n,q), x)

dpois(x,lambda) Sta=s=cs:-PDF(Poisson(lambda), x)

dt(x,nu) Sta=s=cs:-PDF(StudentT(nu), x)

dunif(x,a,b) Sta=s=cs:-PDF(Uniform(a,b), x)

dweibull(x,s) Sta=s=cs:-PDF(Weibull(1,s), x)

eigenvals(M) LinearAlgebra:-Eigenvalues(M)

eigenvecs(M) LineraAlgebra:-Eigenvectors(M)[2]

u(data) SignalProcessing:-FFT(data)[1..upperbound(data)/2+1]

floor(x) floor(x)
Floor(z,y) Floor(z,y)

genvals(M,N) LinearAlgebra:-Eigenvalues(M, N)
genvecs(M,N) LinearAlgebra:-Eigenvectors(M, N)[2]

gmean(data) Sta=s=cs:-GeometricMean([data])

H1(m, z) HankelH1(m, z)

|9
H2(m, z) HankelH2(m, z)

hmean(data) Sta=s=cs:-HarmonicMean([data])

hlookup(z,A,r) ArrayTools:-Lookup(z,A,row,1,r+1)

I0(z) BesselI(0,z)
I1(z) BesselI(1,z)

iden=ty(x) LinearAlgebra:-Iden=tyMatrix(x)

iu(data) SignalProcessing:-InverseFFT(ArrayTools:-Concatenate(1,
data, conjugate(ArrayTools:-Reverse(data[2 .. -2]))))
In(m,z) BesselI(z)
intercept(X,Y) coeff(CurveFi`ng:-LeastSquares(X,Y,x),x,0)

IsArray(t) type(t,rtable)

IsFunc=on(t) type(t,procedure)

IsNaN(t) type(t,undefined)

IsScalar(t) type(t,constant)
IsString(t) type(t,string)

J0(z) BesselJ(0,z)

J1(z) BesselJ(1,z)

Jn(m,z) BesselJ(z)
K0(z) BesselK(0,z)

K1(z) BesselK(1,z)

Kn(m,z) BesselK(z)

kurt(data) Sta=s=cs:-Kurtosis([data])

last(data) data[-1]
length(data) numelems(data)

lsolve(M,v) LinearAlgebra:-LinearSolve(M,v)
var(data) Sta=s=cs:-Variance(data) * (1-1/numelems(data))

lu(M) ArrayTools:-Concatenate(2,LinearAlgebra:-
LUDecomposi=on(M,method=GaussianElimina=on))
matrix(i,j,p) Matrix(i,j,(i,j)->p(i-1,j-1))

mean(data) Sta=s=cs:-Mean([data])
median(data) Sta=s=cs:-Median([data])

mode(data) Sta=s=cs:-Mode([data])
norm1(M) LinearAlgebra:-Norm(M,1)

norm2(M) LinearAlgebra:-Norm(M,2)

|10
norme(M) LinearAlgebra:-Norm(M,Euclidean)

normi(M) LinearAlgebra:-Norm(M,infinity)

pbeta(x,nu,omega) Sta=s=cs:-CDF(BetaDistribu=on(nu,omega),x)

pbinom(x,n,q) Sta=s=cs:-CDF(Binomial(n,q), x)
pcauchy(x,l,s) Sta=s=cs:-CDF(Cauchy(l,s), x)

pchisq(x,d) Sta=s=cs:-CDF(ChiSquare(d), x)

pexp(x,r) Sta=s=cs:-CDF(Exponen=al(r), x)
pF(x,d1,d2) Sta=s=cs:-CDF(FRa=o(d1,d2), x)

pgamma(x,s) Sta=s=cs:-CDF(Gamma(1,s), x)

pgeom(x,q) Sta=s=cs:-CDF(Geometric(q), x)

plnorm(x,mu,sigma) Sta=s=cs:-CDF(LogNormal(xu, sigma), x)

plogis(x,l,s) Sta=s=cs:-CDF(Logis=c(l,s), x)

pnorm(x,mu,sigma) Sta=s=cs:-CDF(Normal(xu, sigma), x)

pnbinom(x,n,q) Sta=s=cs:-CDF(Nega=veBinomial(n,q), x)

ppois(x,lambda) Sta=s=cs:-CDF(Poisson(lambda), x)

pt(x,nu) Sta=s=cs:-CDF(StudentT(nu), x)
punif(x,a,b) Sta=s=cs:-CDF(Uniform(a,b), x)

pweibull(x,s) Sta=s=cs:-CDF(Weibull(1,s), x)

qbeta(x,nu,omega) Sta=s=cs:-Quan=le(BetaDistribu=on(nu,omega),x)

qbinom(x,n,q) Sta=s=cs:-Quan=le(Binomial(n,q), x)

qcauchy(x,l,s) Sta=s=cs:-Quan=le(Cauchy(l,s), x)

qchisq(x,d) Sta=s=cs:-Quan=le(ChiSquare(d), x)

qexp(x,r) Sta=s=cs:-Quan=le(Exponen=al(r), x)
qF(x,d1,d2) Sta=s=cs:-Quan=le(FRa=o(d1,d2), x)

qgamma(x,s) Sta=s=cs:-Quan=le(Gamma(1,s), x)

qgeom(x,q) Sta=s=cs:-Quan=le(Geometric(q), x)
qlnorm(x,mu,sigma) Sta=s=cs:-Quan=le(LogNormal(xu, sigma), x)

qlogis(x,l,s) Sta=s=cs:-Quan=le(Logis=c(l,s), x)
qnbinom(x,n,q) Sta=s=cs:-Quan=le(Nega=veBinomial(n,q), x)

qnorm(x,mu,sigma) Sta=s=cs:-Quan=le(Normal(xu, sigma), x)

qpois(x,lambda) Sta=s=cs:-Quan=le(Poisson(lambda), x)
qr(M) ArrayTools:-Concatenate(2,LinearAlgebra:-
QRDecomposi=on(M)

|11
qt(x,nu) Sta=s=cs:-Quan=le(StudentT(nu), x)

qunif(x,a,b) Sta=s=cs:-Quan=le(Uniform(a,b), x)

qweibull(x,s) Sta=s=cs:-Quan=le(Weibull(1,s), x)

rank(M) LinearAlgebra:-Rank(M)
rbeta(N,nu,omega) Sta=s=cs:-Sample(BetaDistribu=on(nu,omega), N)

rbinom(m,n,q) Sta=s=cs:-Sample(Binomial(n,q), m)

rcauchy(N,l,s) Sta=s=cs:-Sample(Cauchy(l,s), N)
rchisq(m,d) Sta=s=cs:-Sample(ChiSquare(d), m)

READEXCEL("file", "range", [emptyfill]) ExcelTools:-Import("file","sheet","range")

READPRN(file) ImportMatrix(file)

reverse(M) ArrayTools:-Reverse(M)

rexp(m,r) Sta=s=cs:-Sample(Exponen=al(r), m)

rF(m,d1,d2) Sta=s=cs:-Sample(FRa=o(d1,d2), m)

rgamma(N,s) Sta=s=cs:-Sample(Gamma(1,s), N)

rgeom(m,q) Sta=s=cs:-Sample(Geometric(q), m)

rhypergeom(m,a,b,n) Sta=s=cs:-Sample(HyperGeometric(a,b,n), m)
rlnorm(m,mu,sigma) Sta=s=cs:-Sample(LogNormal(mu, sigma), m)

rlogis(m,l,s) Sta=s=cs:-Sample(Logis=c(l,s), m)

rnbinom(m,n,q) Sta=s=cs:-Sample(Nega=veBinomial(n,q), m)

rnorm(N,mu,sigma) Sta=s=cs:-Sample(Normal(mu, sigma), N)

root(expression_in_x, x) fsolve(x -> expression_in_x, x)

round(x) round(x)

Round(z,y) Round(z,y)
rows(M) upperbound(M,1)

rpois(m,lambda) Sta=s=cs:-Sample(Poisson(lambda), m)

rsort(M,n) ArrayTools:-SortBy(M,row,n+1)
rt(m,nu) Sta=s=cs:-Sample(StudentT(nu), m)

runif(m,a,b) Sta=s=cs:-Sample(Uniform(a,b), m)
rweibull(m,s) Sta=s=cs:-Sample(Weibull(1,s), m)

skew(data) Sta=s=cs:-Skewness([data])

slope(X,Y) coeff(CurveFi`ng:-LeastSquares(X,Y,x),x)
sort(V) sort(V)

stack(M1,M2,...) ArrayTools:-Concatenate(1,M1,M2,...)

|12
stdev(data) Sta=s=cs:-StandardDevia=on(data) * sqrt(1-
1/numelems(data))
Stdev(data) Sta=s=cs:-StandardDevia=on(data)

submatrix(M,r1,r2,c1,c2) M[r1+1..r2+1,c1+1..c2+1]

tr(M) LinearAlgebra:-Trace(M)
trunc(x) trunc(x)

Trunc(z,y) Trunc(z,y)
var(data) Sta=s=cs:-Variance(data) * (1-1/numelems(data))

Var(data) Sta=s=cs:-Variance(data)

vlookup(z,A,c) ArrayTools:-Lookup(z,A,column,1,c+1)

WRITEPRN(file,data) ExportMatrix(file,data)

Y0(z) BesselY(0,z)

Y1(z) BesselY(1,z)

Yn(m,z) BesselY(z)

acos(x) arccos(x)

arg(x) argument(x)

asin(x) arcsin(x)
atan(x) arctan(x)

concat(x) cat(x)

cos(x) cos(x)

cosh(x) cosh(x)

cot(x) cot(x)

csc(x) csc(x)

FresnelC(x) FresnelC(x)

FresnelS(x) FresnelS(x)

if(arg1,arg2,arg3) ifelse(arg1,arg2,arg3)

log(x) log10(x)

erf(x) erf(x)

erfc(x) erfc(x)

exp(x) exp(x)

sec(x) sec(x)
sin(x) sin(x)

sinh(x) sinh(x)

|13
tan(x) tan(x)

tanh(x) tanh(x)

Transla)on Tips for Mathcad Content Not Supported by the


Migra)on Assistant or Maple Flow
These language or documenta=on concepts are either par=ally migrated or ignored. Given the applica=on, alterna=ves may
be available.

Range Variables
These have no direct representa=on in Maple Flow. They are converted to Vectors, which may or may not be appropriate,
given the context.

Crea&ng and Filling Vectors/Matrices - if the nth element is calculated independently of


any prior elements
Some uses of range variables in Mathcad involve the crea=on and filling of matrices and vectors. You can use Maple Flow's
Vector() and Matrix() constructors for the same applica=on.

Mathcad example of crea=ng and filling matrices with range Maple Flow manual transla=on
variables (nth element independent on any prior elements)

Crea&ng and Filling Vectors/Matrices - if the nth element is dependent on the value of
prior elements
You will need to use a Maple procedure, defined in the Edit > Code window.
Mathcad example of crea=ng and filling a vector with range Maple Flow manual transla=on
variables (nth element dependent on prior elements)

|14
Procedure defi ned in Edit > Code:

Procedure called on worksheet

Discre&zing Func&ons for Plo?ng


Other uses of range variables in Mathcad involve discre=zing func=ons before plo`ng. This does not necessarily need to be
done in Maple Flow because the plot command intelligently discre=zes a func=on to produce a smooth plot or iden=fy
singulari=es.
Discre=za=on of a func=on before plo`ng in Mathcad Corresponding Maple Flow implementa=on

|15
|16
Plots
The Migra=on Assistant converts Mathcad plots to sta=c images. You can use Maple Flow plo`ng commands to recreate
your live plots.

Maple Flow has a flexible plo`ng language, and plots can be extensively customized - please refer to the documenta=on
for more assistance. These are a few sample Mathcad plots and their Maple Flow equivalents.

Mathcad 15 plot Maple Flow equivalent

|17
Programming Blocks
The only Mathcad programming blocks supported by the Migra=on Assistant and Maple Flow (for in-worksheet conversion)
are those that contain mul=-line if/otherwise statements with no other programming statements.

More complex Mathcad programs (as long as they are implemented as func=ons with parameters) can be converted to
Maple-language based procedures in the Edit > Code window in Maple Flow. These procedures can then be called on the
worksheet.

Mathcad 15 program Procedure manually implemented in a Maple Flow code


window

Global Defini*ons
Global defini=ons are converted to local defini=ons. You will need to move the local defini=ons to the appropriate point or
modify your worksheet for it to execute as expected.

Embedded Excel Spreadsheets


Maple Flow does not support embedded Excel spreadsheets. Given the goal, these alterna=ves are available.
Impor&ng Data from Excel
If you want to import numerical data from an Excel spreadsheet, use
• the ExcelTools:-Import command
• or the Data Import Assistant from the Tools menu

Presen&ng Results in a Tabular Format


If you want to present your results in a tabular format, consider using
• a matrix
• or arrange and evaluate variables in a tabular format, and then hide commands (as described
below)

|18
Arrange and evaluate variables in a tabular format

Right-click on each variable and select "Hide commands" (or


drag-select a group of evaluated variables and select "Hide
commands")

Variables are hidden but the evalua=ons remain. The


evalua=ons are s=ll connected to the upstream analysis, and
will update if parameters change.

Miscellaneous
• Page size, orienta=on, margins and headers/footers are not migrated; these will have to be specified manually.
• Live math in text is not supported in Flow and is ignored.
• Mixed alignment in text is not supported in Flow and is ignored.
• Mathcad UI components such as bu]ons, sliders and combo boxes are converted into images (these are on the
roadmap for a future version)

|19
Using Higher Level Maple Func)onality to Simplify your Work
A one-to-one conversion from Mathcad to Maple Flow may not always be the op=mal approach; you may be able to
simplify your work by replacing several Mathcad opera=ons with fewer higher-level Maple Flow func=on calls. The
Mathcad Migra=on Assistant cannot see the context of the en=re applica=on; and so manual modifica=on is needed.

These are some examples; others certainly exist.


Mathcad 15 implementa=on Maple Flow implementa=on

Magnitude plot of a transfer func:on

In Mathcad, users manually implement


the math and transforms necessary to
create a magnitude plot.

In Maple Flow, this process can be


simplified by using high level func=ons
for visualiza=on and analysis of linear
systems. You can create

• phase, magnitude, root locus,


Nyquist plots and more
• compute gain/phase margins,
controllability matrices and
more

For more informa=on, see the


DynamicSystems package
Periodogram of a Signal

In Mathcad, you need to peform several


mathema=cal opera=ons to generate
periodogram from a signal.

In Maple Flow, you can use a call to a


single high-level func=on to generate a
periodogram. In addi=on, there are
many other signal processing tools

|20
Fi@ng a Linear Equa:on to Data

In Mathcad, users generally


• first determine the slope
and intercept of the line,
• and then form a model func=on

In Maple Flow, users generally form the


model func=on in one step

Thermophysical Data

In Mathcad, users enter thermophysical data by implemen=ng equa=ons of state or polynomial correla=ons, or impor=ng
tabular data and interpola=ng.

Mathcad 15

Maple Flow has built-in, units-aware correla=ons and visualiza=ons for


• transport and thermodynamic proper=es of pure fluids and fluid mixtures
• humid air proper=es standard
• atmospheric proper=es

Maple Flow

For more informa=on, see the ThermophysicalData package.

What Mathcad Users Should Know About Maple Flow


Mathcad 15 Maple Flow

Mathcad is a primarily numeric math


environment (symbolic math is
available on request, but is essen=ally
an addendum to the main numeric
engine).

Maple Flow places equal emphasis on


numeric and symbolic math.

|21
Mathcad uses hardware floa=ng point Internal calcula=ons to 17 decimal Calcula=ons can be up to thousands of
arithme=c (IEEE 754 double precision) places. decimal places, if requested and on a
for numeric calcula=ons. case-by-case basis

Maple Flow uses hardware floa=ng


point and soOware floa=ng point
=
Some=mes numeric round-off can have 38654705646
precision for numeric calcula=ons.
suprising effects
SoOware floa=ng point is a more
Numeric round-off is guarded against
precise representa=on of numbers.

Apart from the standard Windows Square root symbol is entered with \ or Square root symbol is entered with sqrt
shortcuts for cut/copy/paste etc, via the Calculator toolbar followed by Command Comple=on, or
keystrokes and equa=on edi=ng are
via the pale]e
different.

For example,
square roots are entered differently

A small number of commands have the


same name and syntax, and give the
same result.

Many commands have different names.

Some commands behave differently


under specific condi=ons.

For example, when given complex


numbers, Mathcad max() command
constructs a "pseudo max" from the
maximum real and maximum imaginary
parts. Maple Flow's max command
gives an error under the same
circumstances
In Mathcad, all commands exist at the
top-level.

In Maple Flow, common commands


exist at the top level, but many
commands are in packages - for
example, the ArrayTools package.
Commands in packages are accessed via
package_name:-command_name.

Flow has a broader, more extensive


math library than Mathcad.

|22
The mathema=cal compu=ng language
is different. For example,
Mathcad has the concept of range
variables, which are not present in Flow.

Some (but not all) of the func=onality


of range variables can be reproduced
using other constructs in Maple.

Text is ini=ated differently You start typing, and the math turns Press space to insert an empty text
into text at the first space container, and then type your text

Plots are generated differently


• In Mathcad, you use a plot
component
• In Flow, you use a plo`ng
command

Units are entered differently Units exist as pre-defined variables at Units entered in a units placeholder (via
the top-level and are typed in like any Ctrl + Space + U) or via the Context
other variable Panel, and exist in a separate
namespace

MaplesoF Engineering Services


MaplesoO provide services to convert your work from other tools (such as Excel®, Mathcad®, MATLAB®, Mathema=ca® etc)
into Maple Flow. If you are a corporate customer, we can work with you to provide a custom migra=on package.

www.mapleso*.com | info@mapleso*.com
Toll-free: (US & Canada) 1-800-267-6583 | Direct:1-519-747-2373
© Mapleso*, a division of Waterloo Maple Inc., 2025. Mapleso*, Maple, and Maple Flow are trademarks of Waterloo Maple Inc. Mathcad is a registered trademark of
PTC Inc. or its subsidiaries in the U.S. and in other countries. Excel is a registered trademark of Microso* CorporaIon. MATLAB is a registered trademarks of The
MathWorks, Inc. All other trademarks are the property of their respecIve owners. So*ware version Maple Flow 2025.0

|23

You might also like