簡體   English   中英

如何在水平矩陣中顯示垂直矩陣?

[英]how to display my vertical matrix in an horizontal matrix?

在一個文件“ file.mat”中,我有一個矩陣,其大小為(1,100),它像這樣垂直寫入:

  M1 =

     Columns 1 through 26:

        6   13    3   15   13   12    8    5    5    1   11    8    5    9    1    7   15    9    2    5    7    7    3    9    0   13

     Columns 27 through 52:

        4    5    7    2    6    6    2    7   12    5    5   12    0    6   11   15    1    2   12    9   13    9    7   13    2    2

     Columns 53 through 78:

        7   15    4   15    5   12    5   12   14    3   10   15   12    5    5   15    3    3    9    3    6    0   13   13    8    5

     Columns 79 through 100:

        2   10    0    8    5    5    9    8   13   14   15   14   10    6    7    8    9   10   14    5    2    5

如何在水平矩陣中更改它?

您可以使用M1.' permute(M1,[2 1]) 如果您希望所有數字都在一條水平線上(即作為矢量),則可以使用reshape(M1, [1,100])

您擁有的是一個水平向量,但是MATLAB會像這樣顯示它,以便您可以輕松查看每個元素所屬的位置。 我猜您想要的是將向量顯示為水平向量,以便您可以將其復制粘貼。 如果是這樣的話:

如果要將其顯示為長向量,可以使用sprintf

sprintf('%i ', M)
ans =   
35 3 31 8 30 4 1 32 9 28 5 36 6 7 2 33 34 29 26 21 22 17 12 13 19 23 27 10 14 18 24 25 20 15 16 11 

或者,如果您需要括號:

['[', sprintf('%i ', M), ']']    
ans =    
[35 3 31 8 30 4 1 32 9 28 5 36 6 7 2 33 34 29 26 21 22 17 12 13 19 23 27 10 14 18 24 25 20 15 16 11 ]

您也可以使用制表符分隔它: sprintf('%i\\t', M)或逗號: sprintf('%i,', M)

如果要將水平矢量重塑為vertical ,可以執行以下操作:

M = M.';

注意, '不是轉置運算符” .' 是。 如果您有矢量,但不知道它是否為垂直的水平,請使用以下表示法: M = M(:).' reshape(M, 1, [])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM