|
Не выводится столбец ошибок в текстовый файл при реализации модели изинга
|
|||
---|---|---|---|
#18+
Здравствуйте! Помогите, пожалуйста, найти ошибку в коде. При выполнении программы создается текстовый документ(вообще 3, но интересуют только два из них, Efull.txt и M.txt) и туда записывается, например, в Efull.txt, столбец значений T, столбец Efull и третий столбец с ошибками. Первые два столбца вроде как заполняются нормально, а третий заполнен каждый раз нулями. Это лабораторная работа в универе, сравнивал с другими работами, с готовыми, там все примерно то же самое, но файлы правильно заполняются. Уже много разных изменений в код добавлял, но ничего не меняется. Ошибка вычисляется в функции double er(double *xi, double x) строка 112. Вызов функции происходит в строках 182 и 186, а печать в файл - 184 и 188. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 15:59 |
|
Не выводится столбец ошибок в текстовый файл при реализации модели изинга
|
|||
---|---|---|---|
#18+
DaniilNakhodka return sqrt((1/9)*sum); Скобки неправильно поставлены. 1/9 всегда равно 0. Отсюда и твои нули. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2021, 16:16 |
|
Не выводится столбец ошибок в текстовый файл при реализации модели изинга
|
|||
---|---|---|---|
#18+
А еще полезно писать 1.0 вместо 1, когда надо работать с float/double. С точки зрения математики оно без разницы, и чаще всего компилятор это самостоятельно будет делать. Но во первых, тебе самому будет проще потом понимать работаешь ты с целыми числами или (потенциально) дробными. А во вторых, иногда компилятор может ошибиться. Например: Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2021, 04:35 |
|
Не выводится столбец ошибок в текстовый файл при реализации модели изинга
|
|||
---|---|---|---|
#18+
Спасибо вам обоим, сделал вот так и получилось: Код: plaintext 1. 2.
Это вместо тех строк. Теперь ошибка с графиками, тоже много всего с кодом перепробовал делать, на фото ниже самое лучшее, что получилось, но все равно не то. Посмотрите, пожалуйста, что может быть не так. Надо по выведенным в файлы значения построить графики в gnumplot и у меня получается так: https://ibb.co/NNPLK7V https://ibb.co/YZ746yn https://ibb.co/dgT2DXH https://ibb.co/hdJtDwP https://ibb.co/8ryzMh6 А должно быть так: https://ibb.co/S63mFM1 https://ibb.co/sjqyKnY https://ibb.co/RhP3GZ1 Также, если кто знает, напишите, пожалуйста, как одновременно в gnuplot выводить 2 графика(lines и yerrorbars). На первых фото показан нужный мне вариант, а на моих все раздельно. Прописывал в gnuplot: plot "Путь к текстовому файлу" using 1:2:3 with lines/yerrorbars, но выводится только что-то одно, либо lines либо yerrorbars. Сейчас код, с учетом всех последних изменений выглядит так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191.
Массив специально генерируется только из единиц со знаком +, без -1, так советовал препод. Однако что с -1, что без -1, разницы особой нет, проверял. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.03.2021, 09:26 |
|
|
start [/forum/topic.php?fid=57&fpage=4&tid=2017246]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 191ms |
0 / 0 |