Я пытаюсь решить систему из 10 линейных уравнений, из которых средние 8 выглядят одинаково. Они выглядят так:Matlab: Что я делаю неправильно? (Индексирование)
t_i-1 - 2.3086*(t_i) + t_i+1 == -7.7160
где я = 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