Setting a limit in an array
9 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Chris Brown
il 8 Feb 2017
Commentato: Chris Brown
il 8 Feb 2017
I am trying to set a limit for values within an array between a set of point. I have a 3D array - say 100x100x100.
I want to set a limit of 30, so if the values are lower they become 30. I also only want to apply the values between 40 and 50 in the z axis... I have tried a few methods, but can't seem to get it to work. Any help would be appreciated.
This is what I have tried so far..
for a=1:Ini
x=100;
y=100;
z=100;
i=2:x-1;
j=2:y-1;
k=40:z-50;
F(F(j,i,k)<30)=F(F(j,i,k)<30)./F(F(j,i,k)<30)+30;
end
and separately -
for a=1:Ini
x=100;
y=100;
z=100;
i=2:x-1;
j=2:y-1;
k=40:z-50;
idx=find(F(j,i,k)<30);
idx=(idx.*0)+30;
[i,j,k]=ind2sub(size(F),idx);
end
2 Commenti
Risposta accettata
Alexandra Harkai
il 8 Feb 2017
Given initial matrix F, this will floor entries at 30 in between z 'axis' (from and including) 40 and 50:
F(:,:,40:50) = max( 30, F(:,:,40:50) );
0 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Matrices and Arrays in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!