声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2818|回复: 17

[图像处理] 如何只画出三维函数的部分图像

[复制链接]
发表于 2008-8-13 11:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
z=x^2+y;
要求只画出x<1,y<1的部分?
请指教,谢谢!
回复
分享到:

使用道具 举报

发表于 2008-8-13 14:09 | 显示全部楼层

回复 楼主 wangfusen.cool 的帖子

限定坐标轴的范围
 楼主| 发表于 2008-8-13 15:46 | 显示全部楼层
能否把代码写上?
x=0:0.1:10;
y=x;
[X,Y]=meshgrid(x,y);
Z=X^2+Y;
mesh(.....)
发表于 2008-8-13 16:04 | 显示全部楼层
 楼主| 发表于 2008-8-13 16:07 | 显示全部楼层
我的意思是,如果要求只画出函数的部分图像,如何用代码实现。
比如只画出Z=X^2+Y在X+Y<1区域的图像。
在mesh(....)命令中,如何实现?
发表于 2008-8-13 16:24 | 显示全部楼层
实现不了,mesh没这个功能

原帖由 wangfusen.cool 于 2008-8-13 16:07 发表
我的意思是,如果要求只画出函数的部分图像,如何用代码实现。
比如只画出Z=X^2+Y在X+Y
发表于 2008-8-14 12:38 | 显示全部楼层

试试这个

  1. n=100;
  2. x=linspace(-10,10,n);
  3. y=x;
  4. [X Y]=meshgrid(x,y);

  5. for i=1:n
  6. for j=1:n
  7. if X(i,j)>-Y(i,j)+1
  8. X(i,j)=0;
  9. Y(i,j)=0;
  10. end
  11. end
  12. end

  13. Z=X.^2+Y;

  14. mesh(X,Y,Z)
复制代码


应该可以

评分

1

查看全部评分

 楼主| 发表于 2008-8-14 16:53 | 显示全部楼层

回复 7楼 sigma665 的帖子

  1. [X Y]=meshgrid([-10:0.1:10],[-10:0.1:10]);
  2. t=(X+Y<1);
  3. Z=t .*(X.^2+Y);
  4. mesh(X,Y,Z);
复制代码

这样可以么?

[ 本帖最后由 sigma665 于 2008-8-15 09:50 编辑 ]

评分

1

查看全部评分

发表于 2008-8-14 17:22 | 显示全部楼层

回复 8楼 wangfusen.cool 的帖子

可以
 楼主| 发表于 2008-8-14 20:46 | 显示全部楼层
但是,这两者的图像是不一样的。
发表于 2008-8-14 21:44 | 显示全部楼层

回复 10楼 wangfusen.cool 的帖子

LZ可以把图贴上来看看
发表于 2008-8-15 09:55 | 显示全部楼层
程序我稍微改了下

X.^2

图基本没什么差别
1.jpg
2.jpg
 楼主| 发表于 2008-8-15 20:58 | 显示全部楼层
Thank you!
 楼主| 发表于 2008-8-15 21:02 | 显示全部楼层
能否把改动后的代码发给我?
发表于 2008-8-15 21:58 | 显示全部楼层

回复 14楼 wangfusen.cool 的帖子

见7 8 楼
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-12 02:56 , Processed in 0.075708 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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