Как исправить ошибку «Подматрица неправильно определена»? - PullRequest
0 голосов
/ 08 июня 2019

Я пытался запустить цикл, присваивая значения матрицам в каждой итерации. Каждая матрица имеет размер 10х10. Тем не менее, Scilab показывает ошибку «неправильно определена подматрица». Код выглядит следующим образом:

for t = 0:dt:time
    for j = 2:9
        for i = 2:9
            a(i,j)= (k*delX)/dx;
            b(i,j)= (2*(k*delX)/dx) + (2*(k*delY)/dx) + ((rho*c*delX*delY)/delT);
            c(i,j)= (k*delX)/dx;
            d(i,j)= ((k*delX)/dx)*T_new(i,j-1)+((k*delX)/dx)*T_new(i,j+1)+(rho*c*delX*delY*T_old(i,j))/delT;

            if i==2
                {
                  A(i,j)= c(i,j)/b(i,j);
                  B(i,j)= d(i,j)/b(i,j);
                }
            else
                {
                    A(i,j)= c(i,j)/(b(i,j)-a(i,j)*A(i-1,j));
                    B(i,j)= (A(i,j)*B(i-1,j)+d(i,j))/(b(i,j)-a(i,j)*A(i-1,j));
                }
            end
        end

        for i = 9:1
            T_new(i,j)= A(i,j)*T_new(i+1,j)+B(i,j);
        end

    end
   T_old = T_new;
end

Получена следующая ошибка:

)*T_new(i,j+1)+(rho*c*delX*delY*T_old(i,j))/delT
                                              !--error 15 
Submatrix incorrectly defined.
at line      47 of exec file called by :    
exec('C:\Users\nEW u\Documents\SciLab 2D program Set\2D_trial1.sce', -1)
...