saving a matrix of each loop
조회 수: 6 (최근 30일)
이전 댓글 표시
HELLO! i am trying to save a matrix on each loop.
i know this is simple syntax but it is not working for me. This is the code i have where i know there is a syntax error. it just keeps overriding the previous matrix.
while(fin)
% made seperate matrix for the test
for i=1:length(pts)
matrix = [x(next:pts(i,:)), y(next:pts(i,:)), test(next:pts(i,:))];
next = pts(i);
end
if pts(i) == length(pts)
fin = 0;
end
return
end
i then attempted to add this, and this is the error coming up.
test(i,:) = matrix;
Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
i have attempted to use matrix{i} but that gives me a cell and i cant handle it the way i want to. none of the cell commands work...
i have also tried matrix(:,i) = [x(next:pts(i,:)), y(next:pts(i,:)), test(next:pts(i,:))];
Unable to perform assignment because the indices on the left side are not compatible with
the size of the right side.
Error in arrayplay (line 56)
matrix(:,i) = [x(next:pts(i,:)), y(next:pts(i,:)), num_step(next:pts(i,:))];
please help. im just about ready to cry.
댓글 수: 0
채택된 답변
KSSV
2021년 3월 11일
You can save them into a cell as shown below.
iwant = cell([],1) ; % initilize a cell array;
while(fin)
% made seperate matrix for the test
for i=1:length(pts)
matrix = [x(next:pts(i,:)), y(next:pts(i,:)), test(next:pts(i,:))];
next = pts(i);
iwant{i} = matrix ; % save into a cell
end
if pts(i) == length(pts)
fin = 0;
end
return
end
Access the cell using: iwant{1}, iwant{2},...etc.
You can also initialize it into amatrix, if dimensions are known in prior and if dimensions don't change in a loop.
댓글 수: 5
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!