How to find the difference in values present in each row of two cell arrays of same size.
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
jaah navi
am 24 Jun. 2021
Kommentiert: jaah navi
am 24 Jun. 2021
I am having two cell arrays A and B of same size as follows
A B
1 1
1 1
1 1
1 1
1 1
[1,2] [1,2]
[1,1] [1,2]
[1,2] [1,1]
[1,2] [1,2]
[1,1] [1,2]
[1,2,2] [1,1,2]
[1,2,3] [1,2,2]
[1,2,3] [1,2,2]
[1,1,2] [1,1,2]
[1,2,2] [1,2,3]
I want to find the difference between A and B.
As the size is small I can do it manually by seeing it.
On seeing it I can find 7th ,8th, 10th, 11th, 12th, 13th, 15th rows are different.
But I having cell arrays for larger size and I am unable to do it manually.
Could anyone please help how to find the rows in a general way that are different using matlab command.
0 Kommentare
Akzeptierte Antwort
Adam Danz
am 24 Jun. 2021
Bearbeitet: Adam Danz
am 24 Jun. 2021
I want to find the difference between A and B.
Set up a loop that runs isequal(A,B) on pairs from cell array A and B.
A = {1; [1 2]; [1 1]; [1 2 2]};
B = {1; [1 1]; [1 1]; 1 };
iseq = false(size(A));
for i = 1:numel(A)
iseq(i) = isequal(A{i},B{i});
end
iseq
Or use cellfun that performs the loop above within 1 line of code,
iseq = cellfun(@isequal, A,B)
These methods require A and B to be equal lengths.
I want to calculate the mean square error of the two cell arrays.
The pairs of vectors in A and B must have the same length.
A = {1; [1 2]; [1 1]; [1 2 2]};
B = {1; [1 1]; [1 1]; [1 2 3]};
mse = nan(size(A));
for i = 1:numel(A)
mse(i) = sum((A{i}-B{i}).^2)/numel(A{i});
end
mse
Or use cellfun that performs the loop above within 1 line of code,
mse = cellfun(@(A,B)sum((A-B).^2)/numel(A), A,B)
4 Kommentare
Adam Danz
am 24 Jun. 2021
To count the number of paired coordinates that are 'near',
sum(iseq)
You can compute the MSE between the pairs of vectors within the loop or you could do it within cellfun. However, the paired vectors must always have the same number of values within each pair.
I can update my answer to show how.
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Matrices and Arrays 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!