Скачиваний:
47
Добавлен:
15.06.2014
Размер:
230.4 Кб
Скачать

Решение одномерной краевой задачи

• Найти решение

 

 

 

 

 

 

u

 

 

 

 

 

 

 

 

 

 

 

g

 

f ;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

0 u

0

 

 

 

 

 

 

0

 

1 u

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

q

x

 

u

 

 

x 0

 

 

;

q x

u

 

x 1

 

.

 

 

 

 

 

 

 

 

 

 

 

Ищем решение в виде

 

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

uN (x) 0 (x) ak k (x)

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

uN

 

 

 

1

 

 

 

 

Проекционное уравнение

 

 

 

 

g

 

 

 

dx

 

f

dx;

i 1... N.

 

 

 

 

 

 

 

x

 

 

x

i

 

 

i

 

 

 

 

 

 

0

 

 

 

 

 

0

 

 

 

 

 

 

g

uN

i

 

1

 

1

 

g

uN

 

i dx

1

f idx

 

 

 

 

 

 

 

 

 

 

 

 

преобразуем

x

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

0

 

0

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

06/25/19

11

Решение одномерной краевой задачи (продолжение1)

Подставляем uN

 

uN

 

 

1

 

1

 

0 ak k i

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

i

 

 

 

 

g

 

 

dx

 

f idx

x

 

 

x

x

 

 

 

 

0

 

0

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

Преобразуем и получаем

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

n

1

k

 

 

ak g

 

x

k 1

 

 

 

 

 

0

 

ix

 

1

 

 

 

 

 

dx

 

f

i

 

 

 

 

0

 

 

 

0

 

i

 

uN

 

1

 

 

 

 

 

g

 

 

dx g

 

i

; i 1..N

x

 

x

 

x

 

 

0

 

 

 

 

 

 

 

В зависимости от постановки граничных условий выбираем соответствующую систему базисных функций

06/25/19

12

Задача Дирихле

 

 

 

u

 

x 0

0

; u

 

x 1

1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

• Выбираем систему базисных функций вида:

 

 

 

 

 

0 0

1 0

x, k

sin k x

 

 

 

В силу того, что

g u

N

 

 

 

1

0; i 1..N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

x

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Получаем проекционное уравнение вида

 

n

 

1

 

k i

 

 

 

 

 

 

a

k

g

 

 

 

 

x

x

 

k 1

 

0

 

 

1

f

dx

 

 

i

 

 

0

 

g

 

0

 

i

 

 

 

dx; i 1..N

 

x

x

 

 

 

Или для выбранных функций

 

n

 

1

 

 

1

 

 

 

 

 

 

a

k

g(x)ki 2 cos(k x) cos(i x)dx

 

 

f sin(i x) g( 1

0 )i cos(i x)

dx;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k 1

 

0

 

 

0

 

 

 

 

i 1..N

 

 

 

 

 

 

 

 

 

 

 

06/25/19

 

 

 

 

13

Программная реализация задачи Дирихле

function V2_1;

Be0=1; be1=0; N=4; M=10;

for i=1:N

F1 = @(x)f(x).*sin(i*pi*x)-g(x).*(be1-be0).i*pi*cos(i*pi*x);

d(i) = quad(F1,0,1);

for k=1:N

F2 = @(x)g(x).*cos(i*pi*x).*cos(k*pi*x)*i*k*pi^2;

G(i,k)=quad(F2,0,1);

end; end

a=d/G;

a

for i=1:M+1 %выдача графика

xt(i)=(i-1)/M;

y(i)=be0+(be1-be0)*xt(i);

for k=1:N

y(i)=y(i)+a(k)*sin(k*pi*xt(i));

end; end;

 

plot(xt,y);

 

return

 

 

06/25/19

14

Задача со свободным левым концом

 

u 0u

 

0 ; u

 

x 1

1.

 

 

 

 

 

 

• Выбираем базис вида

x

 

