範囲を指定して最頻値
    15 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Ochi Kai
 am 7 Sep. 2022
  
    
    
    
    
    Kommentiert: Ochi Kai
 am 7 Sep. 2022
            例えばA=[1,1,1,1,5,  2,2,2,2,3,  4,4,1]といった13×1の変数があるとします。
これらを上から順に5行毎に分けその最頻値を取りたいです。今回の場合はB=[1, 2, 4]といった感じで、最後は割り切れないがそのまま出力したいと思っています。
mode関数がよいようなのですが、以下のようにプログラムして上手くいきません。ご教授いただけると幸いです。よろしくお願いいたします。
for i = 1:length(A):5
    k=i+4;
    l=mode(A(i:k,:),2);
end
0 Kommentare
Akzeptierte Antwort
  Hernia Baby
      
 am 7 Sep. 2022
        6 Kommentare
  Hernia Baby
      
 am 7 Sep. 2022
				すみません、一部間違えていました…
以下のコードになります
clear,clc;
A = readmatrix('saihin.csv');
Y = length(A)/50;
Y = fix(Y);
Y = Y + 1;
X = zeros(Y,1);
m = 1;
for ii = 1:50:length(A)
    k = ii + 49;
    if k > length(A)
        X(m,1)=mode(A(ii:length(A),1));
    else
        X(m,1)=mode(A(ii:k,1));
    end
    m = m + 1;
end
X'
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu 整数論 finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
