Я думаю, что вы ищете это:
for i=1:size(x,1)
for j=1:size(x,2)
if ((x(i,j)-1)^2+(z(i,j)-1)^2<=1)
x(i,j) = 0;
y(i,j) = 0;
end
end
end
Я надеюсь, что этот код достаточно прост для вас, чтобы понять, что он делает - если нет, то вы должны где-нибудь взять класс программирования или сесть скнигу.
Теперь, если приведенный выше ответ - то, что вы искали, поверьте мне на слово, что ответ gnovice (смесь edit 2 и edit 3 На самом деле) показал, как сделать это намного умнее в MATLAB:
radius = 1;
index = (x-1).^2 + (z-1).^2 <= radius^2; %# Logical index of elements inside the circle
x(index) = 0; %# Set the x values inside the circle to 0
z(index) = 0; %# Set the z values inside the circle to 0
Надеюсь, это поможет - иначе я сдаюсь; -).