loop to create the new matrix which contains the kron product

2 views (last 30 days)
Hi,
So I have created a 3*3 matrix for A and B as shown below
A=round(rand(3,3)*10-5)
B=round(rand(3,3)*20-10)
now the question has ask me to use the nested loop to create the new matrix which contains the Kronecker product K=A*B
for i=1:3
for ii=1:3
K=A(i,ii)*B
end
end
I've attempted to do this by creating this nested loop, it generates 9 answers for K and I don't really know how to combine these answers into one matrix of 9*9. I am not sure if this method is right. It would be great if anyone can help me with this.
Thank you in advance :)

Accepted Answer

Roger Stafford
Roger Stafford on 6 Dec 2013
K = zeros(3*3,3*3);
for i=1:3
for ii=1:3
K(3*i-2:3*i,3*ii-2:3*ii) = A(i,ii)*B;
end
end

More Answers (1)

sixwwwwww
sixwwwwww on 6 Dec 2013
Edited: sixwwwwww on 8 Dec 2013
you can do it as follows:
A = round(rand(3,3)*10-5);
B = round(rand(3,3)*20-10);
for i = 1:size(A, 1)
for j = 1:size(A, 2)
AB{i, j} = A(i, j) * B;
end
end
AB = cell2mat(AB);
disp(AB)
Good luck!

Tags

Community Treasure Hunt

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

Start Hunting!