MATLAB: How to create the matrix in the photo

formatrix

<<
>>
dog_tab =
1.200000000000000 2.400000000000000 1.300000000000000
2.300000000000000 1.500000000000000 1.000000000000000
R =
0.200000000000000 0.400000000000000 0.300000000000000
BNdog =
4
4
nokta_ad =
4
7
11
for i=1:2
Kll = [dog_tab(nokta_ad==BNdog(i),1)^2 R(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),2) R(nokta_ad==BNdog(i),2)*dog_tab(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),3)
R(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),2) dog_tab(nokta_ad==BNdog(i),2)^2 R(nokta_ad==BNdog(i),3)*dog_tab(nokta_ad==BNdog(i),2)*dog_tab(nokta_ad==BNdog(i),3)
R(nokta_ad==BNdog(i),2)*dog_tab(nokta_ad==BNdog(i),1)*dog_tab(nokta_ad==BNdog(i),3) R(nokta_ad==BNdog(i),3)*dog_tab(nokta_ad==BNdog(i),2)*dog_tab(nokta_ad==BNdog(i),3) dog_tab(nokta_ad==BNdog(i),3)^2]
end
Kll7-4 matrix is forming. How can I create the other matrix?

Best Answer

m = [1.2000 2.4000 1.3000
2.3000 1.5000 1.0000];
r = [0.2000 0.4000 0.3000];
K = permute(m,[2,3,1]).*permute(m,[3,2,1]).*...
(hankel([0,r(1:2)],[r(2:3),0]).*~eye(3)+eye(3)); % MATLAB >= R2016b
for MATLAB < R2016b
rr = triu(ones(3),1);
rr(rr > 0) = r;
mm = bsxfun(@times,permute(m,[2,3,1]),permute(m,[3,2,1]));
K = bsxfun(@times,mm,rr + rr.' + eye(3));