找回密码
 注册
Simdroid-非首页
查看: 113|回复: 6

【求助】MATLAB中如何绘制三维图线?

[复制链接]
发表于 2014-3-18 10:25:08 | 显示全部楼层 |阅读模式 来自 江苏南京
现已知0<x<1,0<y<1,0<z<1,x*y*z=0.1,我要绘制以x,y,z为三个坐标轴的三维曲面,应该如何编写程序,在线等,求助!!!
发表于 2014-3-18 20:16:50 | 显示全部楼层 来自 江苏南京
Simdroid开发平台
虽然不懂,为楼主挽尊

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2014-3-19 02:41:39 | 显示全部楼层 来自 英国
本帖最后由 nwcwww 于 2014-3-19 02:45 编辑
  1. [X, Y] = meshgrid(0.01:0.01:0.99);
  2. Z = 0.1./X./Y;
  3. surf(X, Y, Z)
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2014-3-19 10:14:40 | 显示全部楼层 来自 江苏南京
本帖最后由 曾春 于 2014-3-19 10:21 编辑

感谢你的回复,我需要的是只画满足要求的点的曲线,你给的这个程序好像有很多多余的点吧?而且我给的z也是有范围的,谢谢!
回复 不支持

使用道具 举报

发表于 2014-3-19 10:39:44 | 显示全部楼层 来自 英国
曾春 发表于 2014-3-19 10:14
感谢你的回复,我需要的是只画满足要求的点的曲线,你给的这个程序好像有很多多余的点吧?而且我给的z也是 ...

不介意顶部细小锯齿的话,在上个程序里加个logical indexing就行
[X, Y]=meshgrid(0.01:0.001:0.99);
Z = 0.1./X./Y;
Z(Z>=1) = nan;
surf(X,Y,Z, 'EdgeColor','none')
回复 不支持

使用道具 举报

 楼主| 发表于 2014-3-19 12:24:41 | 显示全部楼层 来自 江苏南京
nwcwww 发表于 2014-3-19 10:39
不介意顶部细小锯齿的话,在上个程序里加个logical indexing就行
[X, Y]=meshgrid(0.01:0.001:0.99);
Z = ...

明白了,多谢,版主太给力了
回复 不支持

使用道具 举报

发表于 2014-3-21 17:41:12 | 显示全部楼层 来自 加拿大
本帖最后由 winner245 于 2014-3-22 08:33 编辑

再提供一个直接按照定义域画三维图的方法

N = 200;
x = repmat(linspace(0.1,1,N),N,1);
y = 0.1./x + diag(0:N-1)/N*(1-0.1./x);
z = 0.1./x./y;
surf(x,y,z);
axis([0 1 0 1 0 1])
shading flat

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-7-5 10:55 , Processed in 0.035391 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表