1
我正試圖求解一個由10個線性方程組成的系統,其中的中間8個方程式看起來都差不多。它們看起來像這樣:Matlab:我做錯了什麼? (Indexing)
t_i-1 - 2.3086*(t_i) + t_i+1 == -7.7160
其中i = 2:9
所以決定構建係數矩陣和方程組通過looping.This系統中的常數矩陣(陣列)是我所做。
T = sym('t' , [1 10]); %% Creates a vector T = [ t1 t2 .... t10]
A_10 = zeros(10,10);
b_10 = zeros(10,1);
for i = 2:9 %% This loop generates the equations and arranges them in the matrices A_10 and B_10.
T(i-1) - 2.3086*T(i) + T(i+1) == -7.7160;
[A_10(i,i-1:i+1),b_10(i,1)] = equationsToMatrix(ans)
end
除矩陣A_10中的第九行(最後一行)之外的所有內容都是正確的。這是A_10看起來像
A_10 =
列1至9
0 0 0 0 0 0 0 0 0
1.0000 -2.3086 1.0000 0 0 0 0 0 0
0 1.0000 -2.3086 1.0000 0 0 0 0 0
0 0 1.0000 -2.3086 1.0000 0 0 0 0
0 0 0 1.0000 -2.3086 1.0000 0 0 0
0 0 0 0 1.0000 -2.3086 1.0000 0 0
0 0 0 0 0 1.0000 -2.3086 1.0000 0
0 0 0 0 0 0 1.0000 -2.3086 1.0000
0 0 0 0 0 0 0 1.0000 1.0000
0 0 0 0 0 0 0 0 0
列10
0
0
0
0
0
0
0
0
-2.3086
0
行九最後的三個要素應該是1,-2.3086 ,1像以前的行,但它顯示1,1,-2.3086。我在這裏做錯了什麼?
這是迭代的樣子在循環
ans = t8 - (11543*t9)/5000 + t10 == -1929/250
的公式是正確的了。我無法弄清楚問題所在。
工作。謝謝! – Loki93