Substract only higher then a limit? Please find the example program below.
Información
La pregunta está cerrada. Vuélvala a abrir para editarla o responderla.
Mostrar comentarios más antiguos
Suppose
dataI = [100;200;300;100;200;300];
limit = 150;
if any(dataI >= limit)
disp('There is at least one value above the limit.')
DataI_with_Neg = dataI - 100; %% Here I want to sub 100 from all the values which are higher than limit = 150 and get new data after sub%%
else
disp('All values are below the limit.')
end
Respuestas (1)
madhan ravi
el 12 de Feb. de 2019
Editada: madhan ravi
el 12 de Feb. de 2019
https://blogs.mathworks.com/loren/2013/02/20/logical-indexing-multiple-conditions/ - this should get you started
DataI_with_Neg = dataI(dataI > limit) - 100;
% ^^^^^^^^^^^^^^^--- add this (datas which are higher than 150)
6 comentarios
Rakesh Yadav Kodari
el 12 de Feb. de 2019
madhan ravi
el 12 de Feb. de 2019
Data_higher_than_limit = dataI(dataI > limit)
Data_higher_than_limit_subtracted_by_100 = dataI(dataI > limit) - 100
John D'Errico
el 12 de Feb. de 2019
loc = dataI >= 150;
dataI(loc) = dataI(loc) - 100;
Stephen23
el 12 de Feb. de 2019
Perhaps this?:
>> dataI = [100;200;300;100;200;300]
dataI =
100
200
300
100
200
300
>> limit = 100;
>> idx = dataI >= limit;
>> dataI(idx) = dataI(idx)-100
dataI =
0
100
200
0
100
200
madhan ravi
el 12 de Feb. de 2019
Editada: madhan ravi
el 12 de Feb. de 2019
Ah thank you John D'Errico & Stephen Cobeldick now it's clear what the OP wants.
Rakesh Yadav Kodari
el 12 de Feb. de 2019
La pregunta está cerrada.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!