Stuck in Indexing of a Matrix(or Cell Array)

2 visualizaciones (últimos 30 días)
pradeep kumar
pradeep kumar el 25 de Mzo. de 2015
Comentada: pradeep kumar el 26 de Mzo. de 2015
Hi all,I have just started learning MATLAB . Please find my codes below
m= ['A','B','C'];
cs=size(m,2);
for i=1:cs
for j=1:cs
if i~=j
s1=(m(i));s2=',';s3=(m(j));
s=strcat(s1,s2,s3);
disp(s);
end
end
end
It produces the following output on command window.
* A,B
* A,C
* B,A
* B,C
* C,A
* C,B
But , i want to wrap up all the outputs into a single matrix (or Cell Array ) , Lets say new_M . So that the values of new_M shall contain all the above values like this .
new_M (6,1) =
[ A,B
A,C
B,A
B,C
C,A
C,B ]
Your help will be highly appreciatated . Thanks in advance.

Respuesta aceptada

James Tursa
James Tursa el 25 de Mzo. de 2015
Editada: James Tursa el 25 de Mzo. de 2015
E.g., using the cell array approach:
m= ['A','B','C'];
cs=size(m,2);
new_M = cell(cs*(cs-1),1); % Pre-allocate your cell array
k = 0; % Initialize counter for cell array
for i=1:cs
for j=1:cs
if i~=j
s1=(m(i));s2=',';s3=(m(j));
s=strcat(s1,s2,s3);
disp(s);
k = k + 1; % Increment cell array counter
new_M(k) = {s}; % Stuff string into cell array element
end
end
end
  1 comentario
pradeep kumar
pradeep kumar el 26 de Mzo. de 2015
Thank a TON Mr James Tursa . That tiny logic was not clicking in my mind from long time . You saved me .

Iniciar sesión para comentar.

Más respuestas (0)

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!

Translated by