MATLAB: How to find the product of each element of a matrix by itself and by the other elemets at the same row

element-by-element operation on matrices

input:
x = [a,b,c;
d,e,f]
output:
y = [a^2,a*b,a*c,b^2,b*c,c^2;
d^2,d*e,d*f,e^2,e*f,f^2]

Best Answer

  • EDIT
    [n1,n2] = ndgrid(1:size(x));
    y = x(:,nonzeros(tril(n1))).*x(:,nonzeros(tril(n2)));