Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Лабораторная работа №1
по курсу Методы вычислений
Математический факультет, 5 семестр
Тема |
«Численное решение краевой задачи для обыкновенного дифференциального уравнения второго порядка.» |
Ф.И.О. |
Анисимов Даниил Сергеевич |
Группа |
481б |
Вариант |
2 |
Дата сдачи |
Пусть на отрезке [a,b] требуется найти решение дифференциального уравнения
y+p(x)y+q(x)y=f(x), (1)
удовлетворяющее краевым условиям
d1y(a)+d2y(a)=d, e1y(b)+e2y(b)=e, d1+d20, e1+e20. (2)
На отрезке [a,b] построим равномерную сетку xk=a+kh, k=0,1,...,N, где h=(b-a)/N шаг сетки. Задачу (1)-(2) аппроксимируем следующей конечноразностной задачей
(yk+1-2yk+yk-1)/h2+pk(yk+1-yk-1)/(2h)+qkyk= fk, k=1,2,...,N-1
d1y0+d2(y1-y0)/h=d, e1yN+e2(yN-yN-1)/h=e, (3)
здесь использованы общепринятые обозначения : Q(xk)=Qk.
Систему (3) запишем в виде
akyk-1-bkyk+ckyk-1=Fk, k=1,2,...,N-1, (4)
y0=r1y1+s1, yN=r2yN-1+s2, (5)
где
аk=1-hpk/2, bk=2-h2qk, ck=1+hpk/2, Fk=h2fk,
r1=d2/(d2-hd1), s1=-hd/(d2-hd1), r2=e2/(e2+he1), s2=he/(e2+he1).
Систему (4)-(5) можно решить методом прогонки при выполнении следующих условий на её коэффициенты: bkak+ck, k=1,2,...,N-1, r1 1, r2 1. Причем, хотя бы одно из этих неравенств должно быть строгим.
Метод прогонки для решения системы.
Решение этой системы будем искать в виде
yk-1=kyk+ k (6)
Из первого равенства (5) находим, что
1=r1 , 1=s1, (7)
а из системы (4) и соотношений (6) получаем рекуррентные формулы
k+1=ck/(bk-kak), k+1=(kak-Fk)/(bk-kak). (8)
Формулы (8) и равенства (7) позволяют определить k, k, k=1,2,...,N. Из второго равенства (5) и равенства (6) при k=N находим, что
yN=(Nr2+s2)/(1-Nr2). (9)
Равенства (9) и (6) позволяют определить искомые yk, k=N,N-1,...,0.
Задание вариант №2.
Номер варианта |
a |
b |
p(x) |
q(x) |
f(x) |
d1 |
d2 |
d |
e1 |
e2 |
e |
y(x) |
2. |
0 |
1 |
4x/(x2+1) |
-1/(x2+1) |
-3/(x2+1)2 |
0 |
1 |
0 |
1 |
0 |
0,5 |
1/(x2+1) |
Решение задания №2
Eps= 0.005
a0=0; b0=1; d1= 0; d2 =1; d=0; e1=1; e2=0; e=0.5;
E=100; N=2;
while E > Eps
N=N+1;
h=(b0-a0)/N;
x=0; p =0; q=0; f=0; a=0; b=0; c=0; F=0;
for k = 1:N+1
x(k) = a0 + (k-1)*h;
p(k) = 4*x(k)/((x(k))^2+1);
q(k) = -1/((x(k))^2+1);
f(k) = -3/((x(k))^2+1)^2;
end
for k= 2:N
a(k) = 1 - h*p(k)/2; b(k) = 2-(h^2)*q(k);
c(k) = 1+h*p(k)/2; F(k) = h^2*f(k);
end
r1=d2/(d2-h*d1); s1=-h*d/(d2-h*d1);
r2=e2/(e2+h*e1); s2=h*e/(e2+h*e1);
alfa=0; beta=0;
alfa(2)=r1; beta(2)=s1;
for k=2:N
alfa(k+1)=c(k)/(b(k)-alfa(k)*a(k));
beta(k+1)=(beta(k)*a(k)-F(k))/(b(k)-alfa(k)*a(k));
end
y=0;
y(N+1)=(beta(N+1)*r2+s2)/(1-alfa(N+1)*r2);
for m=1:N
k = (N+1)-m;
y(k)=alfa(k+1)*y(k+1)+beta(k+1);
end
Y=0;
Y=1./(1+x.^2);
E=0;
E=max(abs(y-Y));
End
N
plot(x,y,'-r',x,Y,'b');
k |
X |
Y приближенное решение |
Y точное решение |
1 |
0 |
0.99504324714222 |
1.00000000000000 |
2 |
0.00892857142857 |
0.99504324714222 |
0.99992028696692 |
3 |
0.01785714285714 |
0.99488347049332 |
0.99968122409946 |
------ |
------ |
------- |
------- |
111 |
0.98214285714286 |
0.50897708497071 |
0.50900827787697 |
112 |
0.99107142857143 |
0.50446875706456 |
0.50448421475970 |
113 |
1.00000000000000 |
0.50000000000000 |
0.50000000000000 |
Число точек N= 56