Filter löschen
Filter löschen

How can I create the matrix in the photo?

3 Ansichten (letzte 30 Tage)
Muhendisleksi
Muhendisleksi am 4 Mai 2017
Kommentiert: Andrei Bobrov am 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?

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 5 Mai 2017
Bearbeitet: Andrei Bobrov am 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 Kommentare
Muhendisleksi
Muhendisleksi am 5 Mai 2017
What does [2,3,1] and [3,2,1] mean?
Andrei Bobrov
Andrei Bobrov am 5 Mai 2017
Please read about function permute from MATLAB

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Santhana Raj
Santhana Raj am 5 Mai 2017
Try making
BNdog=[4 7];
instead of [4 4]
  1 Kommentar
Muhendisleksi
Muhendisleksi am 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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by