Community Tip - Your Friends List is a way to easily have access to the community members that you interact with the most! X
I am trying to make a comprehensive UNIFAC model program (it is an activity coefficient model used in chemical engineering). Currently I have it running and it works correctly, except for the user to be able to use this program for any size mixture system, they must edit the component matrices manually. For instance, if there are two species in the mixture, the user must edit the first vector to have two components and input the corresponding values, and they must edit the second matrix to have two rows and then they must input the corresponding values. What I want my program to be able to do is have the user input the number of components and this variable will produce both the vector and the matrix of the correct corresponding sizes. After these are created, then the user needs to be able to edit the values of the matrix and input the data that they need to run. I know how to make both vectors and matrices of variable sizes but what I need help with is making these resultant vectors and matricies able to be edited by the user to where they can input the data they need to run in the system.
Solved! Go to Solution.
Please don't cross post. It leads to confusion and wastes peoples time because you can the same answers in more then one place.
Which version of Mathcad are you using?
Sorry, this is my first time posting. And I am using Mathcad 15
Yes, thank you this does exactly what I need. Thank you for your help!
I know this is an old post now, but the zipped file shared previously sounds like what I need as well, but it won't open in Prime 6.0. Is it possible to get an updated copy of that "Empty matrix creation.xmcdz" worksheet shared here, or possibly a pdf so that I could at least see what was done in that previous version as far as syntax and so forth? Any help is much appreciated!
Jason
Vladimir sent you the converted file but you may notice that some regions are just converted to pictures, rendering the converted sheet useless. The reason is that the older Mathcad versions were much more powerful than the Prime versions which miss a lot of features. Some of the features not available in Prime like embedding symbolic calculations in a program or the used of scripted components were use by Richard in his sheet and thats the reason its not working in Prime.
In case you are interested here is what it looks like after pressing the "Define Matrix" button
and here is the scipt part of the component:
Option Explicit
Dim State
Text = "Define Matrix"
Sub PushBtnEvent_Start()
Rem TODO: Add your code here
End Sub
Sub PushBtnEvent_Exec(Inputs,Outputs)
Dim Regtag, Reg, XML, Val, n, m, i, VarName
If State = 0 Then Exit Sub
Regtag = Inputs(0).Value
For Each Reg in Worksheet.Regions
If Reg.tag = Regtag Then Exit For
Next
If Not IsObject(Reg) Then
MsgBox "Region tag """ & Regtag & """ not found",_
vbOKOnly + vbExclamation, "Error"
Exit Sub
End If
If State = 2 Then
XML = "<ml:define xmlns:ml=""http://schemas.mathsoft.com/math20"">" & vbCrLf & "<ml:id xml:space=""preserve"">MyMatrix</ml:id>" & vbCrLf & "<ml:str xml:space=""preserve"">Matrix not assigned yet</ml:str>" & vbCrLf & "</ml:define>"
Reg.MathInterface.XML = XML
Exit Sub
End If
State = 0
VarName = Inputs(1).Value
n = Inputs(2).Value
m = Inputs(3).Value
XML = "<ml:define xmlns:ml=""http://schemas.mathsoft.com/math20"">"
XML = XML & vbCrLf & "<ml:id xml:space=""preserve"">" & VarName & "</ml:id>"
XML = XML & vbCrLf & "<ml:matrix rows=""" & n & """ cols=""" & m & """>"
For i = 1 to n*m
XML = XML & vbCrLf & "<ml:placeholder/>"
Next
XML = XML & vbCrLf & "</ml:matrix>"
XML = XML & vbCrLf & "</ml:define>"
Reg.MathInterface.XML = XML
End Sub
Sub PushBtnEvent_Stop()
Rem TODO: Add your code here
End Sub
Sub PushBtn_Click()
State = 1
PushBtn.Recalculate()
End Sub
Sub PushBtn_DblClick()
State = 2
PushBtn.Recalculate()
Yeah, I'd noticed it was nonfunctional, but didn't realize how much was missing! Thanks for posting the script. I have to say, that is disappointing to hear that Mathcad has reduced functionality; definitely not the typical program development. This is probably my first time back to Mathcad since I worked at a previous employer that used it. That was mostly back pre-PTC, and I think v11 was the last one I'd used before now. Maybe I hadn't missed much after all if that's the direction they're heading with the software...
The concept and "development" of Prime sure are disappointing,
v11 is by many considered the best version ever. v12 was one of the worst versions, SUC was implemented and in v14 Maple was replaced by the much less capable muPad as symbolic engine. As Mathsoft and now PTC had to license muPad from Mathworks, PTC in Prime6 decided to replace muPad b the free FriCAS, which, as the examples which showed up here in the forum suggest, is again weaker than muPad. 😞
As of version which still can be licensed Mathcad 15 is the best choice but its not further developed by PTC- PTC adds it free (the same license file works for both) when you license Prime (buy the tail and get the dog).