问题: 数学建模关于狐狸与兔子问题 的论文
狐狸与野兔(捕食者与被捕食者)问题
在一个封闭的大草原里生长着狐狸和野兔。在大自然的和谐的坏境中,野免并没有因为有狐狸的捕食而灭绝。因为每一种动物都有它们特有的技巧来保护自己。设t时刻它们的数量分别为 y(t)和 x(t),已知满足以下微分方程组
dy/dt=0.01xy-0.9y
dx/dt=0.4x-0.02xy
若草原上现在有 50000只野兔, 2000只狐狸。请完成下面任务
(1) 分析这两个物种的数量变化关系。
(2) 在什么情况下狐狸和野兔数量出现平衡状态?
(3) 建立另一个微分方程来分析人们对野兔进行捕猎会产生什么后果?对狐狸进行捕猎又会产生什么后果?
解答:
设t时刻它们的数量分别为y(t)和x(t),最好能提供数据,这里假设各100只。
用matlab数值解法:
function rabbit
[t,X]=ode45(@fun,[0 10],[100 100])
plot(t,X)
function d=fun(t,X)
x=X(1);y=X(2);
dy=0.001*x*y-0.9*y;
dx=4*x-0.02*x*y ;
d=[dx;dy];
得到结果:(你用excel绘图吧)
t =
0
0.0251
0.0502
0.0754
0.1005
0.2073
0.3142
0.4210
0.5278
0.6442
0.7606
0.8769
0.9933
1.0863
1.1792
1.2722
1.3652
1.4582
1.5512
1.6441
1.7371
1.7720
1.8069
1.8418
1.8767
1.9116
1.9465
1.9813
2.0162
2.0640
2.1117
2.1594
2.2072
2.2547
2.3022
2.3497
2.3972
2.4439
2.4906
2.5373
2.5840
2.6480
2.7120
2.7760
2.8400
2.9225
3.0050
3.0875
3.1700
3.2615
3.3531
3.4446
3.5361
3.6735
3.8110
3.9484
4.0858
4.2591
4.4324
4.6058
4.7791
4.9210
5.0629
5.2048
5.3468
5.4280
5.5092
5.5905
5.6717
5.7096
5.7474
5.7853
5.8232
5.8610
5.8989
5.9368
5.9746
6.0276
6.0805
6.1334
6.1863
6.2383
6.2903
6.3423
6.3943
6.4371
6.4800
6.5228
6.5657
6.6200
6.6744
6.7288
6.7831
6.8650
6.9468
7.0286
7.1104
7.1922
7.2741
7.3559
7.4377
7.5505
7.6634
7.7763
7.8891
8.0776
8.2660
8.4544
8.6429
8.8032
8.9636
9.1239
9.2843
9.3717
9.4590
9.5464
9.6338
9.6689
9.7040
9.7392
9.7743
9.8094
9.8445
9.8797
9.9148
9.9361
9.9574
9.9787
10.0000
X =
1.0e+003 *
0.1000 0.1000
0.1052 0.0980
0.1108 0.0961
0.1168 0.0942
0.1232 0.0924
0.1563 0.0852
0.2012 0.0788
0.2621 0.0734
0.3453 0.0688
0.4706 0.0650
0.6465 0.0624
0.8922 0.0614
1.2309 0.0625
1.5836 0.0656
2.0252 0.0713
2.5545 0.0809
3.1433 0.0970
3.7412 0.1222
4.1562 0.1633
4.1951 0.2235
3.7563 0.2986
3.4701 0.3283
3.1411 0.3571
2.7886 0.3838
2.4321 0.4074
2.0896 0.4272
1.7732 0.4428
1.4904 0.4542
1.2447 0.4616
0.9675 0.4660
0.7501 0.4651
0.5825 0.4599
0.4555 0.4515
0.3604 0.4411
0.2881 0.4291
0.2328 0.4163
0.1905 0.4029
0.1586 0.3894
0.1337 0.3760
0.1142 0.3626
0.0987 0.3494
0.0824 0.3317
0.0704 0.3147
0.0614 0.2983
0.0547 0.2827
0.0485 0.2636
0.0443 0.2456
0.0417 0.2289
0.0403 0.2132
0.0399 0.1971
0.0407 0.1822
0.0426 0.1684
0.0456 0.1557
0.0528 0.1385
0.0639 0.1234
0.0803 0.1101
0.1045 0.0985
0.1523 0.0862
0.2294 0.0761
0.3569 0.0685
0.5693 0.0634
0.8367 0.0618
1.2421 0.0629
1.8286 0.0684
2.6081 0.0822
3.1250 0.0964
3.6366 0.1180
4.0532 0.1502
4.2464 0.1958
4.2186 0.2222
4.1034 0.2514
3.9004 0.2828
3.6188 0.3152
3.2760 0.3472
2.8970 0.3772
2.5071 0.4038
2.1293 0.4261
1.6555 0.4488
1.2620 0.4621
0.9526 0.4671
0.7188 0.4654
0.5473 0.4589
0.4197 0.4491
0.3244 0.4369
0.2542 0.4232
0.2110 0.4113
0.1770 0.3990
0.1500 0.3866
0.1285 0.3742
0.1072 0.3586
0.0910 0.3433
0.0785 0.3285
0.0688 0.3140
0.0580 0.2932
0.0507 0.2736
0.0456 0.2552
0.0422 0.2379
0.0402 0.2218
0.0393 0.2067
0.0393 0.1927
0.0402 0.1796
0.0430 0.1630
0.0475 0.1480
0.0543 0.1345
0.0638 0.1223
0.0888 0.1047
0.1303 0.0902
0.2014 0.0785
0.3250 0.0695
0.4961 0.0643
0.7720 0.0615
1.2078 0.0620
1.8628 0.0685
2.3274 0.0761
2.8637 0.0882
3.4313 0.1073
3.9391 0.1368
4.0958 0.1527
4.2073 0.1712
4.2619 0.1925
4.2490 0.2166
4.1610 0.2433
3.9961 0.2721
3.7591 0.3022
3.4617 0.3324
3.2593 0.3503
3.0458 0.3675
2.8260 0.3838
2.6046 0.3990
用matlab求解,很简单。
function hh
format short g
[t,X]=ode45(@func,0:0.001:0.015,[50000,2000])
plot(t,X)
test=abs((X(:,1)-X(:,2)));
[y,I]=min(test)
[t(I),X(I,1),X(I,2)]
%T_bal=0.005973
function dX=func(t,X)
x=X(1);y=X(2);
dy=0.01*x*y-0.9*y;
dx=0.4*x-0.02*x*y;
dX=[dx,;dy];
结果:
t =
0
0.001
0.002
0.003
0.004
0.005
0.006
0.007
0.008
0.009
0.01
0.011
0.012
0.013
0.014
0.015
X =
50000 2000
47502 3256.5
43744 5140.8
38513 7758.9
31955 11037
24732 14642
17824 18085
12053 20956
7752.9 23089
4811.7 24539
2917 25465
1743.3 26029
1032.3 26361
608.24 26549
357.6 26651
209.82 26701
y =
261.13
I =
7
ans =
0.006 17824 18085
版权及免责声明
1、欢迎转载本网原创文章,转载敬请注明出处:侨谊留学(www.goesnet.org);
2、本网转载媒体稿件旨在传播更多有益信息,并不代表同意该观点,本网不承担稿件侵权行为的连带责任;
3、在本网博客/论坛发表言论者,文责自负。