matlab利用nan命令去除区域

区域如下:
x=-0.5:0.5:37.5;
y=-75.5:0.5:75.5;
想要将
x=6.5:16;
y=56:58;
这部分区域设置成nan怎么做

x(x<=16&x>6.5) = NaN;
y(y<=58&y>56) = NaN;追问

我想的是在大矩形中剔除一个小矩形
x=-0.5:0.5:37.5;
y=-75.5:0.5:75.5;
x(x6.5) = NaN;
y(y56) = NaN;
[u,v]=meshgrid(x,y);
n=302;m=76;
T=zeros(n+1,m+1);
surf(x,y,T);
view(2);
这样一写只能剔除一个十字

追答x=-0.5:0.5:37.5;
y=-75.5:0.5:75.5;
[u,v]=meshgrid(x,y);
idx = u<=16&u>6.5&v<=58&v>56;
u(idx) = NaN;
v(idx) = NaN;
n=302;m=76;
T=zeros(n+1,m+1);
surf(u,v,T);
view(2);
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-01-14
clear all;
clc;
x=-0.5:0.5:37.5;
y=-75.5:0.5:75.5;
xa = find(x==6.5);
xe = find(x==16);
ya = find(y==56);
ye = find(y==58);
for i = xa:xe
x(i) = NaN;
end
for i = ya:ye
y(i) = NaN;
end追问

我想去除的是一块方块区域

追答

这不就是方块区域么?

相似回答