필터 지우기
필터 지우기

could anyone help me how to solve the error in the following code

조회 수: 1 (최근 30일)
jaah navi
jaah navi 2021년 7월 16일
댓글: jaah navi 2021년 7월 17일
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
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
jaah navi
jaah navi 2021년 7월 16일
Error using splitapply
Group numbers must be a vector of positive integers, and cannot be a sparse vector.
Error in line 3
A{i}=splitapply(@(x){x}, 1:numel(B{i}) ,B{i});

댓글을 달려면 로그인하십시오.

답변 (1개)

Walter Roberson
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
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)
B{1} = 9 2 9 6 3 6 6 7 2 6 7 9 B{2} = 1 6 9 7 1 8 7 5 3 8 6 3
What exact output would you want for the above?
jaah navi
jaah navi 2021년 7월 17일
I want B to convert to A.
B=3x1 cell
2x3 double - [1,1,1 - 1st row
1,2,2]- 2nd row
A=3x1 cell
2x1cell - [1,2,3] 1st row
2x2cell - [1] [2,3] 2nd row

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Entering Commands에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by