Help for matrix in matlab

6 ビュー (過去 30 日間)
Amy Topaz
Amy Topaz 2022 年 4 月 14 日
コメント済み: the cyclist 2023 年 6 月 3 日
How to convert a 20*20 matrix into 20*1 matrix in matlab
  1 件のコメント
Riccardo Scorretti
Riccardo Scorretti 2022 年 4 月 14 日
Hi Amy, the problem as formulated is ill posed. What do you mean exactly by "converting a matrix"? Please, provide a simple example of what you want to do.

サインインしてコメントする。

回答 (2 件)

Kautuk Raj
Kautuk Raj 2023 年 6 月 2 日
編集済み: Kautuk Raj 2023 年 6 月 3 日
I am assuming that you wish to get a 400x1 matrix, instead of a 20x1 matrix, the latter being not possible without dropping elements. To convert a 20x20 matrix into a 400x1 matrix in MATLAB, we can use the reshape function. To cite an example:
% Define a 20x20 matrix
A = rand(20);
% Reshape the matrix into a 400x1 column vector
A_col = reshape(A, [], 1);
In this code, we first define a 20x20 matrix A using the rand function to generate random values. We then use the reshape function to reshape the matrix into a 400x1 column vector A_col.
More details about the reshape function can be found here.
  1 件のコメント
the cyclist
the cyclist 2023 年 6 月 2 日
The result is not a 20x1 column vector:
% Define a 20x20 matrix
A = rand(20);
% Reshape the matrix into a 20x1 column vector
A_col = reshape(A, [], 1);
size(A_col)
ans = 1×2
400 1
What the OP asked for is not possible without further information about what they mean.

サインインしてコメントする。


Walter Roberson
Walter Roberson 2023 年 6 月 3 日
prod(M, 2)
sum(M, 2)
min(M, 2)
max(M, 2)
any(M, 2)
all(M, 2)
std(M, [], 2)

amongst others

  1 件のコメント
the cyclist
the cyclist 2023 年 6 月 3 日
How silly can we get, within the bounds of the request?
M(randperm(400,20))'; % :-)

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by