How to compare the values of three matrices are equal?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Azzi Abdelmalek
am 7 Jul. 2013
Bearbeitet: Azzi Abdelmalek
am 7 Jul. 2013
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
Akzeptierte Antwort
per isakson
am 7 Jul. 2013
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 Kommentar
Image Analyst
am 7 Jul. 2013
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.
Weitere Antworten (0)
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!