关于哈达玛(Hadamard)矩阵及其在二水平正交表构造中的应用。
哈达玛矩阵是一种特殊且重要的矩阵,当其元素为任一固定值且行列相互正交时,便被称作哈达玛矩阵。在《正交表的构造》[1]一书中,杨子胥详细介绍了利用哈达玛矩阵直积法来构造二水平正交表的方法。
李学斌等人在[2]中提出了一种结合哈达玛矩阵直积法和Excel软件的方法,用以构造二水平正交表。此方法涉及手动复制、粘贴及数据变换等五个步骤,可得到7阶二水平正交表。虽然该方法能够构造如 、 等高阶二水平正交表,但随着阶数的增加,步骤也相应增多,这给高阶二水平正交表的构造带来了一定的困难。
本文则着重介绍了一种基于哈达玛矩阵直积法的原理,结合VBA编程语言的Array函数、For...Next语句以及If...Then...Else语句,编写了相应的VBA代码。借助此代码,我们可以构造出任意阶数的二水平正交表。
一、数学基础
设A与B为矩阵,将A的每个元素都乘以B而得到的矩阵记作A⊗B,这被称为矩阵的直积运算。
例如,最简单的哈达玛(Hadamard)矩阵可表示为如下形式。
二、VBA实现方法
在VBA编程环境中,我们首先需要选择相应的工作表,如"H2矩阵"等。然后定义相关变量并初始化数组。
代码实现部分如下:
通过计算得知n的值为对数函数Log([A1])/Log(2)的商的整数部分,我们据此定义数组的维度。
以下是对VBA代码的逐步解析:
首先定义初始矩阵Array1的元素,并以此为基础生成Array2。接着通过循环操作,利用直积法扩展矩阵的阶数。在扩展过程中,我们还需对矩阵元素进行适当的变换,以满足二水平正交表的要求。
我们将处理后的矩阵Array3的数据填充至Excel工作表的相应单元格中。
三、参考文献
[1] 杨子胥. 正交表的构造. 山东出版社, 1978年8月, 74-77.
[2] 李学斌等. 运用Excel进行正交表的构造. 河南科技学院学报(自然科学版)第36卷第4期, 2008年12月.