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

5 Ansichten (letzte 30 Tage)
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

Akzeptierte Antwort

Mohammad Sami
Mohammad Sami am 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);

Weitere Antworten (0)

Kategorien

Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange

Produkte


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by