⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 d080501.txt

📁 (有源代码)数值分析作业,本文主要包括两个部分,第一部分是常微分方程(ODE)的三个实验题,第二部分是有关的拓展讨论,包括高阶常微分的求解和边值问题的求解(BVP).文中的算法和算例都是基于Matla
💻 TXT
📖 第 1 页 / 共 4 页
字号:

  Columns 92 through 98 

    0.9100    0.9200    0.9300    0.9400    0.9500    0.9600    0.9700

  Columns 99 through 101 

    0.9800    0.9900    1.0000

x6

x6 =

  Columns 1 through 7 

         0    0.0800    0.1600    0.2400    0.3200    0.4000    0.4800

  Columns 8 through 14 

    0.5600    0.6400    0.7200    0.8000    0.8800    0.9600    1.0000

x5(index)

ans =

  Columns 1 through 7 

         0    0.0800    0.1600    0.2400    0.3200    0.4000    0.4800

  Columns 8 through 10 

    0.5600    0.6400    0.7200

y5(index)

ans =

  Columns 1 through 7 

    1.0000    0.0984    0.1603    0.2400    0.3200    0.4000    0.4800

  Columns 8 through 10 

    0.5600    0.6400    0.7200

yy5

yy5 =

  Columns 1 through 7 

    1.0000    0.1068    0.2000    0.3000    0.4000    0.5000    0.6000
    0.6168    0.1141    0.2100    0.3100    0.4100    0.5100    0.6100
    0.3882    0.1225    0.2200    0.3200    0.4200    0.5200    0.6200
    0.2534    0.1315    0.2300    0.3300    0.4300    0.5300    0.6300
    0.1755    0.1409    0.2400    0.3400    0.4400    0.5400    0.6400
    0.1322    0.1506    0.2500    0.3500    0.4500    0.5500    0.6500
    0.1099    0.1603    0.2600    0.3600    0.4600    0.5600    0.6600
    0.1003    0.1702    0.2700    0.3700    0.4700    0.5700    0.6700
    0.0984    0.1801    0.2800    0.3800    0.4800    0.5800    0.6800
    0.1011    0.1901    0.2900    0.3900    0.4900    0.5900    0.6900

  Column 8 

    0.7000
    0.7100
    0.7200
    0.7300
    0.7400
    0.7500
    0.7600
    0.7700
    0.7800
    0.7900

y5(index)

ans =

  Columns 1 through 7 

    1.0000    0.0984    0.1603    0.2400    0.3200    0.4000    0.4800

  Columns 8 through 10 

    0.5600    0.6400    0.7200

y6

y6 =

  1.0e+008 *

  Columns 1 through 7 

    0.0000    0.0000    0.0000    0.0000    0.0000    0.0000    0.0002

  Columns 8 through 14 

    0.0008    0.0039    0.0195    0.0977    0.4883    2.4414    0.8138

format long
y5(index)

ans =

  Columns 1 through 4 

   1.00000000000000   0.09837374028455   0.16033759433204   0.24000620287058

  Columns 5 through 8 

   0.32000011396993   0.40000000209405   0.48000000003848   0.56000000000071

  Columns 9 through 10 

   0.64000000000001   0.72000000000000

y6

y6 =

  1.0e+008 *

  Columns 1 through 4 

   0.00000001000000   0.00000005080000   0.00000025160000   0.00000125240000

  Columns 5 through 8 

   0.00000625320000   0.00003125400000   0.00015625480000   0.00078125560000

  Columns 9 through 12 

   0.00390625640000   0.01953125720000   0.09765625800000   0.48828125880000

  Columns 13 through 14 

   2.44140625960000   0.81380209333333

[x5,y5]=rk_wjl('funtest1',0,1,1,0.01,-50);

[x6,y6]=rk_wjl('funtest1',0,1,1,0.08,-50);

figure(7)

plot(x5,y5,x6,y6)

title('\alpha=-50,step with 0.01 and 0.08')

ylim([-1,50])
[x5,y5]=rk_wjl('funtest1',0,1,1,0.01,-50);

[x6,y6]=rk_wjl('funtest1',0,1,1,0.08,-50);

figure(7)

plot(x5,y5,x6,y6)

title('\alpha=-50,step with 0.01 and 0.08')

ylim([-1,50])
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
index=1:8:80;

y5(index)

y6
index=1:8:80;

y5(index)


ans =

  Columns 1 through 4 

   1.00000000000000   0.09837374028455   0.16033759433204   0.24000620287058

  Columns 5 through 8 

   0.32000011396993   0.40000000209405   0.48000000003848   0.56000000000071

  Columns 9 through 10 

   0.64000000000001   0.72000000000000

