У меня проблема. Я делаю задание для своих уроков и стараюсь изо всех сил, но подсказки учителей, кажется, не помогают, и мне нужно искать проблему самому, сталкиваясь с проблемой.
Для начала мне нужно было перевести это задание с моего родного языка на английский. Поэтому из-за этого могут быть некоторые недоразумения, поскольку это было трудно объяснить с математической точки зрения.
«Существует множество Мандельброта, которое создается точками, заданными на поверхности комплексными числами, так что следующее рекуррентное уравнение не стремится к бесконечности:
{ z0 = 0 // zn+1 = zn^2 + c
Вам нужно сделать двумерный массив T размером 600x600. Каждый элемент этого массива T[k][l] будет представлять собой комплексное число ckl = (−2 + k * 0,005, (−1,5 + l * 0,005)ˆi). Затем для каждого элемента из T[k][l] вычислите первые n_max = 100 чисел из серии и сохраните это значение как n для |zn| > 2".
Да, это было больно. Я много гуглил об этом, но я не мог использовать все другие скрипты Python для решения этой задачи. В итоге я использовал это: LINK и сделал это:
import matplotlib.pyplot as plt
k = 600
l = 600
T = [0][0]
for i in range(k):
for j in range(k):
z = 0 + 0j
c = complex(-2 + i * 0.005, -1.5 + j * 0.005)
for g in range(100):
z = z * z + c
if abs(z) > 2.0:
T = i
break
plt.figure(dpi=200)
plt.imshow(T, cmap="hot")
plt.show()
И это очень плохо, я действительно не понимаю этого. Кроме того, я получаю сообщение об ошибке: TypeError: Invalid shape () for data data. Я нашел другое решение пару недель назад, отправил его, но это должно быть сделано так, как описано в скрипте. Пожалуйста, помогите .. спасибо за ваше время заранее. Если нужны еще скриншоты задания, предоставлю.
T = [0][0]
переменнаяT
является целым числом0
, потому что первое[0]
представляет собой список из одного целого числа0
, а второе извлекает данные по своему0
му индексу, который является целым числом0
- person ForceBru   schedule 21.05.2020