Using an empty matrix as an Index
7 ビュー (過去 30 日間)
古いコメントを表示
I can't find any documentation about this so I don't understand why matlab doesn't consider using an empty matrix as an index an error worthy event.
x = [3,4];
y = find(x = 0); % returns an empty matrix
i(y) = 0; % returns i = []
Is there a reason for this? It took me quite a while to realize this was causing problems in my program and when I did discover the behavior, I had a momentary thought that I was using perl instead of matlab.
0 件のコメント
回答 (2 件)
Sean de Wolski
2012 年 12 月 6 日
What do you expect it to return? If it's not being indexed by anything then it shouldn't extract anything. Perhaps this will look slightly better:
X = magic(5)
X(2:1,:)
2 件のコメント
Jan
2012 年 12 月 7 日
Exactly. The posted code does this:
Create a variable "i", which have all elements of the index vector set to 0. If the index vector is empty, "i" must be empty also.
Pritesh Shah
2012 年 12 月 7 日
x = [3,4]; y = find(x = 0); % returns an empty matrix i(y) = 0; It should be == instead of = y = find(x == 0); % returns an empty matrix
Now, it will work... Enjoy !!
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!