cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

solving a set of non-linear equations

nicolas_l2001-d
1-Newbie

solving a set of non-linear equations

I have some problems when I try to solve a set of non-linear equations using Mathcad 11.0a. I tried already the online help and the resource center but without any succes.

In the attached file called 'mathsoft_2' you can see 2 blocks of equations (first block: 10 equations + second block: 7 equations) that I solved separately without any problem. In the file 'mathsoft_1' I tried to solve the same equations but by adding the two blocks in one set of equations (17 equations and 17 unknowns). I also used the function 'minerr' because no results were found with the Find function. The error message that I receive is 'no symbolic result was found'.

Normally the basic version of Matcad can handle 250 variables in non-linear equations and the complexity of the problem should not be responsable for this error. Furthermore the error is given after a very short time of evaluation.

In the file called 'mathsoft_3' I tried to add some more equations to optimize my modellisation but it was impossible to solve the equations because the computer took too many time to give any results (more then 1 hour). The first set of equations is the same as in 'mathsoft_2' and the second set contains 19 equations and 19 unknowns.

My computer and the operating system have the following characteristics :

Microsoft Windows 2000
Pentium 4 Dell 1.6GHz
256MB RAM

If you have any further question, please feel free to ask. Thank you very much.
2 REPLIES 2

In Chemical Eng.-Forum you can find my Report about the solve-block of Mathcad.
Resume:
This block can solve only simple study task. For any real non-linear task we must create own program with iterations...
Valery Ochkov
http://twt.mpei.ac.ru/ochkov

I think your situation is well covered by the old joke:

Patient: It hurts when I move my arm like this.

Doctor: Don't move your arm like that.

Why are your trying to put everything into a solve block? For best results, you want to remove everything possible from the solve blocks.

Even in your first set of equations, you start with a set of equations that explicitly define some values in terms of previously defined values. All of these should be removed from the solve block and replaces with simple assignment statements preceding the block. Simililarly, you have a set at the end that explicitly define some values in terms of previously occuring values. These, too, should be removed from the solve block and replaces with simple assignments following the solve block. Only the middle equations, where variables are defined in terms of each other, should remain in the solve block.

Further, if you can separate your equations into sets that can be solved separately, do so. Only include in a single solve block equations that are actually mutually dependent.

Minerr is inherently a numeric process. Don't expect to ever get useful symbolic results out of minerr.

Don't confuse the symbolic processor with the numeric processor. Mathcad is primarily a numeric processor. The symbolic processor is bolted on as an external facility (Maple) with an interface. Just because the numeric processor will handle 250 equations doesn't mean that the symbolic processor will come anywhere close to that.

While the symbolic processor has some remarkable capabilities, and will quickly solve many seemingly difficult equations, it also has some remarkable blind spots, and will sometimes fail to do very simple things, like eliminate a variable that has an explicit definition in the block. The symbolic processor works best if you keep its input as simple as possible. Adding extraneous or trivial equations to a set can easily confuse the symbolic processor. You also often have to try different formulations -- it is not uncommon for apparently equivalent equations to differ as to their solubility or the form of the solution.


Tom Gutman
Announcements