MATLAB: How to edit matrice to another matrice

image analysisMATLAB

% how to edit matrice A to matrice B with
% A=[1 a b c
% 2 d e f
% 3 g h i];
% %
% B=[ 1 a b 0
% 2 b c 0
% 3 c a 0
% 4 d e 0
% 5 e f 0
% 6 f d 0
% ...
% 9 i g 0 ]
%% I have a code for this but it's not work
A=[1 a b c; 2 d e f; 3 g h i];
[m,n]=size(A);
B=zeros(3*m,n);
for i=1:3*m
B(i,1)=i;
B(i,4)=0;
end
for k=1:3
for i=1:3:3*m
B(i,2)=A(k,2);
B(i,3)=A(k,3);
end
for i=2:3:3*m
B(i,2)=A(k,3);
B(i,3)=A(k,4);
end
for i=3:3:3*m
B(i,2)=A(k,4);
B(i,3)=A(k,2);
end
end
B

Best Answer

Hi Ahdia,
To perform just what you have asked for, you can do something as below:
a = 10;
b = 20;
c = 30;
d = 40;
e = 50;
f = 60;
g = 70;
h = 80;
i = 80;
A=[1 a b c; 2 d e f; 3 g h i];
Atemp = A(:,2:end); % Extacting the different variables
ACTemp = circshift(Atemp,-1,2); % Performing the circular shift
CTemp = [Atemp ACTemp]; % Combine both matrices and extract the respective indices
BTemp = reshape([CTemp(:,1:3:end) CTemp(:,2:3:end) CTemp(:,3:3:end)]',[],1);
B = zeros(9,4);
B(:,1) = 1;
B(:,2) = BTemp(1:2:end);
B(:,3) = BTemp(2:2:end);
Hope this helps.
Regards,
Sriram