i have S= 6*3 matrix and i want to give sequencial name to each element like s(1,1)=p1 ....s(1,2)=p2...
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Pratik Anandpara
el 9 de Dic. de 2016
Respondida: Steven Lord
el 9 de Dic. de 2016
i have random 6*3 matrix and want to give name to each element in sequence like i call p1 than show me the data of s(1,1)
0 comentarios
Respuesta aceptada
Steven Lord
el 9 de Dic. de 2016
You just need to iterate over the elements of an array? That's easy with linear indexing and does not require creating many scalar variables.
M = magic(5)
for whichElement = 1:numel(M)
fprintf('Element %d of M is %d.\n', whichElement, M(whichElement));
end
Note that this walks down the columns of M first since MATLAB is column-major. But if you need to walk across the rows first, transpose M. Walking down the columns of the transpose of M is like walking across the rows of M itself.
M = magic(5)
Mt = M.';
% Note that I displayed M but I'm indexing into Mt in the code below.
for whichElement = 1:numel(Mt)
fprintf('Element %d of M (row-wise) is %d.\n', whichElement, Mt(whichElement));
end
Also note that the for loop does not need to change at all if I want to display (or operate on) a different sized or shaped M matrix. The only change I would need to make would be to the definition of M itself.
0 comentarios
Más respuestas (1)
KSSV
el 9 de Dic. de 2016
Why you want do it? You can call them by s(1,:),s(2,:) etc...it is not suggested what you want to do.
8 comentarios
Ver también
Categorías
Más información sobre Data Type Identification en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!