|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 veilong 于 2019-10-15 23:53 编辑 import math
from sympy import *
def solve_c(θ,α):
"""
求解曲线系数c
θ为过渡角度,用弧度
α为斜线段角度
"""
c1,c2,c3,c4,c5,c6,c7=symbols('c1:8')
eq1 = c1*(1/4 - 1/(2 * math.pi))-c4
eq2 = c1/(4*math.radians(1/4*θ))-c3
eq3 = c1*math.pi-16*c2*math.radians(1/4*θ)**2
eq4 = c2*math.radians(1/2*θ)**2+c3*math.radians(1/2*θ)+c4+c6/(2 * math.pi)-c7
eq5 = 2*c2*math.radians(1/2*θ)+c3-c5/(4*math.radians(1/4*θ))
eq6 = 16*c2*math.radians(1/4*θ)**2-c6*math.pi
eq7 = 5.298-c5/4-c7
sol = solve((eq1,eq2,eq3,eq4,eq5,eq6,eq7),(c1,c2,c3,c4,c5,c6,c7))
return sol
c = solve_c(19,85)
#c1=c[c1]
运行后得{c1: 2.06084003807692, c2: 58.8751760609687, c3: 6.21460191754672, c4: 0.187217130537599, c5: 8.53515996192307, c6: 2.06084003807692, c7: 3.16421000951923}
加上c1=c[c1]这句则报错:name 'c1' is not defined
尝试将symbols中的c1换为x,y,z中之一则正确取得值。
请高手不吝解答,谢谢!
本帖最后由 XiaoPaiShen 于 2019-10-16 09:29 编辑 import math
from sympy import *
def solve_c(θ,α):
"""
求解曲线系数c
θ为过渡角度,用弧度
α为斜线段角度
"""
c1,c2,c3,c4,c5,c6,c7=symbols('c1:8')
eq1 = c1*(1/4 - 1/(2 * math.pi))-c4
eq2 = c1/(4*math.radians(1/4*θ))-c3
eq3 = c1*math.pi-16*c2*math.radians(1/4*θ)**2
eq4 = c2*math.radians(1/2*θ)**2+c3*math.radians(1/2*θ)+c4+c6/(2 * math.pi)-c7
eq5 = 2*c2*math.radians(1/2*θ)+c3-c5/(4*math.radians(1/4*θ))
eq6 = 16*c2*math.radians(1/4*θ)**2-c6*math.pi
eq7 = 5.298-c5/4-c7
sol = solve((eq1,eq2,eq3,eq4,eq5,eq6,eq7),(c1,c2,c3,c4,c5,c6,c7))
return sol
c = solve_c(19,85)
c1,c2,c3,c4,c5,c6,c7=symbols('c1:8')
print(c[c1])
|
|