Mathematica How to Solve Simultaneous Equations for Variable Ranges in Mathematica?

  • Thread starter Thread starter windfloyd
  • Start date Start date
  • Tags Tags
    Mathematica
AI Thread Summary
The discussion revolves around troubleshooting Mathematica code for solving a set of equations related to an engineering problem. Initial issues stemmed from the use of overly complex variable names, which included subscripts and superscripts, leading to confusion in the code. Suggestions were made to simplify variable names and utilize the Block function for better organization. The user was advised to use Solve instead of NSolve for non-polynomial functions and to ensure proper syntax, such as using commas correctly. After some adjustments, the user successfully ran the code but encountered a new challenge: obtaining solutions for multiple values of a variable simultaneously. Recommendations included using a For loop or the Table command to input a list of values for the variable in question, although the user expressed difficulty in applying these suggestions to their specific problem of solving simultaneous equations.
windfloyd
Messages
6
Reaction score
0
I just start to learn Mathematica to solve some engineering problem, and got stuck when I was trying to solve a set of equations. Pls see the attachment for the nb. file.
 

Attachments

Physics news on Phys.org
Welcome to PF!

I suggest you copy and paste the part(!) of the code you suppose you're having trouble with getting right and explain what you want to do.

If possible it would also be a good idea to state your problem as general as possible (nobody but you cares about some points specific to your particular problem which actually are not part of the question.)

Anyways, I haven't looked at the file yet (no mathematica here), maybe everything's fine.:smile:
 
The main problem is the names of the variables are too fancy, with subscripts and multiplication sign in the superscripts. Make sure your identifiers are symbols.

I see your programming in a C style, try putting your code in a Block:

Block[{a = 1, B = 2}, NDSolve ... ]
 
Crosson said:
The main problem is the names of the variables are too fancy, with subscripts and multiplication sign in the superscripts. Make sure your identifiers are symbols.

I see your programming in a C style, try putting your code in a Block:

Block[{a = 1, B = 2}, NDSolve ... ]

I have simplified the variables, but still got no answer. See new attached.
 

Attachments

Use Solve instead of NSolve for functions that aren't polynomials. There should be a comma at the end of the first line, and if you do get it running, it may take awhile to run.
 
I got it working. The major problem was that you used square brackets [ ] for grouping, when this is mathematica's notation for a function f[x].
 

Attachments

Thank you so much guys! It works now! But I still have a "silly" question: I'm supposed to get different results based on different input values for variables in the "Block" part, but I don't know how to input a list of values to let the software calculate at the same time instead of one by one? Can you please tell how to do that? In what form should I input the values of the variables?
 
You could use a For loop. Or if you have a predetermined list of values you could use a Table command. Look these up in the documentation center.
 
Crosson said:
You could use a For loop. Or if you have a predetermined list of values you could use a Table command. Look these up in the documentation center.

Thanks! I have looked up the information about how to input a list of values, but that doesn't apply here in my solving-equations problem. I want to get solutions of the simultaneous equations for different values of a variable in the equations. In the new attachment, i want to change t from 50 to 1000, ang get answers for the five unknowns.
 

Attachments

Similar threads

Back
Top