Решение задач математической физики в системе MatLab. Рындин Е.А - 49 стр.

UptoLike

Составители: 

Рубрика: 

for i=2:n-1
b(n*m*(l-1)+m*(i-1)+1)=G3(x(i));
if v3==1
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)=1;
elseif v3==2
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+1)=-1/dy;
a(n*m*(l-1)+m*(i-1)+1,n*m*(l-1)+m*(i-1)+2)=1/dy;
else
error('Parameter v3 have incorrect value');
end
b(n*m*(l-1)+m*(i-1)+m)=G4(x(i));
if v4==1
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1;
elseif v4==2
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m)=1/dy;
a(n*m*(l-1)+m*(i-1)+m,n*m*(l-1)+m*(i-1)+m-1)=-1/dy;
else
error('Parameter v4 have incorrect value');
end
end
end
% Определение коэффициентов и свободных членов СЛАУ,
% соответствующих внутренним точкам области
for l=2:s
for i=2:n-1
for j=2:m-1
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j)=...
R(x(i),y(j))*C(x(i),y(j))/dt+...
(K(x(i),y(j))+K(x(i-1),y(j)))/dx^2+...
(K(x(i),y(j))+K(x(i),y(j-1)))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*i+j)= ...
-K(x(i),y(j))/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-2)+j)= ...
-K(x(i-1),y(j))/dx^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j+1)= ...
-K(x(i),y(j))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-1)+m*(i-1)+j-1)= ...
-K(x(i),y(j-1))/dy^2;
a(n*m*(l-1)+m*(i-1)+j,n*m*(l-2)+m*(i-1)+j)= ...
-R(x(i),y(j))*C(x(i),y(j))/dt;
b(n*m*(l-1)+m*(i-1)+j)=F(x(i),y(j));
end
end
end
% Решение СЛАУ
u=b/a';
49