Как мне исправить эту синтаксическую ошибку?Положение поршня - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь написать код Python, чтобы построить положение поршня коленчатого вала, вращающегося с постоянной угловой скоростью.Уравнение: x = rcos (theta) + sqrt (l ^ 2 - (r ^ 2) (sin ^ 2 (theta)))

До сих пор я написал это:

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 (0,361,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()

Буду признателен за любую помощь в решении этой проблемы!Спасибо.

1 Ответ

0 голосов
/ 16 октября 2018

Синтаксический анализатор становится запутанным, потому что вы убрали закрывающую скобку ) ~

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

Это приводит к тому, что python пытается понять следующий блок кода как часть числовой формулы.Таким образом, он сообщает об ошибке синтаксиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...