【问题标题】:Matlab: How to compute the inverse of a matrixMatlab:如何计算矩阵的逆
【发布时间】:2017-04-03 06:25:02
【问题描述】:

我想找到图中给出的 T 逆。第一张是矩阵T,另一张是T逆。

I = eye(3);
T = [I/2, (j/2)*I, 0;
     I/2,  (-j/2)*I, 0;
     0,0,I];

使用 horzcat 时出错 CAT 参数维度不一致。

然后我尝试使用I = eye(2) 并得到同样的错误。正确的方法是什么?

【问题讨论】:

  • inv 有什么问题 - google matlab+matrix+inverse 的结果?只需确保将想象单位表示为 1i1j
  • @thewaywewalk 我认为主要问题是 OP 使用文字 0 而书面方程使用矩阵 0;因此,尺寸误差。

标签: matlab math inverse


【解决方案1】:

给定

I = eye(3);

您想将element-wise using .*A 相乘(确保使用虚数单位1j,而不是未定义的变量j

A = [1/2, (1j/2), 0;
     1/2,  (-1j/2), 0;
     0,0,1];

获取T

T = A.*I

但除此之外,感觉就像您实际上想要将 A 与常量 C = I = 1 相乘

T = A.*1

您使用inverse 函数获得的逆:

Tinv = inv(T)

【讨论】:

  • Tinv = 2.0000, 0, 0 ; 0, 0 + 2.0000i, 0; 0 , 0 , 1.0000;
  • 我在第 2 行的元素中得到了不同的值,第一列在图片中是 -jI 但在代码的输出中元素是 0。我注意到图片中的另一件事对于Tinv,没有2,但Matlab 已将元素与2 相乘。您能否检查一下并告诉我您是否得到与 Tinv 相同的结果?
  • @SKM 此答案中的代码给出了正确答案,与您的问题中给出的答案相匹配。 A = [1/2, (1j/2), 0; 1/2, (-1j/2), 0; 0,0,1]; 然后inv(A) = [1, 1, 0; -i, i, 0; 0, 0, 1]; 如上所述。尝试清除您的工作区(使用clear)并重新开始。
  • @Wolfie:谢谢你帮我检查结果。我清除了workpsce并得到了正确的答案。
  • @thewaywewalk:谢谢你的回答。你能告诉我使用什么命令来操作 T^H,其中 H 是复数的 Hermitian 运算符?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-10
相关资源
最近更新 更多