[討論] 求最小特徵值的程式碼
A矩陣是包含變數k的矩陣
想求k=1~10的最小特徵值
然後畫出k與最小特徵值的關係圖
程式碼如下,但是一直無法順利執行
請問是哪個環節出了問題呢?(錯誤訊息在最下方)
k=1:10;
A=[-2 0 0 1 -(0.5)*k 0 0 0 0;
0 -2 0 (0.5)*k 1 -(0.5)*k 0 0 0;
0 0 -2 0 (0.5)*k 1 0 0 0;
1 (0.5)*k 0 -2 0 0 1 -(0.5)*k 0;
-(0.5)*k 1 (0.5)*k 0 -2 0 (0.5)*k 1 -(0.5)*k;
0 -(0.5)*k 1 0 0 -2 0 (0.5)*k 1;
0 0 0 1 (0.5)*k 0 -2 0 0;
0 0 0 -(0.5)*k 1 (0.5)*k 0 -2 0;
0 0 0 0 -(0.5)*k 1 0 0 -2];
B=[22 -8 1 -8 2 0 1 0 0;
-8 21 -8 2 -8 2 0 1 0;
1 -8 22 0 2 -8 0 0 1;
-8 2 0 21 -8 -1 -8 2 0;
2 -8 2 -8 20 -8 2 -8 2;
0 2 -8 1 -8 21 0 2 -8;
1 0 0 -8 2 0 22 -8 1;
0 1 0 2 -8 2 -8 21 -8;
0 0 1 0 2 -8 1 -8 22];
C=inv(A);
D=C*B;
y=min(eig(D));
plot(k,y);
xlabel('k=1~10');
ylabel('minimum eigenvalue');
出現以下錯誤訊息
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Error in ==> aa at 2
A=[-2 0 0 1 -(0.5)*k 0 0 0 0;
0 -2 0 (0.5)*k 1 -(0.5)*k 0 0 0;
0 0 -2 0 (0.5)*k 1 0 0 0;
1 (0.5)*k 0 -2 0 0 1 -(0.5)*k 0;
-(0.5)*k 1 (0.5)*k 0 -0 (0.5)*k 1 -(0.5)*k;
0 -(0.5)*k 1 0 0 -2 0 (0.5)*k 1;0 0
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.109.14