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
类型执行复共轭 - 这通常是您想要做的。mtranspose
mtranspose
real_mat()
例如,你可以对一系列复数a
求和b
,然后使用公式反转结果=complex_mat(minverse(real_mat(a) + real_mat(b)))