フィルターのクリア

Extracting and formatting data

1 回表示 (過去 30 日間)
Doina Gumeniuc
Doina Gumeniuc 2017 年 11 月 19 日
コメント済み: Doina Gumeniuc 2017 年 11 月 26 日
Hi all,I am trying to do the following: Let's say I have two matrices
A =
2
2
1
3
B =
0.1000
0.0030
0.0500
0.0200
0.4000
0.0600
0.0900
1.0000
Every value from matrix A represents the number of values I would like to extract from matrix B. For example: if the first value in matrix A is 2, then I would like to extract first two values from B in a row [0.1,0.003] and so on.
  4 件のコメント
Rik
Rik 2017 年 11 月 20 日
And how did you want to save those different parts?
Doina Gumeniuc
Doina Gumeniuc 2017 年 11 月 21 日
Hi Rik! I will fprint them into a vtk input file. In B I have numerous columns so I would like to take it column by column using the same values from A

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

採用された回答

Walter Roberson
Walter Roberson 2017 年 11 月 20 日
B_cell = mat2cell(B, A, size(B,2));
  5 件のコメント
Walter Roberson
Walter Roberson 2017 年 11 月 26 日
B_cell = mat2cell(B, A, ones(1,size(B,2)));
Doina Gumeniuc
Doina Gumeniuc 2017 年 11 月 26 日
wow..Great, thank you a lot!

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

その他の回答 (1 件)

Rik
Rik 2017 年 11 月 19 日
A solution that might not scale well, is to convert A to a cell (with num2cell), use cellfun with @(x) 1:x, make sure it is a row array, convert back to a normal vector (with cell2mat) and use that as the index to B (so C=B(index_vector);)

カテゴリ

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