How we can do the matrix and vector in vector form?

3 ビュー (過去 30 日間)
Vims
Vims 2023 年 12 月 13 日
編集済み: Dyuman Joshi 2023 年 12 月 13 日
clc;
clear all ;
close all;
format long g;
%% developing the function for the reverse in the vector concate and reverse it
A = [1;2;3]
B = [4 5 6;8 9 11]
[numRows,numCols] = size(B)
%% new vector will be vector form
C = vertcat(A,[B])
  3 件のコメント
Vims
Vims 2023 年 12 月 13 日
I need answer in the vector form as it shown in image attached.
Vims
Vims 2023 年 12 月 13 日

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

採用された回答

madhan ravi
madhan ravi 2023 年 12 月 13 日
  2 件のコメント
madhan ravi
madhan ravi 2023 年 12 月 13 日
Wanted = [A; reshape(B.', [], 1)
Vims
Vims 2023 年 12 月 13 日
I want function which also do the reverse. As the same format B was earlier. This is the another function. I think we have to use
[numRows,numCols] = size(B)

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

その他の回答 (2 件)

madhan ravi
madhan ravi 2023 年 12 月 13 日
B = B.';
Wanted = [A; B(:)]
  1 件のコメント
Vims
Vims 2023 年 12 月 13 日
correct but in reverse as same format or size. This is main part.
[numRows,numCols] = size(B)

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


Dyuman Joshi
Dyuman Joshi 2023 年 12 月 13 日
I've demonstrated 2 methods here using reshape and colon, : . Refer to the documentation pages linked for more info.
Note that using semi-colon to concatenate is equivalent to vertcat.
A = [1;2;3];
B = [4 5 6;8 9 11];
%Method 1
C1 = [A; reshape(B.',[],1)]
C1 = 9×1
1 2 3 4 5 6 8 9 11
%Method 2
B = B.';
C2 = [A; B(:)]
C2 = 9×1
1 2 3 4 5 6 8 9 11
  3 件のコメント
Vims
Vims 2023 年 12 月 13 日
I think we have to use something like
[numRows,numCols] = size(B)
Dyuman Joshi
Dyuman Joshi 2023 年 12 月 13 日
編集済み: Dyuman Joshi 2023 年 12 月 13 日
That's a good start.
Now, use indexing to split the data, and reverse the steps of method 1.

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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品


リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by