条件に沿って数値を変換する
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
H.O
am 24 Feb. 2024
Kommentiert: Atsushi Ueno
am 26 Feb. 2024
スプレットシートで数値の配列があります.
これを下記のようにグループ分けルールに沿って変換し,
スプレットシートやテキストで保存したいです.
■グループ分けルール
入力 → 変換後の出力
1 → 1
2~5 のいずれかの場合 → 2
6,8,10 のいずれかの場合 → 3
7,9,11 のいずれかの場合 → 4
■変換
入力 → 変換後の出力
1 → 1
2 → 2
5 → 2
9 → 4
0 Kommentare
Akzeptierte Antwort
Atsushi Ueno
am 25 Feb. 2024
writematrix(-3:15,'matrix.xls'); % スプレットシートで数値の配列
a = readmatrix('matrix.xls')
b = arrayfun(@f, a)
writematrix(b,'output.txt'); % writematrix(b,'output.xls'); % スプレットシートやテキストで保存
type output.txt
function out = f(in) % グループ分けルールに沿って変換
in = floor(in); % 暫定仕様:小数は切り捨てる
if in < 1
out = NaN; % 暫定仕様:範囲外はNaNを返す
elseif in < 2
out = in; % 1→1
elseif in < 6
out = 2; % 2~5のいずれかの場合→2
elseif in < 12
out = mod(in,2) + 3; % 6,8,10のいずれかの場合→3、7,9,11のいずれかの場合→4
else
out = NaN; % 暫定仕様:範囲外はNaNを返す
end
end
Weitere Antworten (1)
Dyuman Joshi
am 25 Feb. 2024
%Random data for example
in = randi(11, 1, 10)
out = discretize(in, 0:11, [1 2 2 2 2 3 4 3 4 3 4], 'IncludedEdge', 'right')
2 Kommentare
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!