how to predefine a matrix with one unknown dimension
95 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Eliraz Nahum
el 12 de Oct. de 2018
Movida: Dyuman Joshi
el 18 de Oct. de 2023
hey everybody I am interested in predefining a matrix with unknown dimension. I know that the matrix should have 15 rows (number of iterations), but the number of columns (time stages) depends on a stop condition in the code, and hence can't be known in advance. can I create a general definition like v=[]; but for a matrix with one known dimension? In addition, is it possible to create a zero matrix with 1 unknown dimension?
thanks!
1 comentario
Respuesta aceptada
Matt J
el 12 de Oct. de 2018
Editada: Matt J
el 12 de Oct. de 2018
No, all the dimensions of a matrix must be explicitly defined. What I often do in those cases is pre-define a cell array,
C=cell(1,N)
with a conservatively large N. Then, as the loop runs, accumulate the data in a sequence of cells,
for i=1:N
C{i}=next_column;
if stop_condition
break;
end
end
Later, you can just assemble the cells into a matrix with,
A=cell2mat(C);
and the empty cells will be ignored.
0 comentarios
Más respuestas (1)
Image Analyst
el 13 de Oct. de 2018
Just define a matrix that's well large enough to hold all your numbers, like a few million elements or whatever.
v = zeros(15, 1000000);
Then do whatever you need to do assigning rows and columns in v, then, if you've kept track of the max column number, you can simply crop the array
v = v(:, maxColumn);
0 comentarios
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!