如何用python中的两个变量求解方程

时间:2015-04-06 21:47:56

标签: python variables numpy equation-solving

所以,我想用两个变量求解方程z(例如,x和y各有50个值)。我想计算类似的东西:

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) 

然而,我想计算第一个x,所有y' s,第二个x全部; y再次等等,直到我得到一组50个z值,每个值设置为50个值。然后保存在50列文件中。

我的代码正在做什么,所以胖只计算第一个x和第一个y,第二个x和第二个y的50个z,依此类推。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您需要更改代码,以便在z循环内计算for

for i in range(len(x)):
    words = []
    z = y-x[i]
    words.append(str(x[i]))
    words.append(", ".join((str(_z) for _z in z)))
    outfile.write(": ".join(words))
    outfile.write("\n")

使用您的代码,您只需计算z一次(在循环之外),这会在您看到的yx之间产生差异。

说完这句话后,您应该将代码更改为str += ...。如果要累积字符串,请改用列表:

words = []
words.append(str(x[i]) ...