saving a matrix of each loop

조회 수: 35 (최근 30일)
caroline bourn
caroline bourn 2021년 3월 11일
댓글: caroline bourn 2021년 3월 11일
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.

채택된 답변

KSSV
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
KSSV
KSSV 2021년 3월 11일
편집: KSSV 2021년 3월 11일
Then go by cell array....if problem is well known there might be another easy way.
caroline bourn
caroline bourn 2021년 3월 11일
im sorry, i don't understand. could you explain it a bit further?

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Solver Outputs and Iterative Display에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by