ЧМ (ЭКТ-3) / Лабы / Всякие сделанные варианты / other / Lab_5
.docЛабораторная
работа №5
по
численным методам.
Вариант 02.
|
Выполнила: Никитушкина Евгения ЭКТ-35 |
Проверил: Мустафин Н.Н. |
|
|
|
МИЭТ
2001
Рассмотрим некоторое дифференциальное уравнение:
y’’(t)+p(t)*y’(t)+q(t)y(t)=f(t)
рассмотрим краевые условия:
k1y(a)+k2y’(a)=alpha
k3y(b)+k4y’(b)=betta
Решаем следующим образом:
Зададим сетку:
[a,b] a=t0<=t1<=t2<=…<=tn=b
P(tj)=pj; q(tj)=qj; f(tj); f(tj)=fj
(yi+1 –2yi+yi–1)/tau^2+pi*(yi+1–yi–1)/2tau+qi*yi=fi
k1y0+k2(y1-y0)=alpha :c=f0
k3yn+k4(yn-yn-1)=betta :d=fn
A
i=1/tau^2–Pi2tau
Bi=qi–2tau^2 i=1,2,…n-1
Ci= 1/tau^2+Pi/2tau
B0=k1–k2/tau; c0=k^2/tau
Bn=k3+k4/tau;
An=-44/tau![]()
B0y0+C0y1 =f0
……………………… трехдиагональная матрица
Aiyi-1+Biyi+Ciyi+1
Anyn-1+Bnyn=fn
Методом прогонки:
alpha0=betta0=0; A0=Cn=0
alphai+1=Ci/(Bi+Ai*alphai)
bettai+1=(Ai*bettai-fi)/-(Bi+Ai*alphai)
i=0,1,…,n
yn=(An*bettan–fn)/–(Bn+An*alphan)
yj-1=alphaj*yj+bettaj
Вариант1
|
|
p(t) |
g(t) |
r(t) |
a |
b |
k1 |
k2 |
k3 |
k4 |
c |
d |
|
|
-t |
2 |
t+1 |
0 |
1 |
1 |
-0.5 |
1 |
0 |
2 |
1 |
Программа
% p(t)=-t;
% g(t)=2;
% r(t)=t+1;
a=0;
b=1;
k1=1;
k2=-0.5;
k3=1;
k4=0;
c=2;
d=1;
step=50;
tau=(b-a)/step;
t=[];
for x=a:tau:b
t=[t;x];
end;
aa=[];
bb=[];
cc=[];
for x=2:1:step+1
aa=[aa;(1/(tau*tau)-(1/t(x))/2*tau)];
bb=[bb;(2-2/(tau^2))];
cc=[cc;(1/(tau*tau)+(1/t(x))/2*tau)];
end;
aa(1)=0;
bb(1)=k1-k2/tau;
cc(1)=k2/tau;
aa(step+1)=-k4/tau;
bb(step+1)=k3+(k4/4);
cc(step+1)=0;
alpha=[0];
betta=[0];
for x=2:1:step+1
alpha=[alpha;-cc(x-1)/(bb(x-1)+alpha(x-1)*aa(x-1))];
betta=[betta;-(betta(x-1)*aa(x-1)-t(x-1))/(bb(x-1)+alpha(x-1)*aa(x-1))];
end;
y=[];
y(step+1)=-aa(step+1)*betta(step+1)-t(step+1)/(bb(step+1)+aa(step+1)*alpha(step+1));
for x=step:-1:1
y(x)=y(x+1)*alpha(x+1)+betta(x+1);
end;
plot(t,y);

