Extracting and formatting data

1 次查看(过去 30 天)
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 个评论
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 CenterFile Exchange 中查找有关 Logical 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by