y6

y6 =

  1.0e+008 *

  Columns 1 through 4 

   0.00000001000000   0.00000005080000   0.00000025160000   0.00000125240000

  Columns 5 through 8 

   0.00000625320000   0.00003125400000   0.00015625480000   0.00078125560000

  Columns 9 through 12 

   0.00390625640000   0.01953125720000   0.09765625800000   0.48828125880000

  Columns 13 through 14 

   2.44140625960000   0.81380209333333

disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
fprintf('%25.15f,%25.15f',y5(index),y6)
fprintf('%25.15f,%25.15f',y5(index),y6)
        1.000000000000000,        0.098373740284549        0.160337594332044,        0.240006202870579        0.320000113969933,        0.400000002094054        0.480000000038476,        0.560000000000707        0.640000000000013,        0.720000000000000        1.000000000000000,        5.079999999999999       25.159999999999993,      125.239999999999880      625.320000000000050,     3125.400000000002400    15625.479999999978000,    78125.559999999707000   390625.639999997740000,  1953125.719999996900000  9765625.799999967200000, 48828125.880000018000000244140625.959999620000000, 81380209.333333343000000fprintf('%25.15f,%25.15f\n',y5(index),y6)
fprintf('%25.15f,%25.15f\n',y5(index),y6)
        1.000000000000000,        0.098373740284549
        0.160337594332044,        0.240006202870579
        0.320000113969933,        0.400000002094054
        0.480000000038476,        0.560000000000707
        0.640000000000013,        0.720000000000000
        1.000000000000000,        5.079999999999999
       25.159999999999993,      125.239999999999880
      625.320000000000050,     3125.400000000002400
    15625.479999999978000,    78125.559999999707000
   390625.639999997740000,  1953125.719999996900000
  9765625.799999967200000, 48828125.880000018000000
244140625.959999620000000, 81380209.333333343000000
clc
fprintf('%25.15f,%25.15f\n',y5(index),y6)
fprintf('%25.15f,%25.15f\n',y5(index),y6)
        1.000000000000000,        0.098373740284549
        0.160337594332044,        0.240006202870579
        0.320000113969933,        0.400000002094054
        0.480000000038476,        0.560000000000707
        0.640000000000013,        0.720000000000000
        1.000000000000000,        5.079999999999999
       25.159999999999993,      125.239999999999880
      625.320000000000050,     3125.400000000002400
    15625.479999999978000,    78125.559999999707000
   390625.639999997740000,  1953125.719999996900000
  9765625.799999967200000, 48828125.880000018000000
244140625.959999620000000, 81380209.333333343000000
[x5,y5]=rk_wjl('funtest1',0,1,1,0.01,-50);

[x6,y6]=rk_wjl('funtest1',0,1,1,0.08,-50);


[x5,y5]=rk_wjl('funtest1',0,1,1,0.01,-50);

[x6,y6]=rk_wjl('funtest1',0,1,1,0.08,-50);

fprintf('%25.15f,%25.15f\n',y5(index),y6)
fprintf('%25.15f,%25.15f\n',y5(index),y6)
        1.000000000000000,        0.098373740284549
        0.160337594332044,        0.240006202870579
        0.320000113969933,        0.400000002094054
        0.480000000038476,        0.560000000000707
        0.640000000000013,        0.720000000000000
        1.000000000000000,        5.079999999999999
       25.159999999999993,      125.239999999999880
      625.320000000000050,     3125.400000000002400
    15625.479999999978000,    78125.559999999707000
   390625.639999997740000,  1953125.719999996900000
  9765625.799999967200000, 48828125.880000018000000
244140625.959999620000000, 81380209.333333343000000
plot(x5,y5,x6,y6)
plot(x5,y5,x6,y6)
y5(index)
y5(index)

ans =

  Columns 1 through 4 

   1.00000000000000   0.09837374028455   0.16033759433204   0.24000620287058

  Columns 5 through 8 

   0.32000011396993   0.40000000209405   0.48000000003848   0.56000000000071

  Columns 9 through 10 

   0.64000000000001   0.72000000000000

y6
y6

y6 =

  1.0e+008 *

  Columns 1 through 4 

   0.00000001000000   0.00000005080000   0.00000025160000   0.00000125240000

  Columns 5 through 8 

   0.00000625320000   0.00003125400000   0.00015625480000   0.00078125560000

  Columns 9 through 12 

   0.00390625640000   0.01953125720000   0.09765625800000   0.48828125880000

  Columns 13 through 14 

   2.44140625960000   0.81380209333333

