将向量转换为三角矩阵

乔尼

我的向量是874!元素,我想将其变成一个三角形矩阵(即正方形矩阵的右上角)。

输入示例:

1
2
3
4
5
6
7
8
9
10

示例输出:

1 2 4 7
  3 5 8
    6 9
      10

空白可能会填充NA。我希望矩阵是否在这种情况下。

巴勃罗·弗朗西斯科·佩雷斯·伊达尔戈

我不知道您不想使用哪种编程语言,也不知道您希望将数字存储在哪个顺序中。

您应该考虑具有N个元素,如果要生成一个方阵,其尺寸(n行和列)由下式给出:

N = (n*(n+1))/2

因此,Python中的第一种方法(您应该考虑输入向量是否具有x ^ 2/2个元素)可以是:

from math import sqrt

x = range(1,25+1) # This is your input vector
N = len(x) 

#N = (n*(n+1))/2 # Number of elements being stored in a triangular matrix.
n = (-1.0+sqrt(1.0+8.0*N))/2.0 # Solve the equation given by the previous relation.
n = int(round(n)) # Making it integer...

while (n*(n+1))/2 < N: # ... losing precission so we should use the first n being able ...
    if (n*(n+1))/2 < N: # ... to store your vector is used.
        n += 1    

res = [[0]*n for i in xrange(n)] # Here, we create a n*n matrix filled with zeros.
x = x[::-1] #Reverse the input so it can be consumed using pop (O(1) each extraction)

for j in xrange(n): # Fill the empty matrix following the triangular pattern and using...
    if not x:
        break
    for i in xrange(j+1):
        if not x:
            break
        res[i][j] = x.pop() # The elements from your input vector.

for row in res: # Let's print the result!
    print(row)

想法是消耗x以正确的顺序用is值填充方阵(res)。现在,您可以轻松完成目标矩阵的维数转换。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将向量转换为三角矩阵

来自分类Dev

将矩阵的下三角部分转换为Matlab中的向量

来自分类Dev

numpy:将数组转换为三角矩阵

来自分类Dev

将下三角矩阵转换为矢量[JULIA]

来自分类Dev

将下三角矩阵转换为矢量[JULIA]

来自分类Dev

将R中的矩阵转换为具有相应条目的上三角/下三角矩阵

来自分类Dev

R:将矩阵的上三角部分转换为对称矩阵

来自分类Dev

将三角对等矩阵转换为对角线R为0的对称矩阵

来自分类Dev

将向量替换为具有不同长度的上三角矩阵

来自分类Dev

将一维numpy数组转换为矩阵的顶部三角形

来自分类Dev

将矩阵的上三角部分转换为3列长格式

来自分类Dev

将 Delaunay 三角剖分转换为体积

来自分类Dev

如何在NumPy中将三角矩阵转换为正方形?

来自分类Dev

从执行顺序运算的向量创建三角矩阵

来自分类Dev

将三角带转换为八角形?

来自分类Dev

下三角矩阵

来自分类Dev

将凸路径转换为三角形列表

来自分类Dev

需要帮助将字符串中的三角形转换为数组

来自分类Dev

将矩阵的下三角存储到数组中

来自分类Dev

将张量的“下对角线”映射到矩阵,作为将矩阵的下三角部分提取为向量的推广

来自分类Dev

将数据从列向量转换为矩阵

来自分类Dev

Julia-将矩阵转换为向量

来自分类Dev

将向量转换为对置换矩阵

来自分类Dev

将输出从矩阵转换为向量

来自分类Dev

如何将向量转换为矩阵?

来自分类Dev

将 2 个向量转换为矩阵

来自分类Dev

将向量转换为 MxN 矩阵

来自分类Dev

熔化后将矩阵中的上三角值强制为下三角值

来自分类Dev

使用RcppArmadillo用向量填充上三角矩阵(包括对角线)

Related 相关文章

热门标签

归档