【问题标题】:Error calculating matrix determinant of matrix in MATLAB在MATLAB中计算矩阵行列式的错误
【发布时间】:2012-05-25 15:30:19
【问题描述】:

我有这个矩阵

A1 = [7.4011 9.8999 1.9990; 7.4011 9.8988 1.9990; 7.4011 9.8999 1.9990]

A1 =
      7.4011   9.8999   1.9990
      7.4011   9.8988   1.9990
      7.4011   9.8999   1.9990

但是当我执行指令det(A1)时,我得到以下错误:

error: det: invalid dense matrix type

发生了什么?

我尝试在网上查找有关此错误的信息,但找不到任何东西。

谢谢

【问题讨论】:

  • 您使用的是 matlab 克隆(例如 Octave)吗?
  • 如果我剪切并粘贴您的代码 Matlab R2012a 返回 0。尝试清除 A1 并重新执行。
  • 该代码适用于 MATLAB R2012a、GNU Octave 3.6.1 和 Scilab 5.3.3。所有这些都返回 0 的行列式。所以代码似乎是正确的。
  • 我遇到了一个可能的问题,但与 MATLAB 无关:在某些键盘布局中,很容易意外输入不可见字符,而在 Linux 控制台中,这在我发现之前给我带来了一些奇怪的问题自己出去并更改了我的键盘布局,以避免意外键入不可见的非空白字符。如果复制粘贴的代码对您有用,但您在键入代码时仍不时遇到相同的问题(或其他奇怪的问题),那么问题可能是一个看不见的错字。
  • 哦,是的。我使用八度。是这个问题吗?

标签: matrix octave determinants


【解决方案1】:

好吧,正如@WarrenWeckesser 所说,我建议您在http://www.gnu.org/software/octave/download.html 上下载最新的 Octave 版本。这将是您使用的旧版本的问题。

我刚刚为 Windows (http://wiki.octave.org/Octave_for_Windows) 安装了 Octave-3.6.1-mingw + octaveforge pkgs,它运行良好!与det(A1)

ans = 0

由于该矩阵上至少有两条线相等,因此结果行列式必须为零!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-24
    • 1970-01-01
    • 1970-01-01
    • 2018-11-09
    相关资源
    最近更新 更多