Community Tip - You can change your system assigned username to something more personal in your community settings. X
When you choose Insert --> Data --> Table, Mathcad inserts a table with the definition operator (:=). I want to use the global definition operator (~ keystroke for the triple equals sign) so that I can put this table at the bottom of the worksheet.
I tried pasting the table into a new global definition, and it pastes as a matrix, and there doesn't appear to be a way to convert it back into a table.
Is there any way of using a data table with the global definition operator?
Using Mathcad 14
Is there any way of using a data table with the global definition operator?
No, sorry. You can't use any component based item with a global defintion. Why not just put the data table in an area at the top of the worksheet and then collapse the area?
Thanks. That was actually the work-around I started to use. It's not horrible, but I know I'm going to get "what's this ..." questions.
Andrew Kelly wrote:
Thanks. That was actually the work-around I started to use. It's not horrible, but I know I'm going to get "what's this ..." questions.
Andrew,
I'm a little lost. Is your data defined within Mathcad or brought in from another program?
You could post a worksheet and you might get more responses on possible alternative methods.
Mike
See attached (V11). The content in my example is a made-up case.
The Data Table seems to fit all of my needs. It's embedded in the worksheet. It doesn't have a fixed number of rows / columns. Adding / deleting rows/columns, and data to the table is relatively painless. In this format, I can extract the info out of the table using hlookup, vlookup, match, submatrix, etc. functions. I've got it set-up so that the order of the rows / columns and number of rows / columns doesn't matter
The only issue is that there doesn't appear to be a way to use a variable size table with a global definition operator.
Andrew Kelly wrote:
See attached (V11). The content in my example is a made-up case.
The Data Table seems to fit all of my needs. It's embedded in the worksheet. It doesn't have a fixed number of rows / columns. Adding / deleting rows/columns, and data to the table is relatively painless. In this format, I can extract the info out of the table using hlookup, vlookup, match, submatrix, etc. functions. I've got it set-up so that the order of the rows / columns and number of rows / columns doesn't matter
The only issue is that there doesn't appear to be a way to use a variable size table with a global definition operator.
From what you demonstrate, there is not much to understand of all those things you "WantToDo".
You don't have a data table really, just a collection. You can create a collection of anything, any size, spool to file WRITEPRN, recall any component from the filed collection then extract at will from any component of the collection using a data extractor [a few lines general utility].
jmG
The example was intentionally obfuscated. If you refer to my original question, I wanted a way to turn the colon equals sign into a triple equals sign, so I could refer to "Data" above the point in the worksheet where it is defined.
I prefer not to use external files, if possible; I prefer to have the data behind "Data" embedded in the worksheet.
Does anyone have a way to get a triple equals sign (~) without using a matrix?
Does anyone have a way to get a triple equals sign (~) without using a matrix?
Sorry, but I think there really is no way to do this. The only thing that can be to the right of a global equals is a standard math region. The only such region that can hold mulitple numbers is a matrix. Data tables, Excel components, scripted components, etc, are not allowed.
Andrew Kelly wrote:
The example was intentionally obfuscated. If you refer to my original question, I wanted a way to turn the colon equals sign into a triple equals sign, so I could refer to "Data" above the point in the worksheet where it is defined.
I prefer not to use external files, if possible; I prefer to have the data behind "Data" embedded in the worksheet.
Does anyone have a way to get a triple equals sign (~) without using a matrix?
There is a workaround. You could either use a scripted component to collect the data from the table( Maybe a textbox at the top of the worksheet) or use an Embedded Excel component.
Mike
Here is an example of a Textbox scripted component.
Another collab's help with more experience in scritpting tjhan me is required. i want the textbox to be able to collect a range
There is a workaround. You could either use a scripted component to collect the data from the table
I thought about that. It actually works fine in version 11, but not so fine in later versions. The problem is that when you open the worksheet the data is not on the screen, and is therefore not calculated. Therefore you can't get it. So you have to scroll to the end of the worksheet or hit Ctrl F9. That still won't get the data though, because the component is executed before the data table. So you have to click on the button after hitting Ctrl F9. So much of a PITA I don't think it's much of a solution.
Richard,
The push button seems to works fine. I just click the button and the data is collected.
Definanlty a workaround for me .
Mike
Which version are you using? I've forgotten.
I'm using 14.0 because I cant risk letting the IT department touch my laptop while I'm away onsite.
I deleted one of the "push button" objects and the "Get Result" button seems to work fine, see attached worksheet.
Mike
Without hitting Ctrl F9 first? Strange, because it only works for me if I first hit Ctrl F9.
Richard Jackson wrote:
Without hitting Ctrl F9 first? Strange, because it only works for me if I first hit Ctrl F9.
I have just checked and if the data is within the screen when I left click on the mouse the button works, otherwise Ctrl F9 is needed. Either way this isn't a major issue.
Cheers
Mike
Is there any way of using a data table with the global definition operator?
Check the attached. Isn't a data table like the mathcad table component but can help if the objective is using global assignations.
Regards. Alvaro.
AlvaroDíaz wrote:
Is there any way of using a data table with the global definition operator?
Check the attached. Isn't a data table like the mathcad table component but can help if the objective is using global assignations.
Regards. Alvaro.
Alvaro,
I think Andrew was only asking to use the golden definition operator because he wants the table table to be at the bottom of his worksheet and then use the data above, which seems a little strange to me.
He could define his data in an Embedded Excel component and use the XL storage component which Tom created to called the data to the top of the worksheet or just use the example provided by Richard.
Mike
Even the Bogus array is an oddity, it is native from mathcad and accept global definitions. Isn't like the table input, but I know kids that can program better interfaces for input arrays than the mathcad table component. Also don't need to activate scripts if your security level is at medium, and not disturbe the monster (excel, with their macros, addons, someones trials or free but with messages).
I know kids that can program better interfaces for input arrays than the mathcad table component.
I would agreee with that. You can find better grid controls that the Mathcad table component on the web, for free!
Alvaro,
Sorry for my ignorance, but could you explain how you created the "Bogus Array"?
Mike
MIke Armstrong wrote:
Alvaro,
Sorry for my ignorance, but could you explain how you created the "Bogus Array"?
Mike
Your ignorance? What about mine? See
http://communities.ptc.com/message/91325
Have not idea about hou create it, just copy, paste and edit to have another.
Regards. Alvaro.
Have not idea about hou create it, just copy, paste and edit to have another. Regards. Alvaro.
Cheers.
Could be useful, defiantly worth documenting.
Mike
Have not idea about hou create it, just copy, paste and edit to have another.
Define a range variable with the number of entries desired:
i:1;9
Type
a[i:,
As soon as you type the comma you will get the "bogus array" with some empty placeholders. To get more placeholders put the cursor on an empty one and type another comma.
Cheers Richard.
It works - be perfect if columns could be added.
Any more secrect functions you would like to share?
Mike
Any more secrect functions you would like to share?
Not that I can think of. At least, not for 14. There were several threads about undocumented "features" in 11, but those features don't exist in 14. Which perhaps could serve as a lesson: don't use undocumented features unless there is absolutely no other way to achieve what is needed. Undocumented means unsupported, and unsupported means it may not exist in the next version!
Richard Jackson wrote:
Any more secrect functions you would like to share?
Not that I can think of. At least, not for 14. There were several threads about undocumented "features" in 11, but those features don't exist in 14. Which perhaps could serve as a lesson: don't use undocumented features unless there is absolutely no other way to achieve what is needed. Undocumented means unsupported, and unsupported means it may not exist in the next version!
Oh ! Richard,
Are you not confusing a bit between "undocumented" and "undemonstrated" ? Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated". Many work sheets have the for loop argument "iter" [undocumented], if that is dropped, the matter is to recode if dropped in next versions: a no-sense to me. I bet the "BogusArray" works in 14/15 . I have tried to apply for collecting long plotting arguments but it refuses to understand my demand. There may be another "BogusPlot" missing . Sorry but can't recollect where to find the "iter" in the for loop.
Are you not confusing a bit between "undocumented" and "undemonstrated" ?
No. The meaning of "undocumented" is very clear. It means "not covered in the documentation".
Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated".
The Maple commands are a good example. They were undocumented because they were not supposed to be available. They were available only because of an oversight, and that oversight was removed in version 12. So any worksheet that relied on them stopped working.
I bet the "BogusArray" works in 14/15.
Yes, but it is not covered anywhere in the documentation. At least, not that I know of. Maybe it was documented at one time, but if it was then that must have been a very long time ago. So if you use it your worksheet may not work in the next version of Mathcad.
Richard Jackson wrote:
Are you not confusing a bit between "undocumented" and "undemonstrated" ?
No. The meaning of "undocumented" is very clear. It means "not covered in the documentation".
Typically, Mathcad 11 and and previous versions were so poor in using the Maple symbolic that all what got developed in the forum are simply "undemonstrated".
The Maple commands are a good example. They were undocumented because they were not supposed to be available. They were available only because of an oversight, and that oversight was removed in version 12. So any worksheet that relied on them stopped working.
I bet the "BogusArray" works in 14/15.
Yes, but it is not covered anywhere in the documentation. At least, not that I know of. Maybe it was documented at one time, but if it was then that must have been a very long time ago. So if you use it your worksheet may not work in the next version of Mathcad.
You contradict your self a lot,
There is about no symbolic application in Mathcad 8 and 11 qs , but it has been used a lot by Mathsoft otherwise than in the list of functions. Example the PID qs . The BogusArray wasn't documented in 8 but used a lot in the 8 qs. About the Maple coding, do you mean only the symbolic drop down menu should have been available and what about the in-line menu and all these options ? And if a command line needs another gear available and another one and so on, each dependent coding has to work. To me there was a "gentleman agreement" between the two world top CAS designers Maple & Mathsoft, but cancelled by Maple when Mathcad switched ownership. The Mathcad 12 version you are referring is probably the version that Maple had returned to PTC, which version couldn't survive. The BogusArray is just a list to vector like stack converter, it does what HP is doing, but on screen.
There is about no symbolic application in Mathcad 8 and 11 qs , but it has been used a lot by Mathsoft otherwise than in the list of functions. Example the PID qs . The BogusArray wasn't documented in 8 but used a lot in the 8 qs.
I looked, and version 8 didn't have the PID quicksheet. The PID quicksheet in version 11 does not contain any "bogus arrays".
About the Maple coding, do you mean only the symbolic drop down menu should have been available and what about the in-line menu and all these options ?
I was talking about the undocumented Maple functions such as numer and denom (which we got back in MC14, but were missing in MC12 and MC13).