How to compare the values of three matrices are equal?
조회 수: 3 (최근 30일)
이전 댓글 표시
Hi
I need help with comparison matrices. I'm new to MatLab. Please help me.
I have three matrices R, S and T (size 95956x1) and I need to compare all elements them and see which elements are equal, then the same values we multiply by a fourth matrix.
In a Matlab file I read the coordinates and separate them into three matrices, thus obtaining matrices R, S and T saved in "data.mat". Then I read in another file "data.mat" and opened a For loop
for t=1:1:length(CoordinateIndex)
index = R == S ;
ts=ts+1;
end
Now I do not know if this is correct and how I will multiply to only those values which are equal to a fourth matrix. Please could you help me? I am very grateful
Jadiel
댓글 수: 2
Azzi Abdelmalek
2013년 7월 7일
편집: Azzi Abdelmalek
2013년 7월 7일
can you explain: then the same values we multiply by a fourth matrix. And you did not precise what are you going to multiply by the fourth matrix
채택된 답변
per isakson
2013년 7월 7일
I don't exactly understand what you want to do. However, here is an extra example to the documentation on locigal indexing.
Create some data. It's short column vectors to make them easy to inspect.
N = 12;
R = randi( [1,3], [N,1] );
S = randi( [1,3], [N,1] );
T = randi( [1,3], [N,1] );
f = randi( [1,3], [N,1] );
Create a logical index, which is true when R(i)==S(i), else is false
is_RS = (R==S);
Multiply T(i) by f(i) where R(i)==S(i)
T(is_RS) = f(is_RS) .* T(is_RS);
댓글 수: 1
Image Analyst
2013년 7월 7일
Exactly how I'd do it. Works for integers only. For floating point values, see the FAQ: http://matlab.wikia.com/wiki/FAQ#Why_is_0.3_-_0.2_-_0.1_.28or_similar.29_not_equal_to_zero.3F for solution.
추가 답변 (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!