首页 > 解决方案 > VBA 中的代数数据类型

问题描述

我正在尝试制作一组​​基本代数运算的函数和子项,例如矩阵乘积、向量乘积、求矩阵的逆。

到目前为止,我一直在使用多维数组,并将它们声明为变体,因为由于某种原因,当您希望函数返回数组值时,通过将其设置为等于函数内部的数组,它只有在它们都是类型变体。

我想声明一个称为向量的数据类型,它可以是标量、向量、矩阵,甚至是更多维的东西,所以当我声明一个像加法这样的泛型函数时,我可以说:

function addition (vect1 as vector, vect2 as vector) as vector

或者可能:

function addition (vect1() as vector, vect2() as vector) as vector()

它适用于每种矢量类型(只要 vect1 和 vect2 显然大小相同)。

我希望像数组一样处理vector的组件,例如

vect1(2,3) and not vect1.row(2).column(3)

是否可以在 VBA 中创建这样的数据类型?它基本上是您在 mathlab 或 octave 中使用的数据类型,但我想在 VBA 中创建并从 MS Excel 中获取值。

标签: vbaexceltypeslinear-algebra

解决方案


推荐阅读