标题:求教画一个分段函数的图
只看楼主
suponlyzx
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-17
 问题点数:0 回复次数:6 
求教画一个分段函数的图
函数有x,y两个变量,当sqrt(x^2+y^2)<=1时
z=1-(x^2+y^2)
而当sqrt(x^2+y^2)>1时
z=0
需要一个mesh图,或者是surf图.
本人初次使用matlab,在自己尝试了两个小时后,由于不太熟悉操作规则实在画不出来,又因为急着在论文上用这个图所以在这里向熟悉matlab画图操作的人求教.在这先谢谢了
搜索更多相关主题的帖子: 函数 分段 matlab 变量 
2007-05-17 01:06
seidel
Rank: 4
等 级:贵宾
威 望:11
帖 子:217
专家分:20
注 册:2007-1-31
得分:0 

ezsurf((x.^2+y.^2<=1).(z=1.-(x.^2+y.^2))+((x.^2+y.^2<=1).0))即可。


究竟离别只是一场退出还是美好记忆的延续,    最美好的爱究竟是成全还是守候?
2007-05-17 14:44
suponlyzx
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-17
得分:0 
回复:(seidel)ezsurf((x.^2+y.^2
麻烦写下比较完整的代码,上面的代码我试了下,好象不行
2007-05-18 10:35
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 

这样写试试:
[x,y]=meshgrid(-1:0.1:1);
z=x.^2 + y.^2;
i=find(z<=1);
z(i)=1-z(i);
i=find(z>1);
z(i)=0;
mesh(x,y,z)


此人已消失
2007-05-19 16:31
seidel
Rank: 4
等 级:贵宾
威 望:11
帖 子:217
专家分:20
注 册:2007-1-31
得分:0 
那就把点乘换成乘。ezsurf((x^2+y^2&lt;=1)*(z=1-(x^2+y^2))+((x^2+y^2&lt;=1)*0))

究竟离别只是一场退出还是美好记忆的延续,    最美好的爱究竟是成全还是守候?
2007-05-19 17:20
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 

又学到了一手,呵呵,不过楼上好像应该是这样的:
ezsurf('(x^2+y^2<=1)*(1-(x^2+y^2))+((x^2+y^2>1)*0)')


此人已消失
2007-05-19 20:14
seidel
Rank: 4
等 级:贵宾
威 望:11
帖 子:217
专家分:20
注 册:2007-1-31
得分:0 
是啊!昨天在外面随时上了一会,随意可能有语法错误,请大家见谅!!

究竟离别只是一场退出还是美好记忆的延续,    最美好的爱究竟是成全还是守候?
2007-05-20 09:44



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-140029-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.646284 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved