May-18-2019, 03:33 PM
(This post was last modified: May-18-2019, 06:32 PM by michalmonday.)
It's kind of difficult to work with it without relating these variables to real life objects (or maybe I'm just noob:P) so it's not improved as much as it could be... But it generates the output you showed (including additional 45th row that yours' didn't have)
import numpy as np import math import sys import argparse #print("Hallo world!") #print("\n") B = 0.30 # thickness m = 3 # numbers of Layer s = 5 # Steps for one Layer Z = 0.30 # Z-value z1= 0.30 z2= B*m i=1 # variable for Lines n=1 # Layer counter g=2 S_ges = s * m # lines in total total_S_ges = S_ges accumulated_i = 0 whole_table = np.zeros([0, 3]) # 3 columns, 0 rows while n<= m: #for g in range(1, m, 1): I = np.linspace(i , total_S_ges , S_ges, dtype=int) table = np.zeros((S_ges, 3) ) # np.zeros(shape, dtype=float, order='C') table[:,0] = I table[:,1] = Z table[:,2] = n whole_table = np.concatenate((whole_table, table), axis=0) #i +=1 n += 1 Z += B g += n # added lines i += S_ges total_S_ges += S_ges print(whole_table) fmt = ['%i'] + 2 * ['%.3f'] np.savetxt("Loop.txt", whole_table, fmt = fmt )
Output:[[ 1. 0.3 1. ]
[ 2. 0.3 1. ]
[ 3. 0.3 1. ]
[ 4. 0.3 1. ]
[ 5. 0.3 1. ]
[ 6. 0.3 1. ]
[ 7. 0.3 1. ]
[ 8. 0.3 1. ]
[ 9. 0.3 1. ]
[10. 0.3 1. ]
[11. 0.3 1. ]
[12. 0.3 1. ]
[13. 0.3 1. ]
[14. 0.3 1. ]
[15. 0.3 1. ]
[16. 0.6 2. ]
[17. 0.6 2. ]
[18. 0.6 2. ]
[19. 0.6 2. ]
[20. 0.6 2. ]
[21. 0.6 2. ]
[22. 0.6 2. ]
[23. 0.6 2. ]
[24. 0.6 2. ]
[25. 0.6 2. ]
[26. 0.6 2. ]
[27. 0.6 2. ]
[28. 0.6 2. ]
[29. 0.6 2. ]
[30. 0.6 2. ]
[31. 0.9 3. ]
[32. 0.9 3. ]
[33. 0.9 3. ]
[34. 0.9 3. ]
[35. 0.9 3. ]
[36. 0.9 3. ]
[37. 0.9 3. ]
[38. 0.9 3. ]
[39. 0.9 3. ]
[40. 0.9 3. ]
[41. 0.9 3. ]
[42. 0.9 3. ]
[43. 0.9 3. ]
[44. 0.9 3. ]
[45. 0.9 3. ]]