fprintf('%25.15f\n',y5(index))
fprintf('%25.15f\n',y5(index))
        1.000000000000000
        0.098373740284549
        0.160337594332044
        0.240006202870579
        0.320000113969933
        0.400000002094054
        0.480000000038476
        0.560000000000707
        0.640000000000013
        0.720000000000000
fprintf('%25.15f\n',y6)
fprintf('%25.15f\n',y6)
        1.000000000000000
        5.079999999999999
       25.159999999999993
      125.239999999999880
      625.320000000000050
     3125.400000000002400
    15625.479999999978000
    78125.559999999707000
   390625.639999997740000
  1953125.719999996900000
  9765625.799999967200000
 48828125.880000018000000
244140625.959999620000000
 81380209.333333343000000
fprintf('%25.15f\n',y6(1:10))
fprintf('%25.15f\n',y6(1:10))
        1.000000000000000
        5.079999999999999
       25.159999999999993
      125.239999999999880
      625.320000000000050
     3125.400000000002400
    15625.479999999978000
    78125.559999999707000
   390625.639999997740000
  1953125.719999996900000
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
fprintf('%25.15f,%25.15f\n',y5(index),y6(1:10))
fprintf('%25.15f,%25.15f\n',y5(index),y6(1:10))
        1.000000000000000,        0.098373740284549
        0.160337594332044,        0.240006202870579
        0.320000113969933,        0.400000002094054
        0.480000000038476,        0.560000000000707
        0.640000000000013,        0.720000000000000
        1.000000000000000,        5.079999999999999
       25.159999999999993,      125.239999999999880
      625.320000000000050,     3125.400000000002400
    15625.479999999978000,    78125.559999999707000
   390625.639999997740000,  1953125.719999996900000
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
fprintf('%25.15f\n%25.15f\n',y5(index),y6(1:10))
fprintf('%25.15f\n%25.15f\n',y5(index),y6(1:10))
        1.000000000000000
        0.098373740284549
        0.160337594332044
        0.240006202870579
        0.320000113969933
        0.400000002094054
        0.480000000038476
        0.560000000000707
        0.640000000000013
        0.720000000000000
        1.000000000000000
        5.079999999999999
       25.159999999999993
      125.239999999999880
      625.320000000000050
     3125.400000000002400
    15625.479999999978000
    78125.559999999707000
   390625.639999997740000
  1953125.719999996900000
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
fprintf('%25.15f\n',y5(index))

fprintf('%25.15f\n',y6(1:10))
fprintf('%25.15f\n',y5(index))

        1.000000000000000
        0.098373740284549
        0.160337594332044
        0.240006202870579
        0.320000113969933
        0.400000002094054
        0.480000000038476
        0.560000000000707
        0.640000000000013
        0.720000000000000
fprintf('%25.15f\n',y6(1:10))
        1.000000000000000
        5.079999999999999
       25.159999999999993
      125.239999999999880
      625.320000000000050
     3125.400000000002400
    15625.479999999978000
    78125.559999999707000
   390625.639999997740000
  1953125.719999996900000
fprintf('%25.15f\n',y5(index))
fprintf('%25.15f\n',y5(index))
        1.000000000000000
        0.098373740284549
        0.160337594332044
        0.240006202870579
        0.320000113969933
        0.400000002094054
        0.480000000038476
        0.560000000000707
        0.640000000000013
        0.720000000000000
fprintf('%25.15f\n',y6(1:10))
fprintf('%25.15f\n',y6(1:10))
        1.000000000000000
        5.079999999999999
       25.159999999999993
      125.239999999999880
      625.320000000000050
     3125.400000000002400
    15625.479999999978000
    78125.559999999707000
   390625.639999997740000
  1953125.719999996900000
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
yy5=exact51(x5,-50);
yy5=exact51(x5,-50);
fprintf('%25.15f\n',yy5(index))
fprintf('%25.15f\n',yy5(index))
        1.000000000000000
        0.098315638888734
        0.160335462627903
        0.240006144212353
        0.320000112535175
        0.400000002061154
        0.480000000037751
        0.560000000000692
        0.640000000000013
        0.720000000000000
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
disp(which('rk51test'));
E:\matlabtemp\rk51test.m
clear 'e:\matlabtemp\rk51test.m'
disp(which('exact51'));
E:\matlabtemp\exact51.m
clear 'e:\matlabtemp\exact51.m'
;
diary off

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -