During the course of developing Mathcad worksheets, some data manipulation needs arise that aren't directly catered for by a built-in Mathcad function or operation. Some of these needs recur sufficiently often that it is worthwhile writing a function that handles them and making it available for ready use in future worksheets. For example, putting that function into the Normal Template (in a closed Area) or as Reference worksheet.
Over time, a user can build up a sizeable 'toolbox' of such function. As with an Engineer's toolbox, some tools need updating, new ones come along, others get put in the back of the cupboard because they take up too much room (or impose space/time overheads in the case of Mathcad function) and still others become redundant (or stop working!) as Mathcad itself develops.
This worksheet is the first in what I hope will be a series describing some of the functions that I keep in my toolbox. The idea for it arose out of an (occasional) clean-out of my utility functions. I know a few functions have found their way into others' worksheets and thought it might be of interest to bring a few up-to-date and also get some feedback on them and see what tools others have and do find useful
Given the sometimes significant differences between the capabilities of different versions of Mathcad, there will inevitably be some functions that won't run under version x or have reduced/enhanced capability. Where possible, I have tried to make the tools run under Mathcad 11, Mathcad 13, Mathcad 14, Mathcad 15 and Mathcad Prime 1.0. Mathcad 12 was sufficiently different and restrictive compared to the other versions that I have made no attempt to ensure the functions work under it. I don't have Mathcad Prime 2.0, so make no claims about the toolboxes performance or need under that version.
So ... on with the dust off! And the first few tools are ready for your comments, but be gentle in your criticism because I know how to bust a planet apart and there's no telling what I might do if mildly irritated (Don't get me Angry, you don't want to see me Angry).
Version Information: I developed the worksheet in Mathcad 15 and, unfortunately, the worksheet doesn't work under Mathcad 11; I might get round to tailoring it for M11 later on, although there are some features that just won't work anyway (and vice versa for some other tools). There's an undocumented Prime 1.0 version attached as well. Oy, such a crick in the neck I've got after using that furshlugginer ribbon!
Mathcad Feature Suggestions
vec is sufficiently useful that it is worth considering as a built-in function.
Similarly, seq should be considered but probably needs further work to define it's string, complex number and array handling.
An emtpy array is fundamental need for efficient array operations. It should be implemented as soon as possible, preferably with a true multi-dimensional array (MDA) capability but should not wait upon the MDA.
If not present in Prime 2.0, Prime should allow direct entry of a range definition as a function argument.