Comparing two matriced
1 回表示 (過去 30 日間)
古いコメントを表示
Hi,
Is there a fast way to compare the differences between two matrices with the same dimension:
example Assume A and B each is a 1000x1000 matrix. Is there a way to find where A and B differ in one step?
0 件のコメント
回答 (4 件)
Jan
2011 年 3 月 10 日
And if the matrices are results of floating point computation a certian relative or absolute tolerance might be helpful:
abs_d = (A - B) < Tol
rel_d = ((A - B) ./ min(A, B)) < Tol
And now the same tools as replied by Walter, Sean and Matt can be applied.
0 件のコメント
Sean de Wolski
2011 年 3 月 10 日
The logical matric
ABne = A~=B
or if you need the indices
[r c] = find(ABne);
0 件のコメント
Matt Fig
2011 年 3 月 10 日
And a visual method:
spy(A~=B)
And a quick method to count the number of locations where A is not equal to B:
nnz(A~=B)
8 件のコメント
Jan
2011 年 3 月 10 日
NNZ is *much* faster in SSE, especially if the data are aligned at 128 bit boundaries.
Sean de Wolski
2011 年 3 月 10 日
I find it funny how the help for nnz says:
The density of a sparse matrix S is nnz(S)/prod(size(S))"
But M-Lint now says:
numel(S) is faster than prod(size(S))"
参考
カテゴリ
Help Center および File Exchange で Performance and Memory についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!