How to populate a table with results from a while function

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP



How to populate a table with results from a while function



Does anybody know how to save the intermediate results inside a while function in a table?
Here is my code. I would like to save the x,y,counter values in a table in every step that while takes. Thank you!


counter = 0;
While[counter < 5,
counter = counter + 1;
sol = NSolve[2 x + y - counter == 0,
3 y + 5 x - 2 counter == 0, x, y];
]




4 Answers
4


counter = 0;
sol = ;
While[counter < 5, counter = counter + 1;
AppendTo[sol, Flatten[counter, x, y /.
NSolve[2 x + y - counter == 0, 3 y + 5 x - 2 counter == 0, x, y]]]]

sol



1, 1., -1., 2, 2., -2., 3, 3., -3., 4, 4., -4., 5, 5., -5.



or


counter = 0;
sol2 = ConstantArray[0, 5];
While[counter < 5, counter = counter + 1;
sol2[[counter]] = Flatten@counter, x, y /.
NSolve[2 x + y - counter == 0, 3 y + 5 x - 2 counter == 0, x, y]]
sol2



1, 1., -1., 2, 2., -2., 3, 3., -3., 4, 4., -4., 5, 5., -5.



Use Sow and Reap :


Sow


Reap


counter = 0;
Reap @ While[counter < 5, counter = counter + 1;
sol = NSolve[2 x + y - counter == 0,
3 y + 5 x - 2 counter == 0, x, y];
Sow[x, y, counter /. sol]]



I think other answer take your question too literally. You do not really need While. IMHO Mathematica way of solving this is to use Table.


While


Table



Assuming, that your equation always gives a single solution:


Table[
x, y, counter /.
First@NSolve[2 x + y - counter == 0,
3 y + 5 x - 2 counter == 0, x, y], counter, 5] // TableForm



enter image description here



To reach the same end, as you mentioned Table (a digression: if you know Python, you can compare Wolfram's Table with its list comprehensions, which is attached with more conciseness and readability.), the most direct method is just to use it:


Table


Table


Table[
Append[
NSolve[2 x + y - counter == 0, 3 y + 5 x - 2 counter == 0, x, y],
counter
],
counter, 4
]




x -> 1., y -> -1., 1, x -> 2., y -> -2., 2,
x -> 3., y -> -3., 3, x -> 4., y -> -4., 4





Using Append you abuse the list of solutions from NSolve. I would make a NSolve,counter instead of Append[NSolve,counter].
– Johu
17 hours ago


Append


NSolve


NSolve,counter


Append[NSolve,counter]






By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

Firebase Auth - with Email and Password - Check user already registered

Dynamically update html content plain JS

How to determine optimal route across keyboard