Итак, я хочу решить уравнение z с двумя переменными (например, x и y, имеющими 50 значений). Я хочу, чтобы вычислить что-то вроде:Как решить уравнение с двумя переменными в python
import numpy as np
x = np.linspace(0, 50, 51)
y = np.linspace(100, 150, 51)
z=y-x
print z
with open("output_data.csv","w") as out_file:
for i in range(len(x)):
#print i
out_string=""
out_string+=str(x[i])
#out_string+=str(real(ky2)[i])
#print out_string
out_string += "," + str(z[i])
out_string += "\n"
out_file.write(out_string)
Однако я хочу, чтобы вычислить первый х со всеми у это вторая х со всеми; y снова и так далее, пока не получу набор из 50 значений z, каждый из которых имеет 50 значений. Затем сохраните файл из 50 колонок.
Что мой код делает так, что жир вычисляет только 50 z для 1-го x и 1-го y, 2-го и 2-го y и так далее.
Любые идеи?
Я сделал первую часть, и она действительно работает нормально, но замена str словами не помогла. Не могли бы вы быть более ясными в этой части? – Mac
Я добавил обновление, которое иллюстрирует использование списка 'words'. В основном вы создавали новую строку для каждого '+', который вы вызывали на свой out_string. Хранение компонентов в 'list' (слова) является общей идиомой python и используется для более эффективного создания более длинных строк. – vikramls
Это только дает мне ошибку: words = [] ^ IndentationError: ожидается отступом блок – Mac