大家猜猜matlab 运算速度和 C 的运算速度那个更快一些?
编写了一个计算光栅的程序。代码已经有了!大家可以尝试一下用c快还是matlab运行一下那个比较快!!
wave1=1548;
wave2=1553;
centwave=1550;
L=20000000; %光栅长度
PI=3.1415926;
dn0=0.0001; %折射率调制
n=1.447; %初始折射率
neff=n+dn0;
vector0=centwave/(2*neff); %原始波矢
num1=1000; %波长分割数
num2=1000; %光栅长度分割数
dL=L/num2;
c=0.24e-7; %啁啾周期参数
M=1; %超高斯阶数
FWHM=0.8*L; %半宽高
for p=1:1:num1
wave=wave1+p*(wave2-wave1)/num1;
w(p)=wave;
a=;
for q=0:1:num2
dn=dn0*exp(-log(2)*(2*(q*dL-L/2)/FWHM)^(2*M)); %高斯切趾
kapa=PI*dn/wave;
vector=vector0+c*q*dL; %均匀啁啾
dbeta=2*PI*n/wave-PI/vector;
gama=sqrt(kapa*kapa-dbeta*dbeta);
m=gama*dL;
A=cosh(m)-i*dbeta/gama*sinh(m);
B=-i*kapa/gama*sinh(m);
C=i*kapa/gama*sinh(m);
D=cosh(m)+i*dbeta/gama*sinh(m);
b=;
a=a*b;
end
ref=-a(2,1)/a(2,2);
ref_f=abs(ref)*abs(ref);
r(p)=10*log(ref_f);
trans=a(1,1)-a(1,2)*a(2,1)/a(2,2);
trans_f=abs(trans)*abs(trans);
t(p)=10*log(trans_f);
end
result=zeros(num1,3);
for p=1:1:num1
result(p,1)=w(p);
result(p,2)=r(p);
result(p,3)=t(p);
end 猜matlab。。。 论速度肯定是C好,毕竟是编译的程序,比解释的快多了 matlab快,嘿嘿 还有没有回答的?
在有三个人我公布答案!!
页:
[1]