Help for matrix in matlab

1 回表示 (過去 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 ExchangeLogical についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by