multiplying all elements by fellow elements

Dear All, please if i have matrix of [1 2;4 3], i want to write a statement that can multiply every element by their fellow element and give final result in matrix. that is it will perform and give this kind of matrix: [1*1 1*2 1*4 1*3; 2*1 2*2 2*3 2*4] thanks

1 Comment

See Bruno Luong's answer for the simple and efficient MATLAB solution.

Sign in to comment.

 Accepted Answer

A=[1 2;4 3] %edited
[m,n]=size(A);
result=cell(1,m);
for i = 1:m
result{i}=[A(1,i).*(A)];
end
result=horzcat(result{:})

2 Comments

Hi sir, yours is correct but what if is a bigger array. Am actually working with a 10 by 10 matrix. using your method will be very long
See edited answer now

Sign in to comment.

More Answers (1)

Not clear what you want but KRON might be what you are looking for
>> A=[1 2; 4 3]
A =
1 2
4 3
>> kron(A,A)
ans =
1 2 2 4
4 3 8 6
4 8 3 6
16 12 12 9
>> kron(A,[1,2])
ans =
1 2 2 4
4 8 3 6
>> kron(A,[1;2])
ans =
1 2
2 4
4 3
8 6
>> kron([1,2],A)
ans =
1 2 2 4
4 3 8 6
>> kron([1;2],A)
ans =
1 2
4 3
2 4
8 6

Community Treasure Hunt

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

Start Hunting!