Stuck in Indexing of a Matrix(or Cell Array)

2 次查看(过去 30 天)
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.

采纳的回答

James Tursa
James Tursa 2015-3-25
编辑:James Tursa 2015-3-25
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 个评论
pradeep kumar
pradeep kumar 2015-3-26
Thank a TON Mr James Tursa . That tiny logic was not clicking in my mind from long time . You saved me .

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by