Is there is a way I can select the minimum value from a matrix, and replace all numbers surrounding this minimum value (3 cells) by a specific number
1 次查看(过去 30 天)
显示 更早的评论
I want to select this minimum value cell, and anything within a radius of ‘less than or equal to’ three cells to be replaced with a specific number such as 99 (including the selected minimum cell).
I have uploaded a pdf of what i am trying to accomplish. Sorry for any inconvenience and thank you.
0 个评论
采纳的回答
dpb
2013-11-9
编辑:Andrei Bobrov
2013-11-10
[~,imin]=min(x(:)); % location of min (linear
[im,jm]=ind2sub(size(x),imin); % convert to subscripts
x(im-1:im+1,jm-1:jm+1)=99; % set a square around that location
6 个评论
dpb
2013-11-11
You'll have to write logic to handle the condition; there's no automagic way that I can think of. Wrapping the bounds expressions inside min and max is one way can do that so that, for instance, the LHS x-bound becomes
max(im-1,1)
Similar logic w/ proper limits for the other directions should be obvious extension. The end keyword is invaluable in such instances for upper bound values, btw...
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Whos 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!