could anyone help me how to solve the error in the following code
1 次查看(过去 30 天)
显示 更早的评论
I am having cell array
B=10x1 cell
which contains
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
10x4 double
I used the following code to convert it
A=cell(size(B));
for i=1:numel(B)
A{i}=splitapply(@(x){x}, 1:numel(B{i}) ,B{i});
disp("YTest{" +i+ "}:"), B{i}
for j=1:numel(A{i})
disp("A{" +i+ "}{"+j+"}:"), A{i}{j}
end
disp ' '
end
But it results in error. Could anyone please help me to overcome it.
2 个评论
jessupj
2021-7-16
what is the error, exactly?
what is the line
splitapply( @(x) {x}, 1:numel(B{i}) ,B{i} )
supposed to do? it looks like that's where is problem to me
回答(1 个)
Walter Roberson
2021-7-16
The last parameter to splitapply must be a vector of positive integers, one for each row of input, with the number indicating which group the row belongs to.
It is not clear that your B values are integers. It is clear that B{i} is not a vector.
Perhaps you accidentally exchanged the second and third parameters.
8 个评论
Walter Roberson
2021-7-16
Unfortunately, you did not explain what output you want.
rng(12345)
B{1} = randi(9, 3, 4);
B{2} = randi(9, 3, 4);
celldisp(B)
What exact output would you want for the above?
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!