set values after certain value is exceeded to 0
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a matrix and want to set only values < 0.05 to 0, after in that specific row a value of 0.1 is exceeded. If the value 0.1 is not exceeded the row should remain unchanged.
Thanks
f.e. such a row
0 0 0.001 0.02 0.05 0.2 0.15 0.13 0.08 0.06 0.03 0.02 0.01 0 0 0 0
0 个评论
采纳的回答
Karim
2022-6-27
One approach is to first look for the treshold value, build a logical array using that values and then use it together with an additional logic check to adjust the values
MyArray = [0 0 0.001 0.02 0.05 0.2 0.15 0.13 0.08 0.06 0.03 0.02 0.01 0 0 0 0];
% find first occasion where we go over 0.1
CheckMe = false(size(MyArray));
CheckMe( find(MyArray > 0.1, 1) : end) = true;
% afterwards, set all values smaller then 0.05 to 0
MyArray( CheckMe & MyArray < 0.05) = 0
% workarround to display the last values
MyArray(end-7 : end)
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Numeric Types 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!