- 积分
- 83
- 注册时间
- 2003-11-14
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2009-6-18 00:03:27
|
显示全部楼层
来自 新疆乌鲁木齐
本帖最后由 bainhome 于 2009-6-18 00:05 编辑
这种问题转换一下思路就可以很简单地解决——尽管很久没正式碰过MATLAB了...:victory:
看help中这个例子:- [X,Y] = meshgrid(-3:.125:3);
- Z = peaks(X,Y);
- meshc(X,Y,Z);
- axis([-3 3 -3 3 -10 5])
复制代码 图形绘制完成之后等值线处于z=-10的位置,那么想改变其具体位置,则需要了解meshc的运作原理,在命令窗口敲:可以发现与预想完全相同——所谓的meshc只不过就是mesh+contour3的命令集合,既然如此,调整contour3的绘制水平位置就可以圆满解决此问题,在line 64加断点调试,运行上述代码发现workspace中出现了line 59代码:的运行结果:原来contour3的绘制秘密就在与此,那么只要将meshc的所有命令另存一个新M文件meshc_bainhome.m,然后在这个新的meshc文件中将上述代码改为:再运行如下代码:- [X,Y] = meshgrid(-3:.125:3);
- Z = peaks(X,Y);
- meshc_bainhome(X,Y,Z);
- axis([-3 3 -3 3 -20 5])
复制代码 看看什么结果?其他我想可以不用再所说了。应该也有其他方法,比如寻找contour3的句柄然后hgtransform做平移变换、或者干脆自己写一个mesh+contour3的代码即可(这个我几年前写过,可惜找不到了) |
评分
-
1
查看全部评分
-
|