saving a matrix of each loop
7 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
KSSV
le 11 Mar 2021
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 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Solver Outputs and Iterative Display dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!