In moment of clarity I realised today that many of the things that I want to create as GUI applications can be generalised to a single application: An equation solving interface. I have played around with various equation solving environments like EES and PolyMath, also math environments like Mathcad but none of them work like the thing I am starting to see in my head.
Equation solving interface
Comments
-
Indeed, I don't think it exists, or if it does, I haven't seen it. Not that I solve typical engineering problems, but I do a lot of financial modeling.
Spreadsheets are my easy-to-use tool, but I have to think carefully how I construct them primarily because of this one-way effect that you describe.
Sometimes I type values over my formulas to play with solutions, and just undo (CTRL+Z), or save-as… Its crude.
Or I model the problem from a few different perspectives, and punch in the results obtained from one approach manually into another sheet…. have a few sheets.
The speed and low learning curve makes the humble spreadsheet quite workable for me despite its deficiencies.
I use the conditional cell colouring a lot too.
I can see the benefits of such a tool as you propose.
-
The normal way of solving in the opposite direction in Excel would be Goal Seek or Solver, but that only gets you so far, and is annoyingly different from entering a value in a cell. Also, imagine sliders on all those values, letting you play any which way. I think I'm on to something.
-
Mathcad may be close to what you are looking for. See http://wp.me/pxmcv-P
-
Have you considered Mathematica?
http://www.wolfram.com/learningcenter/ -
Hey Will: If you know something I don't about Mathematica's abilities, please share. As near as I can tell, there is way to do the stuff I describe (automatically determining which variables can be solved for from a set of equations, allowing manipulation both ways) short of actually writing a program. Note that the problem is not really solving the equations — I have plenty of tools that can do that — rather providing an equation solving environment.
-
Will: I suppose you were talking about the Manipulate function, which does indeed supply the interactivity. Seems interesting. It appears that the Sage function Interact is a re-implementation of the concept. I'm still trying to figure out where I stand on this. The thing that differentiates this idea from what I've seen before is primarily the directionality thing — the fact that there aren't "inputs" and "outputs" like you have to specify in Manipulate or Interact.
Leave a Reply