reshape+loop error
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
hi, i am trying to create a loop but I got this error message: Error using reshape Size arguments must be integer scalars. Can I ask how to solve it? thanks.
for i=1:120
d{i,3}=reshape(d{i,1},m(i,4),m(i,2));
end
0 comentarios
Respuestas (1)
Walter Roberson
el 14 de Ag. de 2015
d{i,3}=reshape(d{i,1},m(:,4),m(:,2)); tries to use the content of all of column 4 of m as the first dimension, and the content of all of column 2 of m as the second dimension. If m has more than one column then m(:,4) and m(:,2) would come out as vectors, and it is not allowed to reshape() to a vector of sizes. If you are certain that m has only 1 column then why not explicitly code m(1,4) and m(1,2) ?
Are you sure that m has sizes in it, and not data?
2 comentarios
Walter Roberson
el 14 de Ag. de 2015
Your revised code looks appropriate, provided that the m values are integer values and that m(i,4)*m(i,2) = numel(d{i,1})
Ver también
Categorías
Más información sobre Loops and Conditional Statements 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!