Reshape and Modify a cell array
6 次查看(过去 30 天)
显示 更早的评论
Dear Community,
I have a 294x1 cell array, where each variable is a number and from this cell I need to create 2 cell arrays each of 49x1, where each variable of this new cell arrays contains 3 variables of the first array. How would you do that?
This is what I got so far:
Last_vektor = num2cell(Ubertragungsmatrix(:,end));
Load_vector = reshape(Last_vektor,[98,1]);
Pu_tr = cell(49,1);
Pn_tr = cell(49,1);
0 个评论
采纳的回答
madhan ravi
2020-10-3
编辑:madhan ravi
2020-10-3
Vielleicht?
C = num2cell(reshape(Ubertragungsmatrix(:, end), 294/2, []), 1);
C1 = num2cell(cellfun(@(x) {reshape(x, [], 3)}, C));
[Pu_tr, Pn_tr] = deal(C1{ : })
更多回答(1 个)
madhan ravi
2020-10-3
Bessere Version:
V = reshape(Ubertragungsmatrix(:, end), [], 3, 2);
V1 = squeeze(num2cell(V, [1, 2]));
[Pu_tr, Pn_tr] = deal(V1)
3 个评论
madhan ravi
2020-10-3
编辑:madhan ravi
2020-10-3
It’s assumed that Ubertragungsmatrix(:, end) is a vector with 294 elements. size(Pu_tr) size(Pn_tr) % paste the output here
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!