如何修复此语法错误?活塞位置

2024-04-16 12:02:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试编写一个python代码来绘制以恒定角速度旋转的曲轴的活塞位置。方程:x=rcos(θ)+sqrt(l^2-(r^2)(sin^2(θ)))

到目前为止,我已经写了:

import numpy as np 
import matplotlib.pyplot as plt

def piston_position (t, r1, l):
    return (r1 * np.cos(t) + ((l**2) - (r1**2) * (np.sin(t)**2)**0.5)

t = np.linespace(0,361,50)
y5 = piston_position(t,3,15)

plt.plot(t,y5)
plt.show()

我在t=np.linespace(0361,50)上不断得到一个语法错误,表示语法无效。我不确定为什么这是不正确的,因为在以前的代码中,相同的方法可以很好地解决:

import numpy as np
import matplotlib.pyplot as plt 

def yFall (t,v0,y0):
   return (-9.8*t*t/2+v0*t+y0)

t = np.linspace(0,3,11)
y5 = yFall(t,5,30)

plt.plot(t,y5, 'b^--', mfc = 'r')
plt.title ("position")
plt.ylabel ("time")
plt.xlabel ("speed")
plt.show()

非常感谢您对这个问题的帮助!谢谢你


Tags: 代码importnumpyreturnmatplotlibdefasnp
1条回答
网友
1楼 · 发布于 2024-04-16 12:02:43

解析器正在变得混乱,因为您遗漏了一个右括号)~

def piston_position (t, r1, l):
    return (r1 * np.cos(t) + ((l**2) - (r1**2) * (np.sin(t)**2)**0.5))

这导致python试图将下一个代码块理解为数值公式的一部分。因此它报告语法错误

相关问题 更多 >