Пример решения краевой задачи методом конечных разностей

Задание.

Решить краевую задачу

(1)

методом конечных разностей.

Варианты задания.

; ; ; ,

где – номер группы; – номер студента по журналу.

Принять для расчета на ЭВМ число точек , для ручного счета – .

 

Предварительные построения.

Решение задачи состоит в составлении системы конечно-разностных уравнений при разбиении отрезка на частей с постоянным шагом и нумерацией точек разбиения : . Вводим обозначения: – координата -й точки разбиения, , . Тогда, заменяя в задаче (Л.6.1) для каждой точки разбиения дифференциальное уравнение соответствующим разностным, получим систему линейных алгебраических уравнений относительно неизвестных , :

(2)

Умножая уравнения для внутренних точек на и приводя подобные члены, представим систему (2) в виде

или в матричном виде:

(3)

 

 

format short g

g=input('ввести номер группы g=');

s=input('ввести номер студента по списку s=');

n=input('ввести число точек n=');

c=(s+g)/25; dl=1; y0=0; yl=0;

h=dl/(n-1); xi=(0:h:dl)'; x=xi(2:n-1);

p=-s./(dl^2+4*x.*(dl-x));

f=-c*(2-p.*x.*(dl-x));

t=ones(n-2,1);

A=diag([t;0],-1)+diag([1;h^2*p-2;1])+diag([0;t],1);

disp('матрица системы разностных уравнений'),disp(A)

b=[y0;h^2*f;yl];

disp('вектор правой части системы разностных уравнений'),disp(b)

y=A\b;

disp('решение:'),disp(y)

plot(xi,y),grid on

 

 

ввести номер группы g=3

ввести номер студента по списку s=12

ввести число точек n=9

матрица системы разностных уравнений

1 0 0 0 0 0 0 0 0

1 -2.1304 1 0 0 0 0 0 0

0 1 -2.1071 1 0 0 0 0 0

0 0 1 -2.0968 1 0 0 0 0

0 0 0 1 -2.0938 1 0 0 0

0 0 0 0 1 -2.0968 1 0 0

0 0 0 0 0 1 -2.1071 1 0

0 0 0 0 0 0 1 -2.1304 1

0 0 0 0 0 0 0 0 1

вектор правой части системы разностных уравнений

-0.02731

-0.030804

-0.032359

-0.032813

-0.032359

-0.030804

-0.02731

решение:

0.065625

0.1125

0.14063

0.15

0.14063

0.1125

0.065625

>>


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: