Any hint about this error?
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Steps to reproduce (on Matlab R2013a 64bit Win machine):
R = rand(7,7);
>> ind_diag = eye(7);
>> R(ind_diag)
Error: Subscript indices must either be real positive integers or logicals.
>> ind_diag = ~~eye(7);
>> R(ind_diag)
ans =
0.8702
0.3818
0.6567
0.1098
0.4873
0.1401
0.7657
Cheers, Chris
1 Kommentar
Akzeptierte Antwort
Chris
am 16 Jul. 2013
Weitere Antworten (2)
harjeet singh
am 16 Jul. 2013
use this
R = rand(7,7);
ind_diag = logical(eye(7));
R(ind_diag)
0 Kommentare
harjeet singh
am 16 Jul. 2013
eye() will give you a output in double format and when you use ~~eye() it automatically converts in logical.
the command R(ind_diag) uses inputs as logical so that's why you have to convert it into logical before use
Siehe auch
Kategorien
Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!