indexing a set in an array

9 次查看(过去 30 天)
Dear users, Im trying to find a fast way to index a set of elements of an array that meet some criteria. For instance, Imagine that I have an array A=zeros(Nx,Ny) Nx=1000;Ny=1000. so A(k,l)=0 for all k,l<1000. Now I would like the set of indices, call them SET, that fullfill (k-ko)^2+(l-lo)^2<R^2 From which I can A(SET)=1. In this way with any given distance function I can build indicator functions for arbitrary sets.
  4 个评论
Adam Danz
Adam Danz 2021-1-22
Looks like Matt J hit the nail on the head. ✅
Paul Gendron
Paul Gendron 2021-1-22
He really did, that deal() function is a gem and time saver. Thanks again Matt.

请先登录,再进行评论。

采纳的回答

Matt J
Matt J 2021-1-19
[k,l]=deal(1:1000);
SET=(k.'-k0).^2+(l-lo).^2 < R^2;

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Performance and Memory 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by