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

2 ビュー (過去 30 日間)
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

採用された回答

Mohammad Sami
Mohammad Sami 2020 年 5 月 27 日
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);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeOperators and Elementary Operations についてさらに検索

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by