matlab中mesh画图
发布网友
发布时间:2022-05-03 03:39
我来回答
共1个回答
热心网友
时间:2022-07-01 21:14
在MATLAB中值是NaN的点不会画出,如(1,1,NaN),则x,y是1,1的点就不会画出;
这里只要将满足条件的点赋值为NaN即可;下面是循环版,比较容易理解:
t=0.5:0.1:0.9;m=0.1:0.1:0.4;
[m,t]=meshgrid(m,t);
p=((160000-(3768-1736*t-24*m).^2+16*(916+68*t+12*m).^2)./(179.2-51.2*t))+2000+1500*m-4000*t;
for i = 1:size(m,1)
for j = 1:size(m,2)
if m(i,j)+t(i,j)>=1
p(i,j)=NaN;
end
end
end
mesh(m,t,p);
矩阵是MATLAB操作的基本单元,故这里可以用矩阵,这样做的速度更快而已:
t=0.5:0.1:0.9;m=0.1:0.1:0.4;
[m,t]=meshgrid(m,t);
p=((160000-(3768-1736*t-24*m).^2+16*(916+68*t+12*m).^2)./(179.2-51.2*t))+2000+1500*m-4000*t;
A = m+t;
p(A>=1)=NaN;
mesh(m,t,p)