python - 如何在数组列表中设置十进制值(在 Python 中)?

标签 python arrays numpy

首先,我有一个像这样的输出数组(在 4x1 的矩阵中):

   array([[ -2.22044605e-15],
   [  2.82842712e+01],
   [ -2.22044605e-15],
   [  2.82842712e+01]])

我从 4x3 和 3x1 矩阵乘法的返回值中收到输出,如下所示:

def inverse_kinematic(self,Degree):
    # [W] = (1/r)[R][V] 
    self.R = array ( [[-1, 1, self.X1+self.Y1], [1, 1, self.X2-self.Y2],
                       [-1, 1, self.X3+self.Y3], [1, 1, self.X4-self.Y4]]) 

    self.V = array ( [[self.Vt*math.cos(math.radians(Degree))],
                       [self.Vt*math.sin(math.radians(Degree))],[ self.Wv]])
    self.W = []
    self.W = (1/self.r)*dot(self.R,self.V)
    return self.W

我真的想要像上面那样输出数组,但是以两位十进制值表示,如下所示:

   array([[ 0.00],
   [  28.28],
   [ 0.00],
   [  28.28]])

我厌倦了使用“%.2f”%(数字)方法,但仍然没有成功。我想知道是否有最好的方法来在数组列表中设置十进制值?

最诚挚的问候,

格伦

最佳答案

您的返回值的顺序非常不同:

2.82842712e+01 约 2.8

-2.22044605e-15 = 0.0000000000000022 大约 0

您的数值评估很可能在分析上为零,而较小的值只是计算错误。

矩阵运算在 numpy 中很容易完成,你可以使用这样的东西:

    >>> import numpy as np
    >>> a = np.array([[11,12,13],[21,22,23],[31,32,33],[41,42,43]])
    >>> b = np.array([[1],[2],[3]])
    >>> x = np.dot(a,b)
    >>> x
    array([[ 74],
   [134],
   [194],
   [254]])

在这种情况下,您可能会满意

    >>> x = np.array([0.923423,0.12341235,0.213453241])
    >>> x.round(2)
    array([ 0.92,  0.12,  0.21])

numpy 数组很方便,因为您不必迭代它们的条目:

    >>> a = np.array([1,2,3,4,5])
    >>> a
    array([1, 2, 3, 4, 5])
    >>> a+2
    array([3, 4, 5, 6, 7])
    >>> a*10
    array([10, 20, 30, 40, 50])
    >>> np.sin(a)
    array([ 0.84147098,  0.90929743,  0.14112001, -0.7568025 , -0.95892427])

关于python - 如何在数组列表中设置十进制值(在 Python 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10588079/

相关文章:

python - 为什么我的 3D numpy 数组中的值在我将其写入文件时会发生变化?

python - 使用自定义颜色渐变填充两条线之间的区域

python - Pygame 声音延迟 - 与缓冲区/采样无关

python - 为什么我的 wxPython 小部件的格式会出现问题?

python - 尝试在 Python 中解压/解码专有数据文件

php - PHP 数组键有大小限制吗? PHP 数组一般有哪些限制?

C将结构中的数组和指针初始化为相同的值

ios - Swift:正确初始化和访问数组中的类

python - numpy 数组转换(拆分 int 无需转换为字符串)

python - 如何在不完全匹配es 2.X的情况下获得成功? (Python弹性搜寻)