Minimale en maximale data uit de matrix filteren

2 vues (au cours des 30 derniers jours)
Femke Kouwenhoven
Femke Kouwenhoven le 21 Fév 2024
Modifié(e) : Jonas le 21 Fév 2024
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?

Réponses (1)

Jonas
Jonas le 21 Fév 2024
Modifié(e) : Jonas le 21 Fév 2024
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

Catégories

En savoir plus sur Fourier Analysis and Filtering dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by