上期我们介绍了 Matlab App 项目的背景,即做一个光束线系统的GUI界面:
镜子数量比较多
此系统中涉及到的镜子数量比较多,包括 平面镜 M1,水平方向聚焦镜 M2,光栅前置平面镜 M3,光栅单色器 G,垂直方向平面镜 M4 , 垂直方向聚焦镜 M5c, 支线和主线切换平面镜 M6, 以及四个实验站,每个实验站有 4 面镜子,包括2面平面镜和 2个方向的聚焦镜1 (Kirkpatrick-Baez mirrors, KB 镜 )。
对于每种镜子,有属性参数,包括掠入射角度,曲率半径,物距,像距,镀层材料等等。
面对这种数量比较多的对象,我们可以采用 Matlab 中的结构体的数据类型,当然我们也可以用 Matlab 中的类编写,个人感觉相对于类,结构体相对简单一些,主要是侧重一些数据属性,而类很多时候侧重于对象重复的行为。
Matlab 中的结构体
在 Maltab 中结构体可以写为:
Source = struct