How can I create the matrix in the photo?

1 vue (au cours des 30 derniers jours)
Muhendisleksi
Muhendisleksi le 4 Mai 2017
Commenté : Andrei Bobrov le 5 Mai 2017
<<
>>
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?

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 5 Mai 2017
Modifié(e) : Andrei Bobrov le 5 Mai 2017
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));
  3 commentaires
Muhendisleksi
Muhendisleksi le 5 Mai 2017
What does [2,3,1] and [3,2,1] mean?
Andrei Bobrov
Andrei Bobrov le 5 Mai 2017
Please read about function permute from MATLAB

Connectez-vous pour commenter.

Plus de réponses (1)

Santhana Raj
Santhana Raj le 5 Mai 2017
Try making
BNdog=[4 7];
instead of [4 4]
  1 commentaire
Muhendisleksi
Muhendisleksi le 5 Mai 2017
"Index exceeds matrix dimensions.
Error in Untitled (line 10) 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)" error occurred

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by