对于任务,我们必须输入飞机机翼厚度与长度比,生成从0到1均匀间隔20点的x数组,计算y坐标(使用下面的代码中的等式),并清楚地显示他们回到用户。我已经开始了,但即使在查看了有关如何在Python中使用数组的其他用户问题后,我也完全迷失了。我的问题是:我从哪里开始?到目前为止,这是我的代码:
import numpy
import math
x = numpy.array([0, 1, 0.05])
y = 0
sqrt = x**(0.5)
tString = input("What is the thickness to length ratio (as a decimal)?")
t = float(tString)
y = (5*t)*((0.2969*sqrt) - (0.1260*x) - (0.3516*(x**2)) + (0.2843*(x**3)) - (0.1015*(x**5)))
答案 0 :(得分:0)
使用numpy.linspace
和numpy.vectorize
:
import numpy as np #1
x = np.linspace(0, 1, 20) #2
y = np.vectorize(
lambda x, t: 5 * t * (.2969*x**.5 - .1260*x - .3516*x**2 + .2843*x**3 - .1015*x**5)
) #3
t = float(input("What is the thickness to length ratio (as a decimal)? ")) #4
print(y(x, t)) #5
numpy
导入np
。它在numpy
用户中非常常见,因为您可能需要多次编写它。它是一个对流,每次出现可以节省3个字母。numpy.linspace
。numpy.vectorize
。