Finding values in an Array

5 ビュー (過去 30 日間)
Aldo Amaya
Aldo Amaya 2014 年 1 月 30 日
コメント済み: Aldo Amaya 2014 年 1 月 30 日
If I have an array such as
Subject= [126;156;1992, 203, 186] % First two digits determine group, additional numbers are specific subject within that group.
Is there a method to only read the first two values of each row in order to determine what group the subject is?
Group= [12;15;19;20;18] %%%This is what I would like the result to be.

採用された回答

Jos (10584)
Jos (10584) 2014 年 1 月 30 日
Apply some arithmetic:
Subject = [126 156 1992 203 186 10 100 100000]
Group = fix(Subject ./ (10.^floor(log10(Subject)-1)))
  1 件のコメント
Aldo Amaya
Aldo Amaya 2014 年 1 月 30 日
Thank you, this worked perfectly :)

サインインしてコメントする。

その他の回答 (2 件)

Walter Roberson
Walter Roberson 2014 年 1 月 30 日
Group = floor(Subject ./ 10);
  1 件のコメント
Aldo Amaya
Aldo Amaya 2014 年 1 月 30 日
Thanks for the reply, the only issue is that they are not all the same number of elements. Subjects elements range from 3-5 currently.

サインインしてコメントする。


Aldo Amaya
Aldo Amaya 2014 年 1 月 30 日
編集済み: Aldo Amaya 2014 年 1 月 30 日
This was my solution but I wish there was a cleaner way to do it
Group = floor(Namex2 ./ 10);
i=1;
while i<=length(Group)
if Group(i)>=100
Group(i)=floor(Group(i)./ 10);
else
end
i=i+1;
end

カテゴリ

Help Center および File ExchangeCell Arrays についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by