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

UptoLike

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

Рубрика: 

input('Вид ГУ на левой границе (1 - Дирихле, 2 - Неймана): ');
v1=ans;
input('Значение ГУ на левой границе: ');
g1=ans;
input('Вид ГУ на правой границе (1 - Дирихле, 2 - Неймана): ');
v2=ans;
input('Значение ГУ на правой границе: ');
g2=ans;
% Задание равномерной координатной сетки с шагом dx
x=x0:(xn-x0)/(n-1):xn; dx=x(2)-x(1);
% Вычисление значений функций, заданных символьно,
% в узлах координатной сетки
F=inline(f,'x');
FF=F(x);
% Задание матрицы коэффициентов СЛАУ размерностью n x n,
% все элементы которой равны 0
a=zeros(n,n);
% Задание матрицы-строки свободных членов СЛАУ размерностью 1 x n,
% все элементы которой равны 0
b=zeros(1,n);
% Определение коэффициентов и свободных членов СЛАУ,
% соответствующих граничным условиям и проверка корректности
% значений параметров v1, v2
b(1)=g1;
if v1==1
a(1,1)=1;
elseif v1==2
a(1,1)=-1/dx;
a(1,2)=1/dx;
else
error('Parameter v1 have incorrect value');
end
b(n)=g2;
if v2==1
a(n,n)=1;
elseif v2==2
a(n,n)=1/dx;
a(n,n-1)=-1/dx;
else
error('Parameter v2 have incorrect value');
end
16