📄 算法.txt
字号:
//diff_min=...
int i,j,m;
float buffer_cos=0;
float buffer_sin=0;
float diff=100;
float diff_buffer=0;
float K;
K=2*PI/m_LMDA;
L=m_LMDA*m_LONG;
/////////////u1---->u2的衍射//////////
for(i=0;i<M;i++)
{
buffer_cos=0;
buffer_sin=0;
for(m=0;m<M;m++)
{
buffer_cos+=cos((K*(2*a*a)/(M*M*L)*(i-m)*(i-m)-point_p1[m].y)*point_a1[m].y);
buffer_sin+=sin((K*(2*a*a)/(M*M*L)*(i-m)*(i-m)-point_p1[m].y)*point_a1[m].y);
}
point_a2[i].x=-a+2*a*i/M;
point_a2[i].y=2*a/(M*sqrt(m_LMDA*L))*sqrt(buffer_cos*buffer_cos+buffer_sin*buffer_sin);
point_p2[i].x=-a+2*a*i/M;
point_p2[i].y=atan(buffer_sin/buffer_cos)-K*L/2+PI/4;
}
//归一化
for(i=0;i<M;i++)
{
point_a2[i].y/=point_a2[M/2].y;
point_p2[i].y/=point_p2[M/2].y;
}
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
E_A2[i][j].x=-a+2*a*j/M;
E_A2[i][j].y=-a+2*a*j/M;
E_A2[i][j].z=point_a2[i].y*point_a2[j].y;
E_P2[i][j].x=-a+2*a*j/M;
E_P2[i][j].y=-a+2*a*j/M;
E_P2[i][j].z=point_a2[i].y*point_a2[j].y;
}
/////////////u2---->u1的衍射//////////
for(i=0;i<M;i++)
{
buffer_cos=0;
buffer_sin=0;
for(m=0;m<M;m++)
{
buffer_cos+=cos((K*(2*a*a)/(M*M*L)*(i-m)*(i-m)-point_p2[m].y)*point_a2[m].y);
buffer_sin+=sin((K*(2*a*a)/(M*M*L)*(i-m)*(i-m)-point_p2[m].y)*point_a2[m].y);
}
point_a1[i].x=-a+2*a*i/M;
point_a1[i].y=2*a/(M*sqrt(m_LMDA*L))*sqrt(buffer_cos*buffer_cos+buffer_sin*buffer_sin);
point_p1[i].x=-a+2*a*i/M;
point_p1[i].y=atan(buffer_sin/buffer_cos)-K*L/2+PI/4;
}
//归一化
for(i=0;i<M;i++)
{
point_a1[i].y/=point_a1[M/2].y;
point_p1[i].y/=point_p1[M/2].y;
}
for(i=0;i<M;i++)
for(j=0;j<M;j++)
{
E_A1[i][j].x=-a+2*a*j/M;
E_A1[i][j].y=-a+2*a*j/M;
E_A1[i][j].z=point_a2[i].y*point_a2[j].y;
E_P1[i][j].x=-a+2*a*j/M;
E_P1[i][j].y=-a+2*a*j/M;
E_P1[i][j].z=point_a2[i].y*point_a2[j].y;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -