Python 制造罪恶';arc&x27;精确长度

Python 制造罪恶';arc&x27;精确长度,python,math,Python,Math,我有一个相对简单的问题,我甚至不知道如何用谷歌搜索它 比如说,我有一个可变长度的数组,例如: [0, 1, 2, 3, 4, 5, 6] 在迭代此类循环时,我希望接收值: [0, 1, 2, 3, 4, 5, 6] [0, 0.3, 0.7, 1, 0.7, 0.3, 0] 所以基本上,我需要从0到1的值,向上直到到达中间,然后向下。不管是简单的还是轻松的,我都不太在乎。所以它可以是定义了弧长的sin,也可以是其他的hack。。。对每一种方法都感兴趣 我说的是for循环的id

我有一个相对简单的问题,我甚至不知道如何用谷歌搜索它

比如说,我有一个可变长度的数组,例如:

[0, 1, 2, 3, 4, 5, 6]
在迭代此类循环时,我希望接收值:

[0, 1,   2,   3,   4,   5, 6]
[0, 0.3, 0.7, 1, 0.7, 0.3, 0]
所以基本上,我需要从0到1的值,向上直到到达中间,然后向下。不管是简单的还是轻松的,我都不太在乎。所以它可以是定义了弧长的sin,也可以是其他的hack。。。对每一种方法都感兴趣

我说的是for循环的id

for x in range(0,6):
 y = ?
谢谢

编辑:
价值观是不相关的

如果数组中的值不相关,则输出应为
sin(currentPositionOfArray*PI/(lengthOfArray-1))
。但是,在这种情况下,请确保数组的长度为
>1

这意味着对于数组
[0,1,2,3,4,5,6]
,您将得到
[0,PI/6,PI/3,PI/2,2PI/3,5PI/6,PI]
,即
[0,0.3,0.7,1,0.7,0.3,0]
<

y = (x*(6-x))/9
或通常用于0到n的段

y = (4*x*(n-x))/(n**2)

取该值的平方表示速度为零的起点和终点。

数组上的值会影响结果吗?如果它是一个由
[0,0,0,0,0,0]
组成的数组,那么它是否与
[0,1,2,3,4]
相同?您尝试过什么吗?如果数组的值很重要,但长度很重要,那么您是否尝试过将数组一分为二,然后找到从0到1所需的步长?递增的逻辑是什么?是否有任何特定的间隔?不,值是无关的。在数组中迭代时,根据数组中的当前位置,我需要一个值以弧形上下移动。
y=x
y=0
如果值不相关,则工作。退一步说,这是通过数组和计算的运动,这两者中哪一个会给你带来问题?数组=[0,1,2,3,4,5,6]对于x,枚举(数组)中的val:y=math.sin(x*math.pi/(len(数组)-1))print x,y出于某种原因这给了我:0.0;1 0.5; 2 0.866025403784; 3 1.0; 4 0.866025403784; 5 0.5; 6 1.22464679915e-16;数学sin(3)=1如何?我的小型java(本笔记本电脑中没有python)程序打印
[0.0,0.49,0.86,1.0,0.86,0.49,0.0]
我的代码btw是
for(int i=0;iWell,怪异。
for x,枚举(数组)中的val:a=x*math.pi b=(len(数组)-1)y=math.sin(a/b)打印x、a、b、y
打印:
0.060.013.1415926535960.526.28318530718 0.866025403784 3 9.42477796077 6 1.0412.5663706144 6 0.866025403784 5 15.7079632679 6 0.5618.8495559215 1.22464679915e-16
啊,对不起,我误解了你的答案。数值是正确的!如果你的问题是
1.22464679915e-16,那就是这个数值了非常接近于
0
。这是因为PI是一个无穷大的数字,当你计算它的
sin
时,你会失去精度。你假设最终
x=n
,所以
n=arraylelength-1
不,不完全是那样,
n=arraylelength-1
打字错误。也许在你的答案中描述一下
n