Minimale en maximale data uit de matrix filteren

1 次查看(过去 30 天)
In mijn dataset wil ik alle data boven de 12,5 en onder de 8 vervangen door een 0 in bijvoorbeeld kolom 1 tot 6. Het moet een script zijn die gebruikt kan worden bij verschillende datasets, de input data is variabel.
Wat kan ik hiervoor gebruiken?

回答(1 个)

Jonas
Jonas 2024-2-21
编辑:Jonas 2024-2-21
what about something like that:
mat=[7 8 9 10 11 12 13;
1 2 4 5 8 2 12;
3 6 10 15 1 6 8];
colsToEdit=[1 3 7];
replaceWithBordersAandBinCols(mat,12.5,8,colsToEdit)
ans = 3×7
0 8 9 10 11 12 0 0 2 0 5 8 2 12 0 6 10 15 1 6 8
function matrixOut=replaceWithBordersAandBinCols(matrixIn,A,B,colsToWorkOn)
whereToReplace=matrixIn(:,colsToWorkOn)>A | matrixIn(:,colsToWorkOn)<B;
matrixOut=matrixIn;
matrixIn=matrixIn(:,colsToWorkOn);
matrixIn(whereToReplace)=0;
matrixOut(:,colsToWorkOn)=matrixIn;
end

类别

Help CenterFile Exchange 中查找有关 Manage Products 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by