matlab中画三维图的自变量范围的定义

一般画三维图的时候是用meshgrid定义自变量范围的,这样定义的区域就是一个矩形,那我现在想定义一个三角形的区域要怎样弄?比如0<x<1,0<y<x... 一般画三维图的时候是用meshgrid定义自变量范围的,这样定义的区域就是一个矩形,那我现在想定义一个三角形的区域要怎样弄?比如 0<x<1,0<y<x 展开
 我来答
showtime_97
2014-10-21 · TA获得超过4776个赞
知道大有可为答主
回答量:1005
采纳率:90%
帮助的人:754万
展开全部

matlab处理数据一定是矩形,虽然有些计算出来的数据可能是三角的范围,但同样要将三角的范围数据变为矩形的数组才能处理,这太麻烦了。比较简单的方法是将矩形范围的数据剪裁出来,满足三角范围的数据保留,矩形范围内的其它数据设为NaN,这样可以很容易进行下一步的处理。

clear all

[X,Y] = meshgrid(0:.0625:1,-1:.0625:1);%设定矩形区域xy范围,根据你这题的要求主要目的是设置x范围
Z = peaks(X,Y);%生成数据z

 

figure(1)
mesh(X,Y,Z);

Y1=Y.*(Y>0&Y<X);%根据要求取出y中0<y<x的数
X1=X.*(Y>0&Y<X);%根据y的要求取出对应的x中的数
Z1=Z.*(Y>0&Y<X);%根据y的要求取出对应的z中的数

 

%将不在三角范围的数赋值为NaN
Y1(Y1(:)==0)=NaN;
X1(X1(:)==0)=NaN;
Z1(Z1(:)==0)=NaN;

 

figure(2)
mesh(X1,Y1,Z1);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式