How can I quickly compare sizes of two Matrices?
75 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jakob Gillinger
le 23 Mai 2017
Réponse apportée : Matthew Heberger
le 29 Déc 2022
I have two matrices of different sizes I'd like to compare before performing calculations with them - basically, I want to make sure their number of columns match. Now, as far as I can tell, I would have to use size() on both and compare their second value of the resulting vector, but since I can't index matrices that are temporary, I have to save the size vectors to a new variable, and then compare the indexed numbers. Is there a way to do it not only faster, but also without having to create a new variable?
0 commentaires
Réponse acceptée
Plus de réponses (2)
Matthew Heberger
le 29 Déc 2022
Here is a good way to check that matrices A and B have the same size across all dimensions:
isequal(size(A), size(B))
This will return true if the matrices have the same size, and false if they have a different size. You can wrap it in an assert command if you want to raise an error and stop execution of the script when the two matrices are not the same size:
assert(isequal(size(A), size(B)))
Here is an example:
A = zeros(3, 1, 4);
B = zeros(3, 1, 4);
assert(isequal(size(A), size(B)))
% script will continue running after this...
This section will raise an error:
A = zeros(3, 1, 4);
B = zeros(3, 1);
assert(isequal(size(A), size(B)))
0 commentaires
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!