How to append arrays of different lengths
조회 수: 30 (최근 30일)
이전 댓글 표시
I am trying to extract values from a structure, but those arrays are of different lengths. I was wondering how I could make a structure/array with those arrays of different lengths. I either want to try creating a padding for the arrays or create a structure with the different lengths within it.
Below is my attempt of trying to create the newarr by appending newarray values to it, but a horzcat error prevents appending once the length of the array changes from 8882*2 to 8879*2.
newarr=[];
for n=1:size((dist_arr),1)%dis_arr is a character array of size (20x36)
newarray(n,1)=[convertCharsToStrings(dist_arr(n,:))];
newarr=[newarr,s.(newarray(n))];
end
I was wondering if anyone has a possible solution to this issue so I can create an array/structure with all the signals regardless of what the array size is.
댓글 수: 0
답변 (1개)
GeeTwo
2022년 7월 1일
What about something like:
function cat=horzcat_pad(a,b);
% How long is the longer matrix?
longer=max(length(a,1),length(b,1));
% Pad any shorter than this with zeros
if length(a,1)<longer, a(longer,1)=0; end
if length(b,1)<longer, b(longer,1)=0; end
% Now horizontally concatenate the possibly padded arrays.
cat=[a b];
end
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Structures에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!