条件に沿って数値を変換する
3 次查看(过去 30 天)
显示 更早的评论
スプレットシートで数値の配列があります.
これを下記のようにグループ分けルールに沿って変換し,
スプレットシートやテキストで保存したいです.
■グループ分けルール
入力 → 変換後の出力
1 → 1
2~5 のいずれかの場合 → 2
6,8,10 のいずれかの場合 → 3
7,9,11 のいずれかの場合 → 4
■変換
入力 → 変換後の出力
1 → 1
2 → 2
5 → 2
9 → 4
0 个评论
采纳的回答
Atsushi Ueno
2024-2-25
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
更多回答(1 个)
Dyuman Joshi
2024-2-25
%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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 ビッグ データの処理 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!