Dividing two non-zero arrays gives me an array of zeros
6 ビュー (過去 30 日間)
古いコメントを表示
Hi, I'm dividing two arrays of equal size by eachother. These arrays do have 0's in them but not all the values are zero.
When I Divide the two I get an array of equal size to them both but all elements in the array are zero.
Here is an example
if true
x = ones(100)
y = ones(100)
z = x./y
z
% code
end
except when I return my 'z' I get an array of zeroes. Does anyone have any idea why this is and what a fix might be?
My x is a 100x100 double and my y is 100x100 double
Any help appreciated as always
2 件のコメント
jgg
2016 年 2 月 12 日
Does that code in your example generate all zeroes for you? It doesn't on my system (Windows 10 x64, R2015a)?
回答 (1 件)
Walter Roberson
2016 年 2 月 12 日
Your actual arrays are one of the integer data classes, such as if you are trying to divide one uint8 image by another . You need to double() the arrays before doing the division.
2 件のコメント
Walter Roberson
2016 年 2 月 12 日
編集済み: Walter Roberson
2016 年 2 月 12 日
Looks plausible.
new_b = b_c ./ double(rMagPriCubed(:,:,[1 1 1]));
and now you could select layers from new_b if you wanted.
参考
カテゴリ
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!