关于画图的疑问
我想画一幅高斯波束扩展过程中的的三维图,其中有三个变量,x,y,z,函数是:
w=w0*(1+(z/z0).^2).^0.5 ;
phi=(w0./w).*exp(-(x.^2+y.^2)./(w.^2));
各变量的范围是:
z0和w0是常量,比如设成10
又:x=-10:0.1:10;
y=-10:0.1:10;
z=-10:0.1:10;
我想在三维中画出phi的图来,可是我不知道用什么函数来实现它,plot3好像不成。
请各位帮忙看一下,谢谢。 ....
x=-10:0.1:10;
y=-10:0.1:10;
z=-10:0.1:10;
x,y,z都成了空的 原帖由 spano 于 2007-5-18 22:46 发表 http://www.chinavib.com/forum/images/common/back.gif
....
x=-10:0.1:10;
y=-10:0.1:10;
z=-10:0.1:10;
x,y,z都成了空的
这倒不会,是从 -10 到 10,并非 10 到 10
回复 #3 eight 的帖子
失误,不过如果这样的话,用plot3是没有什么问题的。你debug看看,是不是程序运行过程中x,y,z成了空的矩阵 三个变量 画三维图好像不可能吧 这是一个"四维图",一般没法"在三维中画出phi的图来";
只有当某一维用颜色表示时,我们才能在三维空间直观地观看.
至于slice之类的函数,并不直观;此外,它对"扩展过程"可能无能为力.
至于如下取值:
x=-10:0.1:10;
y=-10:0.1:10;
z=-10:0.1:10;
本身没有错,因为x,y,z三个自由度是独立的,可任意取值. 可以考虑将z变量固定,然后画3维图。
从函数来看,Z变量好像是个缩放因子。如果固定z的话,应该可以看到那个函数的大概趋势。 关键是LZ没有说清楚原问题.
如果是pengweicai 说的那样的话,作一个循环,再利用drawnow,即可显示动画.
也即"扩展过程". 我觉得用动画显示合理些 当初我理解这个问题有错误,这种问法都是错误的,感谢大家的帮助。
页:
[1]