求高手帮忙写程序把图画出来,是一个二重积分,表达式为,用matlab或者mathematica都可以

要把
画出来,其中
表示成矩形函数,就是一个随意的矩形平面,具体的参数如下:
不好意思,我补充下,x0,y0代表的是输入信号的坐标,u(x0,y0)可以看成是一个平板上的矩形孔,这个孔里是透光的,程序里面可以用1表示,孔外是不透光的,这个程序里可以用0表示(程序上是看别人这样写过,仅供参考,具体的可以看下矩形函数的定义)。波长随意,500,600纳米皆可。f表示传播距离,理论上是小一点才可能画出效果图来,小于1米就可以了。还有两个u是不同的,一个是输入信号,一个事输出信号,忘记加下标了。j是虚数单位,还有什么问题欢迎随时问我,这个是毕设要用的一个图,麻烦大家了。。。

问问题也要为答的人想想啊同学。你的参数又不全…… f 呢?伽马呢?拉姆达呢? j 是虚数单位吗?u(阿尔法x0,阿尔法y0)的函数式到底是啥?你说的“随意”是什么意思?是不是说我用常数也可以?这个u和等式左边的u是同一个函数关系吗?
————
你把你的矩形函数的函数定义写出来吧……矩形有多大?你的u(阿尔法x0,阿尔法y0)的自变量到底是x0, y0还是阿尔法x0,阿尔法y0,这些不知道的话照样不行……总之大概是这个感觉:
\[Phi] = Pi/20;
\[Alpha] = \[Beta] = Sqrt[(Cos[\[Phi]]^2 + Cos[\[Phi]])/2];
\[Gamma] = \[Alpha] \[Beta] Sin[\[Phi]];
\[Lambda] = 500 10^-9;
f = 1/2;
u0[x0_, y0_] := Boole[-1 < x0 < 1 && -1 < y0 < 1];

u1[x1_NumericQ, y1_NumericQ] := NIntegrate[u0[\[Alpha] x0, \[Alpha] y0] Exp[I Pi/\[Lambda]/
f/\[Gamma] (\[Alpha]^2 x0^2 + \[Alpha]^2 y0^2 + \[Beta]^2 x1^2 + \[Beta]^2 y1^2) -
I 2 Pi/\[Lambda]/f/\[Gamma] x0 x1 y0 y1], {x0, -\[Infinity], \[Infinity]}, {y0, -\[Infinity], \[Infinity]}];
Plot3D[u1[x, y], {x, -1, 1}, {y, -1, 1}]
具体参数还需要调,你可以把矩形函数的定义改改试试……不过你好像,零基础啊?……
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-21
这个挺复杂的
相似回答