Материал: Лаб 6

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Лабораторная работа №6

Сабитов И.А. ПБ-713

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

Решение разностной схемы для уравнений параболического типа методом «бегущего счета»

  j/i

0

1

2

3

4

5

6

7

8

9

10

0

0

0,2

0,4

0,6

0,8

1

1,2

1,4

1,6

1,8

2

1

0

0,2004

0,4008

0,6012

0,8016

1,002

1,2024

1,4028

1,6032

1,8036

2,1

2

0

0,2008

0,4016

0,6024

0,8032

1,004

1,2048

1,4056

1,6064

1,8552

2,2

3

0

0,2012

0,4024

0,6036

0,8048

1,006

1,2072

1,4084

1,6336

1,9068

2,3

function u=func0(m,n,h,tau)

u=zeros(m,n);

for i=1:m-1

u(i,1)=(i-1)*h;

end

for j=1:n

u(m,j)=2+(j-1)*tau;

u(1,j)=0;

end

for j=2:n

for i=2:m-1

u(i,j)=1/2*u(i+1,j-1)+1/2*u(i-1,j-1)+0.0004*(i-1);

end

end

u=u';

end

>> u=func0(11,4,0.2,0.1)

u =

0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000 1.4000 1.6000 1.8000 2.0000

0 0.2004 0.4008 0.6012 0.8016 1.0020 1.2024 1.4028 1.6032 1.8036 2.1000

0 0.2008 0.4016 0.6024 0.8032 1.0040 1.2048 1.4056 1.6064 1.8552 2.2000

0 0.2012 0.4024 0.6036 0.8048 1.0060 1.2072 1.4084 1.6336 1.9068 2.3000 график

>> surf(u)

расчет для шага сетки уменьшенного вдвое

>> u=func0(21,13,0.1,0.025)

u =

Columns 1 through 11

0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000 0.8000 0.9000 1.0000

0 0.1004 0.2008 0.3012 0.4016 0.5020 0.6024 0.7028 0.8032 0.9036 1.0040

0 0.1008 0.2016 0.3024 0.4032 0.5040 0.6048 0.7056 0.8064 0.9072 1.0080

0 0.1012 0.2024 0.3036 0.4048 0.5060 0.6072 0.7084 0.8096 0.9108 1.0120

0 0.1016 0.2032 0.3048 0.4064 0.5080 0.6096 0.7112 0.8128 0.9144 1.0160

0 0.1020 0.2040 0.3060 0.4080 0.5100 0.6120 0.7140 0.8160 0.9180 1.0200

0 0.1024 0.2048 0.3072 0.4096 0.5120 0.6144 0.7168 0.8192 0.9216 1.0240

0 0.1028 0.2056 0.3084 0.4112 0.5140 0.6168 0.7196 0.8224 0.9252 1.0280

0 0.1032 0.2064 0.3096 0.4128 0.5160 0.6192 0.7224 0.8256 0.9288 1.0320

0 0.1036 0.2072 0.3108 0.4144 0.5180 0.6216 0.7252 0.8288 0.9324 1.0360

0 0.1040 0.2080 0.3120 0.4160 0.5200 0.6240 0.7280 0.8320 0.9360 1.0400

0 0.1044 0.2088 0.3132 0.4176 0.5220 0.6264 0.7308 0.8352 0.9396 1.0440

0 0.1048 0.2096 0.3144 0.4192 0.5240 0.6288 0.7336 0.8384 0.9432 1.0480

Columns 12 through 21

1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000 1.9000 2.0000

1.1044 1.2048 1.3052 1.4056 1.5060 1.6064 1.7068 1.8072 1.9076 2.0250

1.1088 1.2096 1.3104 1.4112 1.5120 1.6128 1.7136 1.8144 1.9237 2.0500

1.1132 1.2144 1.3156 1.4168 1.5180 1.6192 1.7204 1.8259 1.9398 2.0750

1.1176 1.2192 1.3208 1.4224 1.5240 1.6256 1.7293 1.8373 1.9580 2.1000

1.1220 1.2240 1.3260 1.4280 1.5300 1.6331 1.7382 1.8509 1.9763 2.1250

1.1264 1.2288 1.3312 1.4336 1.5365 1.6405 1.7488 1.8645 1.9955 2.1500

1.1308 1.2336 1.3364 1.4395 1.5431 1.6491 1.7593 1.8794 2.0148 2.1750

1.1352 1.2384 1.3417 1.4453 1.5503 1.6576 1.7710 1.8943 2.0348 2.2000

1.1396 1.2433 1.3471 1.4516 1.5575 1.6670 1.7827 1.9101 2.0547 2.2250

1.1440 1.2481 1.3526 1.4579 1.5653 1.6765 1.7954 1.9259 2.0751 2.2500

1.1485 1.2531 1.3582 1.4646 1.5732 1.6867 1.8080 1.9425 2.0956 2.2750

1.1530 1.2581 1.3641 1.4713 1.5817 1.6970 1.8214 1.9590 2.1163 2.3000

график

>> surf(u)

расчет для шага сетки уменьшенного в 5 раз

u=func0(51,71,0.04,0.0004)

график

>> surf(u)