Excel 中的复数和矩阵计算

Excel 中的复数和矩阵计算

Excel 支持复数,例如:=IMSUM("5+2i","6+2i")以及矩阵计算例如:=MMULT(B7:D9,F3:F5)

但是,将复数值放入具有现有矩阵运算的单元格会产生错误。有没有办法在 Excel 中使用复数值执行矩阵计算?

我在 Windows 7 上使用 Excel 2010 测试版并开放其他应用程序。

答案1

您不能在 Excel 中结合复杂算术和矩阵算术,因为复杂函数以文本格式返回结果,而矩阵函数需要数字输入。

数学(商业应用)和Wolfram Alpha(Mathematica 制造商的在线引擎)处理复杂的矩阵算法。尝试输入

{{(0+1i),-1},{1,0}}.{{(2-5i),2},{3,4}}

进入 Wolfram Alpha。它以图形格式返回结果(和许多其他类型的信息),但您也可以将其转换为 Mathematica 文本格式。

答案2

它可以通过最少的 VBA 来完成,如果你在 VBA 中编写一个函数,real_mat()将你的复杂矩阵变成{a}两倍大的矩阵:{real(a),-im(a);im(a),real(a)} 另一个函数complex_mat采用实数矩阵并将其转换回原始复杂形式,那么你可以在实矩阵上执行的所有 Excel 工作表函数都可以在上面完成,real_mat()它们的工作方式与对复数的等效函数一样。

它适用于+-mmult和,请注意,minverse类型执行复共轭 - 这通常是您想要做的。mtransposemtransposereal_mat()

例如,你可以对一系列复数a求和b,然后使用公式反转结果=complex_mat(minverse(real_mat(a) + real_mat(b)))

相关内容