Автор работы: Пользователь скрыл имя, 09 Октября 2012 в 03:03, курсовая работа
Прикладные проблемы приводят к необходимости решения краевых задач для уравнений с частными производными. Разработка приближенных методов их решения базируется на построении и исследовании численных методов решения краевых задач для базовых (основных, модельных) уравнений математической физики. В качестве таковых при рассмотрении уравнений второго порядка выделяются эллиптические, параболические и гиперболические уравнения. Решение краевой задачи определяется из уравнения и некоторых дополнительных условий.
1. Введение…………………………………………………………….…3
2. Постановка задачи……………………………………………….….…4
3. Интегральное уравнение Фредгольма 1-го рода для задачи идентификации…………………………………………………..……5
4. Дискретизация для двумерного интегрального уравнения Фредгольма 1-го рода…..……………………………….……..……13
5. Метод регуляризации для систем линейных алгебраических уравнений………………………………………………………….......21
Заключение ……………………………….………………….…………25
Приложение………………………………………………………………26
N=input('Enter N-number of knots for OX,OY');
delta=input('Enter delta-error for U(x,y)');
eps=input('Enter eps(<0.0001)for nev<=eps');
L=0;
//=========Концы отрезка для
a=0; b=1; c=0; d=2; A=1; B=1;
disp("PRAM");ht=(b-a)/N;hs=(d-
RU=2*rand(N,N)-ones(N,N);
//=========Ядро(функция Грина)для интегрирования по х=============
function w=G1(x,t),
if t<=x then
w=(x-b)*(t-a)/(b-a);
elseif x<=t then
w=(x-a)*(t-b)/(b-a);
end; endfunction
//=========Ядро(функция Грина)для интегрирования по у=============
function w=G2(y,s),
if s<=y then
w=(y-d)*(s-c)/(d-c);
elseif y<=s then
w=(y-c)*(s-d)/(d-c);
end; endfunction
//=========U(x,y),zt(x,y),d^
disp("Example"); deff('w=U(x,y)','w=x^3*y+y^4')
//=========Построение функции
deff('w=T1(x,y)','w=((c-y)*
deff('w=T2(x,y)','w=((a-x)*
deff ('w=T(x,y)','w=-A*T1(x,y)-B*
//=========Построение функции
deff('w=f1(x,y)','w=((a-x)*U(
deff('w=f2(x,y)','w=(c-y)*(U(
deff('w=f3(x,y)','w=(y-d)*(U(
deff('w=f(x,y)','w=f1(x,y)+f2(
deff('w=W(x,y)','w=U(x,y)+f(x,
//=========Численное
hx=ht; hy=hs;
for i=1:N;
for j=1:N;
x(i)=a+(i-P)*hx; y(j)=c+(j-P)*hy;
end; end;
t=x; s=y;
N2=100;
ht2=(b-a)/N2; hs2=(d-c)/N2;for j=1:N2;At2(j)=ht2;As2(j)=hs2;
for i=1:N;
for j=1:N;
S1=0; S2=0;
for m=1:N2
t2(m)=a+(m-0.5)*ht2; s2(m)=c+(m-0.5)*hs2;
S1=S1+B*G1(x(i),t2(m))*W(t2(m)
S2=S2+A*G2(y(j),s2(m))*W(x(i),
end;
u(i,j)=S1+S2+delta*RU(i,j);
end; end;
//=========Правая часть
for p=1:N;
for k=1:N;
q=(p-1)*N+k;
F(q)=u(p,k);
end; end;
//=========4-индексная
for p=1:N;
for k=1:N;
q=(p-1)*N+k;
for i=1:N;
for j=1:N;
n=(j-1)*N+i;
//=========2-индексная
Q(q,n)=G1(x(p),t(j))*G2(y(k),
end; end; end; end;
//====Регуляризация С.Л.А.У. mu=inf{norm(Q*z-F)^2} all z in E(N^2)=
L=10; g=0.1;
zp=(g^8*eye(N^2,N^2)+Q'*Q)\(Q'
mu=(norm(Q*zp-F))^2;
for m=1:L;
alfa=g^m;
z=(alfa*eye(N^2,N^2)+Q'*Q)\(Q'
nev=abs(norm(Q*z-F)^2-delta^2-
if nev<=eps then break
else
end; end;
disp("Exit nev,alfa for nev<=eps");
nev=nev
alfa=alfa
//=========Построение решений,
for i=1:N;
for k=1:N;
ZT(i,k)=zt(x(i),y(k));
H(i,k)=z(k+(i-1)*N);
ZR(i,k)=H(i,k)+T(x(i),y(k));
end; end;
DZR=ZR-ZT;
M=input('Enter 1<=M<=N for exit results'); m=1;
for i=1:M
for j=1:M
RES(m,1)=x(i); RES(m,2)=y(j); RES(m,3)=ZT(i,j);
RES(m,4)=ZR(i,j); RES(m,5)=DZR(i,j);m=m+1; end; end;
disp(" x y ZT ZR DZR ");
format('v',7); disp(RES);
//Графики
subplot(3,1,1)
plot3d(x,y,ZT)
xtitle("ZT-ТОЧНОЕ РЕШЕНИЕ,(x,y)-KNOTS")
subplot(3,1,2)
plot3d(x,y,ZR)
xtitle("ZR–РЕГУЛЯРИЗОВАННОЕ РЕШЕНИЕ,(x,y)-KNOTS")
subplot(3,1,3)
plot3d(x,y,DZR)
xtitle("ПОГРЕШНОСТЬ РЕГУЛЯРИЗАЦИИ,(x,y)-KNOTS")
Пример . Для функции при . Точное решение (для контроля) = . Погрешность задана в программе.
График 1
Здесь взято Числовые результаты.
, x y ZT ZR DZR
0. 0. 0. 0. 0.
0. 0.1 0.121 0.121 0.
и кубатуры прямоугольников (р=1). 0. 0.2 0.496 0.496 0.
0. 0.2 0.496 0.496 0.
0. 0.3 1.161 1.161 0.
0. 0.4 2.176 2.176 0.
0. 0.5 3.625 3.625 0.
0. 0.6 5.616 5.616 0.
0. 0.7 8.281 8.281 0.
0. 0.8 11.776 11.776 0.
0. 0.9 16.281 16.281 0.
0. 1. 22. 22. 0.
0. 1.1 29.161 29.161 0.
0. 1.2 38.016 38.016 0.