[問題] 有關eig產生的值為複數的一些問題已回收
因為作業中有兩題寫出來一直怪怪的想說上來問問看,麻煩幫解答一下~THX
1.產生一個10*10矩陣A,B=(A+A')/2,算出B的eigenvector e1,e2...e10
驗證當i≠j時,ei跟ej的內積必定為0
我寫的程式碼是
A = randn(10,10); %題目要求用randn
B = (A+A')/2;
[X,D] = eig(B);
for i = 1 : 9
for j = i+1 : 10
dot(X(:,i),X(:,j))
end
end
但是算出來的內積都只有一個是0...其他不是@@
2.寫一程式隨機產生10個100*100的矩陣證明矩陣的行列式值會等於其eigenvalue的乘積
我寫的程式碼是
for i = 1 : 10
A = rand(100,100);
prod(eig(A))
det(A)
end
雖然行列式值跟其eigenvalue的乘積的"實部"都相等,但有些eigenvalue的乘積會有虛部
就變成多了一串虛部,會有的相等有的卻多虛部的情況出現,課本都看完了還是很囧@@
不知道我到底哪邊有寫錯呢???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 211.76.249.1
→
12/16 21:56, , 1F
12/16 21:56, 1F