在Python中使用数组编程

2024-05-19 16:35:02 发布

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

对于赋值,我们必须输入一个机翼厚度与长度的比值,生成一个由均匀分布的20个点组成的x数组,从0到1,计算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)))

Tags: 代码用户importnumpymathsqrt数组array
1条回答
网友
1楼 · 发布于 2024-05-19 16:35:02

使用numpy.linspacenumpy.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
  1. 使用别名np导入numpy。它在numpy用户中非常常见,因为您可能需要多次编写它。这是一个对流和节省你3个字母每次出现。你知道吗
  2. 创建一个从0到1的向量,20个点等距分布。更多文档请参见^{}。你知道吗
  3. 创建一个将应用于输入向量的每个元素的函数。它有两个参数,x(包含要应用函数的所有点的向量)和t(可以是标量)。更多文档请参见^{}。你知道吗
  4. 在一行中询问长度比,如果您只想将字符串转换为浮点数,则无需将字符串存储在变量中。你知道吗
  5. 打印结果。你知道吗

相关问题 更多 >