声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2327|回复: 5

[绘图技巧] [求助] 三维画图的定义域问题

[复制链接]
发表于 2006-3-16 20:42 | 显示全部楼层 |阅读模式

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

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

x
大家好,三维画图时,自定义x,y用meshgrid生成矩形格点矩阵,即定义域是在一个矩形区域
有没有一种方法定义定义域呢,比如说定义域是在一个抛物线内,怎样在抛物线内生成格线?
用ezmesh可自动定义定义域,但是怎么还会出现dividing by zero?
回复
分享到:

使用道具 举报

发表于 2006-3-17 07:29 | 显示全部楼层
把代码贴出来看看吧
 楼主| 发表于 2006-3-17 13:39 | 显示全部楼层
  1. a=0.5;b=33.5;y0=0.005;v0=0.04;
  2. %syms a b y0 v0
  3. syms t x y
  4. w=sqrt(b+y);
  5. e=(a+x)*0.5/w;
  6. wd=w*sqrt(1-e^2);
  7. d0=sqrt(y0^2+((v0+e*w*y0)/wd)^2);
  8. s=simple(d0*exp(-e*w*t)*sin(wd*t+atan(y0*wd/(v0+e*w*y0))));
  9. ds=simple(diff(s,t));
  10. u=simple(x*ds+y*s);
  11. du=simple(diff(u,t));
  12. tu=solve(du,t);
  13. u1=simple(subs(u,t,tu));
  14. ezmesh(u1,[0,15]);
复制代码

运行后,Warning: Divide by zero.ezmesh自定义了定义域应该不会出现分母为0的点?

把a,b,y0,v0(均大于0)当作符号时,u1函数的定义域应该满足
-4*b-4*y+a^2+2*a*x+x^2<0,即在平面上是一个向上的抛物线的内部,

用[ x,y]=meshgrid(0:0.5:15,0:0.5,15),mesh画u1时,表示定义域是一个矩形区域,超出了函数定义域范围,运行时出现“x,y,z can not be complex”
 楼主| 发表于 2006-3-17 14:00 | 显示全部楼层
happy大侠,还有个问题:
  1. ezplot('exp(2*t)*sin(3*t)',[0,10]);
  2. figure;t=[0:0.5:10];y=exp(2.*t).*sin(3.*t);plot(t,y);
复制代码

两者画出的图怎么不一样呢,用ezplot画出的图是断开的,是不是坐标轴范围的问题?
怎样改呢?
发表于 2006-3-17 15:59 | 显示全部楼层
运行后,Warning: Divide by zero.ezmesh自定义了定义域应该不会出现分母为0的点?
把a,b,y0,v0(均大于0)当作符号时,u1函数的定义域应该满足
-4*b-4*y+a^2+2*a*x+x^2<0,即在平面上是一个向上的抛物线的内部,
用[ x,y]=meshgrid(0:0.5:15,0:0.5,15),mesh画u1时,表示定义域是一个矩形区域,超出了函数定义域范围,运行时出现“x,y,z can not be complex”


ezmesh(u1,[0,15]);
改为ezmesh(u1,[0.1,15]);
就行了,式子太长,你自己好好检查一下吧,应该是不等于0就行了
发表于 2006-3-17 16:15 | 显示全部楼层
两者画出的图怎么不一样呢,用ezplot画出的图是断开的,是不是坐标轴范围的问题?
怎样改呢?

是的
  1. ezplot('exp(2*t)*sin(3*t)',[0,10]);
  2. axis([1 10 -500000000.00 100000000.00]);
  3. figure;
  4. t=[0:0.05:10];
  5. y=exp(2.*t).*sin(3.*t);
  6. plot(t,y);
复制代码
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-6-2 05:13 , Processed in 0.071570 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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