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 Commento

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

Accedi per commentare.

 Risposta accettata

madhan ravi
madhan ravi il 2 Nov 2018
Modificato: madhan ravi il 2 Nov 2018
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 Commenti

mac-nic ifegbo
mac-nic ifegbo il 2 Nov 2018
Modificato: mac-nic ifegbo il 2 Nov 2018
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

Accedi per commentare.

Più risposte (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!

Translated by