I want to assign multiple arrays of data simultaneously to different variable

10 ビュー (過去 30 日間)
I want to assign multiple arrays of data simultaneously to different variable, but I think my syntax is wrong, Can anybody help me out here? A simple version of the code is gioven below.
D=[1 2 3 4 5 6 7 8 9 10];
[p q r]= [D(1:2) D(2:5) D(6:10)]
  2 件のコメント
Stephen23
Stephen23 2022 年 6 月 2 日
編集済み: Stephen23 2022 年 6 月 2 日
"I want to assign multiple arrays of data simultaneously to different variable, but I think my syntax is wrong"
It looks as if you are trying to write Python code. If you want to understand what your MATLAB code is actually doing:
  • On the RHS square brackets are a concatenation operator (not a "list" operator, which MATLAB does not have). So your RHS concatenates some arrays together into one array, and is equivalent to this: D([1:2,2:10])
  • On the LHS square brackets are used to capture multiple function outputs. However array concatenation only returns one output, so the code you show will not work: one output cannot be directly assigned to three outputs.
Square brackets are used a lot in MATLAB, you need to understand what they mean and how to use them:
TM Abir Ahsan
TM Abir Ahsan 2022 年 6 月 2 日
@Stephen23 Yes, I understand your point. I think if these were single variables instead of array then my RHS inputs would have been assigned to the individual variables concatanated on the LHS. I was just curious as of why MATLAB could not do the same for arrays instead of single values on the RHS. The deal function is doing exactly what I was looking for here. Thanks for your comment :)

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

採用された回答

Voss
Voss 2022 年 6 月 2 日
編集済み: Voss 2022 年 6 月 2 日
D = [1 2 3 4 5 6 7 8 9 10];
[p q r] = deal(D(1:2), D(2:5), D(6:10))
p = 1×2
1 2
q = 1×4
2 3 4 5
r = 1×5
6 7 8 9 10
  1 件のコメント
TM Abir Ahsan
TM Abir Ahsan 2022 年 6 月 2 日
Amazing! Thanks @Voss, I had no idea about the deal func. Thanks a bunch. This reduced a lot of line of my codes.

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

その他の回答 (0 件)

カテゴリ

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

タグ

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by