|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题的公式是
z =2000000*x+50000000+1000000/0.8
z= 2000000*y+50000000+1000000/0.7
z的值在什么范围时2000000/(2000000+50000000/x+1000000/0.8x) < 2000000/(2000000+50000000/y+1000000/0.7y)
我现在想用while函数嵌套z=z+10000之类的,但失败了...
我目前的垃圾想法是这样的...求大佬解答
from sympy import symbols, Eq, solve
while equation_3 < equation_4:
z = 1000000
z = str(z)
x, y = symbols("x y")
equation_1 = Eq(2000000*x+50000000+1000000/0.8, z)
equation_2 = Eq(2000000*y+50000000+1000000/0.7, z)
solution = solve((equation_1, equation_2), (x, y))
equation_3 = Eq(2000000/(2000000+50000000/x+1000000/0.8*x))
equation_4 = Eq(2000000/(2000000+50000000/y+1000000/0.7*y))
z = z + 100000
return z
- from sympy import symbols, Eq, solve
- z = 1000000
- x, y = symbols("x y")
- equation_1 = Eq(2000000*x+50000000+1000000/0.8, z)
- equation_2 = Eq(2000000*y+50000000+1000000/0.7, z)
- while True:
- # 解决方程组
- solution = solve((equation_1, equation_2), (x, y))
- x_val = solution[x]
- y_val = solution[y]
-
- # 计算方程式的值
- equation_3_value = 2000000/(2000000+50000000/x_val+1000000/0.8*x_val)
- equation_4_value = 2000000/(2000000+50000000/y_val+1000000/0.7*y_val)
-
- if equation_3_value.evalf() < equation_4_value.evalf():
- z += 100000
- equation_1 = Eq(2000000*x+50000000+1000000/0.8, z)
- equation_2 = Eq(2000000*y+50000000+1000000/0.7, z)
- else:
- break
- print(z)
复制代码
|
|