How to Automatically Shorten an Array so the number of Rows/Columns is divisible by 3

19 vues (au cours des 30 derniers jours)
Hi Guys,
when reshaping an Vector into a Matrix with 3 rows, I naturally have to make sure the number of Elements in the Vector is divisible by 3, otherwise Matlab sends back an Error. So far I've always done this manually, simply by omitting the first couple of elements, until the overal number gets to something evenly divisible by 3
a (:,howevermanyelementsIgottadelete) = [];
As these Vectors usually have 10000+ Elements, it doesn't matter if the first couple of 'em aren't included.
Is there a way to have Matlab do this automatically, e.g. to automatically shorten a Vector until it's # of Elements ( or a Matrix until its # of Columns, or Rows) is evenly divisble by 3 ?
Kindest Regards,
Tim

Réponse acceptée

Mohammad Sami
Mohammad Sami le 27 Mai 2020
you can just calculate how many vectors you need to delete.
somevector = rand(10000,1);
s = 3;
shortvector = somevector((end-s*floor(end/s)+1):end);

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Produits


Version

R2019a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by