成像代码初始化部分

  时间:2021-06-15 01:06:49  阅读量:451  评论数:0  作者:

这篇文章主要介绍了成像代码初始化部分,文中穿插源码讲解非常细致,无论是在学习还是工作中都很有参考价值,遇到坑的可以参考一下学习。

成像实验代码

声明

由于实验的老师特有的查重方式以及计算成绩的方法,所以请不要直接照抄本文的代码。

这里的代码可能会有一些BUG,请大家注意

注:我这里的使用的是C++,VS2019 ,Graph2019,可能之后的版本会不同这里说明一下,说不定等我啥时间闲了,我写个C#版本的。(笑)

代码初始化部分

这里我默认你是已经将数据进行了完整的读入。
首先 计算行列的大小;

这里我先定义一下:
左到右-》0到行
轴上到外壳-》0到列

= 电极内半径网格数+电极内孔边沿到边界处的径向网格数
lin  = M1+M2;


//
行 row= 相邻电极之间划分的步数之和+电极个数(老师文件上写的总网格数N1+N2+....+Nn+n-1,我感觉这个是行数,不想是总网格数)


//之后是开空间
电场的空间大小=  row*lin;

//由于电极孔径内是空的,所以这里初始化时将他们都设为0
for (int i=0;i<lin;i++){

if (i<电极内孔径半径){
for (int j=0;j<row;j++)
		E[j,i]=0;
}

if (电极内孔径半径<i<电极内孔到边缘的半径){
//这里遇到了电极,所以将电极之间的部分设定为0,
for (int j=前一个电极的位置;j<后一个电极的位置;j++){
E[j,i]=0;
}

这里再加一个将电极的电位赋予的部分。
这里写一个电极跳转,把j的参数更新。

}

//注:这里要注意一下荧光屏的位置

if(i==最外面的一行){
		将电极定位
		for(int k = 上一个电极的位置;k<后一个电极的位置;k++){
			for (int x =1;x<N;x++){
			E[k,i]=后一个电极的电位V2-前一个电极的电位V1)/这两个之间的步长N *x
			}
		}//大致意思就是最外面电极之间的电位是逐渐改变的,有一定的梯度。

注意荧光屏幕
记得电极要跳转,k的参数记得改变
}

}


BUG:

上面这个逻辑,大概率是有一些问题,有些细节没有太注意,大家留心。

这里其实也可以写一些关于Z,R轴的坐标问题,我感觉这里其实不算是初始化就没写。
这里我说一下我的思路
loop{
Z轴的步长 = 每个电极之间的距离/电极之间对应的步长
}

R轴步长 = 对应的半径/对应的步长
loop{
Z轴坐标 =Z轴每次叠加对应步长之和的结果
}
loop{
R轴坐标 = R轴每次叠加对应步长之和的结果
}

同样记得关闭空间,记得注意;

大家加油!(这里如此麻烦就2分,不知该说啥,哭)

关键词:成像,代码,初始,初始化,部分