我在python中制作了一个快速简单的方程式求解器,用于家庭办公,在其中我需要计算sig_a的值,每个eps_komp的值在0到700之间。我使用2个for循环来完成此操作,第一个选择eps_komp值,第二个搜索0至700之间最接近的sig_a值,以使方程尽可能接近零。我用“delta”定义了允许的错误。
这类似于二等分法中的逻辑。这是代码:
eps_komp = [0.00012893048999999997,
0.018839115269999998,
0.01230539995,
0.022996934109999999,
-0.0037319012899999999,
0.023293921169999999,
0.0036927752099999997,
0.020621037629999998,
0.0063656587500000002,
0.020324050569999998]
Rm=700
sigma = np.linspace(0, Rm-0.01, Rm/0.01)
delta = 0.001
sig_a = []
for j in range(len(eps_komp)):
eps_j = eps_komp[j]
for i in range(len(sig)):
eps_j - sigma[i]/Emod - (sigma[i]/RO_K)**(1/RO_n) = diff
if diff <= delta:
sig_a.append(sigma[i])
eps_komp的值只是前10个,还有更多,但我仅以前10个为例。
现在,我不断收到此错误:
语法错误:无法分配给运算符
我知道它与错误的索引有关,但我看不到问题...。
如果有人可以提供帮助,那对我来说意义重大。谢谢。
卢卡
最佳答案
要为计算分配不同的值,它必须位于等号的左侧:
diff = eps_j - sigma[i]/Emod - (sigma[i]/RO_K)**(1/RO_n)
关于python - python语法错误中的方程式求解器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36406672/