
How to find the difference in values present in each row of two cell arrays of same size.
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
Adam Danz
le 24 Juin 2021
Modifié(e) : Adam Danz
le 24 Juin 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 commentaires
Adam Danz
le 24 Juin 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.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrices and Arrays dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!