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