该双重积分可以用两次int()积分函数来求解,得到其解析值。
求解过程如下:
>> lambda=6328;z=300e6;k=2pi/lambda;
>> syms x y u v
>> E=exp(ikz)/(ilambdaz)int(int(exp((ik)/(2z)((x-u)^2+(y-v)^2)),u,-4e6,4e6),v,-4e6,4e6)
如何用matlab计算晶体衍射点阵
:利用MATLAB软件的Simulink工具箱,对交流电机调速系统进行建模和仿真分析。 仿真波形符合理论分析,系统运行平稳, 可以为电机的实际控制系统设计和调试提供新的思路。
本人从日本回来,单位要求评估一下virtuallab这个软件。本人从事衍射光学设计,在日本和Virtuallab的日本代理有很多的交流,得知这个软件在日本和美国都卖不动,基本上没有人愿意使用这个软件,本人试用了多次,总结其原因如下: E5w;75,
1 建模能力有限 ,不能支持CAD文件的导入;很多的面型需要编程来实现,采用C#和VB的编程方式反而没有matlab等数学软件编程方便。 <Dd>- K
2 光学元件类型有限,没有反射镜模型,就是说不能考虑反射镜的模型;不能倾斜和偏心;在光栅工具只能考虑透射场;没有棱镜模型。 <h/%jM>9/
3 此软件号称做衍射光学元件很强,可是仔细一看,只有傅里叶迭代的优化算法,居然没有常见的模拟退火和遗传算法-----。 0f^{Rp6
4 LED整形,只有微机构光栅模型,没有微结构棱镜和微结构的mirror模型,也就是用来能看看。 V)j[`,M:
5 所谓的激光工具只是一个摆设,激光的简单的模型都不能分析。 AEOn1hN
6 光栅工具的光源只能用理想的平面波;不能考虑反射场。 FEaT}/h;
7 没见到号称所有的模拟技术都整合在一起,却是只见到几种简单的模拟技术,甚至没有FDTD算法。
-----------------不一一例举了----- J
综上所述,此软件只是适合于高校的教学演示使用。相比而言,没有matlab方便以及适用面广泛,没有能应用的实用价值。 <kak9 6A
回到国内,发现很多的研究所(如上海光机所和长光所)和高校(如南京理工和长春理工)均买了这个软件,而且价格很贵,听说要上100W了,在中国的报价比在美国和日本等地方的价格要高出很多倍,相信大家都懂这是什么原因。如此软件在欧美,使用者基本上没有,在中国却发扬光大。不知道国内的购买者用来做什么,难道需要这么贵的软件来进行教学演示吗?由此可知,软件本身的功能并不是重点,在这种交易后面的东西才是重要。一个愿意买,一个愿意卖,中间各得好处。本人有日本和美国的报价单,价格和国内相比,相差6倍左右,如此不堪一用的软件,居然能够在国内如此高价出售,大家都知道其中的原因。在这个软件所有的功能,本人通过自编程序或者matlab编程均可以实现。 Y@UkP+{f=
国内的购买者再怎么差劲,不至于让人如此欺骗吧--------
clf;
%设置固定参数
lamda=[660,610,570,550,460,440,410]1e-9; %七色光的波长,单位米
RGB=[1,0,0; 1,05,0; 1,1,0; 0,1,0; 0,1,1; 0,0,1; 067,0,1]; %七色光的RGB 值
d=4e-5; %光栅常数
%设置可调参数
b=8e-6;
N=18; %透光缝宽及光栅单元数
Bright=80; %亮度调节系数
%设置仿真光屏参数
Irgb=zeros(150,9425,3); %仿真光屏矩阵(仿真结果RGB值图像矩阵,初值置零)
Iw=zeros(150,9425,3); %用于记录各色光衍射结果的RGB值矩阵(初值置零)
%计算白光光栅衍射的光强及对应的RGB 值矩阵数据
%计算各色光光栅衍射光强分布
for k=1:7
theta=(-0015pi:000001:0015pi); %衍射角度的变化范围
phi=2pidsin(theta)/lamda(k);
alpha=pibsin(theta)/lamda(k);
Idf=(sinc(alpha))^2; %单缝衍射的相对光强
Idgs=(sin(Nphi/2)/sin(phi/2))^2; %多光束干涉的相对光强
I= Idf Idgs; %光栅衍射的相对光强
%计算与各色光衍射光强对应的RGB 值矩阵数据
for i=1:150
red = IRGB(k,1); %把红基色代码计入Iw 矩阵红维度
green = IRGB(k,2); %把绿基色代码计入Iw 矩阵绿维度
yellow = IRGB(k,3);%把蓝基色代码计入Iw 矩阵蓝维度
Iw(i,:,1)=red;
Iw(i,:,2)=green;
Iw(i,:,3)=yellow;
end
%计算白光光栅衍射RGB 值图像矩阵数据
Irgb=Irgb+Iw; %把各色光衍射的RGB 值矩阵计入仿真结果RGB 值图像矩阵中
Iw=[];
end
%显示白光光栅衍射实验仿真结果
Br=1/max(max(max(Irgb))); %调整Irgb 矩阵元素的最大值为1 的系数
II=IrgbBrBright; %调节仿真图像亮度
imshow(II); %显示仿真结果
以上就是关于您好,请问双重积分中有4个变量怎么写matlab程序期待您的回答全部的内容,包括:您好,请问双重积分中有4个变量怎么写matlab程序期待您的回答、如何用matlab计算晶体衍射点阵、matlab编程模拟光学实验等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)