Лабораторная работа №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)