x 0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 1x, k sin 0.5k (1 x

k (0) sin(0.5k ),

 

k (1) 0

Первый член проекционного уравнения используя гр. условие:

g

uN

i

 

1

g( 0 0uN ) i

 

g(0)( 0

0 0 (0)) i (0) ak 0 g(0) k (0) i (0)

 

 

 

 

 

 

 

 

 

x

 

 

0

 

 

0

k

 

 

 

 

 

 

 

 

 

 

 

 

Проекционное уравнение

n

 

 

 

 

1

 

 

 

1

 

 

 

 

a

0 g(0)

 

(0) (0)

 

g

k

i dx

 

 

 

f g

0

i

dx

 

 

 

 

 

 

 

 

k

i

 

 

 

 

 

i

 

 

 

 

k

 

x x

 

x x

k 1

 

 

 

 

0

 

 

0

 

 

 

 

 

 

 

g(0)( 0

0 0 (0)) i (0); i 1..N

 

 

 

 

 

06/25/19

 

 

 

 

 

 

 

 

 

 

 

 

15

Задача со свободным левым концом (продолжение)

Проекционное ур-е

n

 

 

 

1

 

 

1

 

 

 

 

a 0 g(0)

 

(0) (0)

g

k

i dx

 

 

 

f g

0

i

dx

 

 

 

 

 

 

k

i

 

 

 

 

i

 

 

 

k

x x

 

x x

k 1

 

 

 

0

 

0

 

 

 

g(0)( 0 0 0 (0)) i (0); i 1..N

После подстановки функций базиса:

 

 

 

0

g(0)sin(0.5 k)sin(0.5 i)

 

 

 

 

 

 

 

 

n

a

 

 

 

 

 

 

 

 

k

1

 

 

2

 

 

 

 

 

g( x)ki

 

cos(0.5k (1 x)) cos(0.5i (1

x))dx

 

 

 

 

4

 

k 1

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

1

f sin(0.5i (1 x)) g 10.5i cos(0.5i (1 x)) dx

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g(0) 0 sin(0.5i );

i 1..N

06/25/19

16

Программная реализация задачи со свободным левым концом

function V2_2(al0,be0,be1,N,M);

for i=1:N

F1 = @(x)f(x).*sin(0.5*i*pi*(1-x))-

g(x).*be1.*0.5*i*pi*cos(0.5*i*pi*(1-x));

d(i) = quad(F1,0,1)+g(0)*be0*sin(0.5*i*pi);

for k=1:N

F2 = @(x)g(x).*cos(0.5*i*pi*(1-x)).*cos(0.5*k*pi*(1-x))

*i*k*pi^2*0.25;

G(i,k)=al0*g(0)*sin(0.5*k*pi)*sin(0.5*i*pi)-quad(F2,0,1);

end; end

a=d/G;

a

for i=1:M+1

xt(i)=(i-1)/M;

y(i)=be1*xt(i);

for k=1:N

y(i)=y(i)+a(k)*sin(0.5*k*pi*(1-xt(i)));

end; end;

plot(xt,y,'b');

return

06/25/19

17

Задача со свободным правым концом

 

 

 

 

 

0

;

u

1

 

 

1

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

 

x 0

 

x

u

 

 

Выбираем базис вида

 

 

 

 

 

x 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0 (1 x), k sin 0.5k x

k (0) 0,

k (1) sin(0.5k )

Первый член проекционного ур-я

g

uN

i

 

1

g( 1 1uN ) i

 

1 g(1)( 1 1 0 (1)) i (1) ak 1g(1) k (1) i

 

 

 

 

 

 

 

 

 

x

 

 

0

 

 

k

 

 

 

 

 

 

 

 

 

 

 

Проекционное уравнение

n

 

 

1

 

 

 

 

1

 

k

 

 

 

 

(1)

 

 

g

k

 

k

i

 

 

a

g(1)

 

(1)

 

x

k 1

 

 

 

 

 

 

 

0

 

ix

 

1

f

dx

 

 

i

 

 

0

 

g(1)( 1 1 0 (1)) i (1); i 1..N

g 0 i dx

x x

06/25/19

18

Задача со свободным правым концом (продолжение)

Проекционное уравнение

n

 

 

1

 

 

 

 

1

 

k

 

a

 

 

(1)

 

 

g

k

 

k

i

 

 

g(1)

 

(1)

 

x

k 1

 

 

 

 

 

 

 

0

 

ix

 

1

f

dx

 

 

i

 

 

0

 

g(1)( 1 1 0 (1)) i (1); i 1..N

g 0 i dx

x x

После подстановки функций базиса

n

 

 

1

 

 

2

 

 

 

 

 

k

 

 

4

 

 

 

 

a

1g(1)sin(0.5 k)sin(0.5 i)

 

g(x)ki

 

 

cos(0.5k x) cos(0.5i x)dx

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

0

 

 

 

 

 

 

1

f sin(0.5i x) g 0 0.5i cos(0.5i x) dx g(1) 1 sin(0.5 i);

 

 

 

i 1..N

 

0

 

 

 

 

 

 

 

 

 

06/25/19

19

Программная реализация задачи со свободным правым концом

function V2_3(al1,be0,be1,N,M);

for i=1:N

F1 = @(x)f(x).*sin(0.5*i*pi*x)-

g(x).*be0.*0.5*i*pi*cos(0.5*i*pi*x);

d(i) = quad(F1,0,1)-g(1).*be1*sin(0.5*i*pi);

for k=1:N

F2 = @(x)g(x).*cos(0.5*i*pi*x).*cos(0.5*k*pi*x)*i*k*pi^2*0.25;

G(i,k)=-al1*g(1).*sin(0.5*k*pi)*sin(0.5*i*pi)-quad(F2,0,1);

end; end

a=d/G;

a

for i=1:M+1

xt(i) =(i-1)/M;

y(i)=be0*(1- xt(i) );

for k=1:N

y(i)=y(i)+a(k)*sin(0.5*k*pi*xt(i));

end; end;

plot(xt,y,'b');

return

06/25/19

20