MATLAB 矩阵符号之间的差异

发布于 2024-08-11 15:28:46 字数 700 浏览 1 评论 0原文

您如何阅读以下 MATLAB 代码?

#1

K>> [p,d]=eig(A)                     // Not sure about the syntax.

p =

    0.5257   -0.8507
   -0.8507   -0.5257


d =                               // Why do you get a matrix?

    0.3820         0                  
         0    2.6180

#2

K>> p,d=eig(A)                  // Not sure about the syntax.

p =

    0.5257   -0.8507
   -0.8507   -0.5257


d =                                       // Why do you get a vector?

    0.3820
    2.6180

哪里

A =

     2     1
     1     1

How do you read the following MATLAB codes?

#1

K>> [p,d]=eig(A)                     // Not sure about the syntax.

p =

    0.5257   -0.8507
   -0.8507   -0.5257


d =                               // Why do you get a matrix?

    0.3820         0                  
         0    2.6180

#2

K>> p,d=eig(A)                  // Not sure about the syntax.

p =

    0.5257   -0.8507
   -0.8507   -0.5257


d =                                       // Why do you get a vector?

    0.3820
    2.6180

where

A =

     2     1
     1     1

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原野 2024-08-18 15:28:46

在第二种情况下 p,d=eig(A) MATLAB只是打印之前在情况 1 中计算出的 p 值,然后运行命令d=eig(A)

在运行案例 2 之前尝试

>> clear p d

如果然后运行 ​​p,d=eig(A) 它将返回一个错误,指出 p 是未定义的函数或变量。

来自 help eig

E = EIG(X) is a vector containing the eigenvalues of a square
matrix X.

[V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a
full matrix V whose columns are the corresponding eigenvectors so
that X*V = V*D.

请注意,没有 V,D = EIG(X) 选项。返回多个值的 MATLAB 函数将使用以下格式对它们进行分组:

[ ] = function()

In your second case p,d=eig(A) MATLAB is merely printing the previously calculated value of p from case 1 and then running the command d=eig(A).

Before running case 2 try

>> clear p d

If you then run p,d=eig(A) it will return an error saying that p is undefined function or variable.

From help eig:

E = EIG(X) is a vector containing the eigenvalues of a square
matrix X.

[V,D] = EIG(X) produces a diagonal matrix D of eigenvalues and a
full matrix V whose columns are the corresponding eigenvectors so
that X*V = V*D.

Note there is no V,D = EIG(X) option. MATLAB functions that return more than one value will group them using the format:

[ ] = function()
南街女流氓 2024-08-18 15:28:46
p,d=eig(A) 

是一样的

p
d=eig(A)
p,d=eig(A) 

is the same as

p
d=eig(A)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文