透明宝贝 发表于 2009-9-23 23:42:47

如何在指定的边界内画等值线?

请问如何爱指定的边界内画等值线?
具体如下:
给定了一个边界,不一定是规则的图形,想在其中画等值线,外部无等值线。我做了一下,程序如下:
clear all;
close all;

=scircle1(0,0,1);
=scircle1(0.5,0.5,1);
=polybool('intersection',x1,y1,x2,y2);

syms x;
syms y;

z=x+y;

=cart2pol(x3,y3);
=meshgrid(THETA,0:0.1:RHO);%我知道这个部分肯定有问题,但是不知道怎么改
=pol2cart(th,r);

Z=subs(z,{x,y},{X,Y});

figure;
hold on;
plot(x3,y3);
=contour(X,Y,Z,10);
clabel(c,h);
得到的图形如下:
请帮帮我,帮我去掉外部那些等值线!谢谢!万分感谢!file:///C:/Users/judy/Desktop/1.jpg

透明宝贝 发表于 2009-9-23 23:43:22

为什么我上传不了我的图呢?

shunfly 发表于 2009-9-24 18:59:12

surfer中有白化功能,我想其实现也许是给定边界,对网格化数据处理。
在MATLAB没发现这么实用的功能,非要用的话,可以如下处理
将边界外的图形用白色填充
PS:绘图建议用SURFER,GRAPHER

透明宝贝 发表于 2009-9-24 19:56:35

哦!谢谢!我来试试!

透明宝贝 发表于 2009-9-24 20:14:27

这个是matlab命令吗?我怎么没找到啊?能指点一下吗?谢谢!

透明宝贝 发表于 2009-9-30 21:48:19

我已经做好了!是在matlab下实现的,用的是三楼朋友的思想!将周围白化!
不过我想可以通过限制边界来实现的,可是我还没想到好的方法!我会继续努力!
顺便说一下,matlab中可用patch命令来使周围区域白化!

20806189 发表于 2011-9-11 09:39:10

收藏,实用。
页: [1]
查看完整版本: 如何在指定的边界内画等值线?