数学建模社区-数学中国
标题:
经典兔子繁殖问题的简单数学建模过程
[打印本页]
作者:
佛自业障
时间:
2018-11-1 10:46
标题:
经典兔子繁殖问题的简单数学建模过程
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
- {6 p2 Z5 J2 g# v1 G$ e( K' W
解:由题意,设每个月的兔子总对数为f(n) ,(n = 1,2,3…)
0 Z2 \) T! n" C5 }% T. R8 N' O& ^+ }
& l0 S1 x1 I; L% `1 q9 C
其中 f(1) = f(2) = 1 (对)
. u, s6 \* g4 o% ?
1 a! X6 P; S& R" u, R
: C# x6 w9 L2 `. E: M0 I. v
( B( s% w9 Z1 A. S9 _. `, V# o9 ?
从第3个月起,每个月兔子的总数f(n) 可以分为:
. }' z n+ {+ S) v" l
0 Q4 E9 @. Z# q8 c/ k* v, ~
第n新出生的兔子 f(newN)
2 u: h7 n; n3 {+ i4 Y3 V1 `
第n月之前出生的兔子 f(beforeN)
- z* ~% [1 Y' S r% ~2 j
即 f(n) = f(newN) + f(beforeN)
3 Z; c' R5 B1 G" w
: E) ]: D b, B |$ X
= f(newN) + f(n-1)
: q0 B! K9 n0 p w3 ?
! K t7 t& x7 k- Y9 z
. |! z, i' W3 d% h8 }9 n
% H' F t" M, L! |! ~) G( N
在第n+1个月里,第n个月新出生的兔子f(newN)还不能繁殖,数量不变;
( w8 h8 L1 x$ W1 j/ `
2 J1 p& n$ p7 j% \( a
而第n个月之前出生的兔子f(beforeN),则可以成倍繁殖,数量X2
& q* I* n' r; ` z4 w0 R
+ _* V9 B4 [' ]
则 f(n+1) = f(newN) + 2(beforeN)X2
# E& d' V/ Q7 c: n9 e
0 r2 v1 `# h* A, [
化简得 f(n+1) = f(n) + f(n-1)
0 I. {2 Y' C* ~6 k
/ N5 {& l# m! a
即 f(n) = f(n-1) + f(n-2) (n=3,4,5,…)
I( O' V, ?% L7 ?; X- [3 k
# x+ G# ^& _; o$ _' @( _6 E
9 E5 E) s. n' T- t( q
' |4 _' ~, `; |
所以,每个月的兔子总对数可以归纳为一个分段函数:
9 N1 f* j5 p4 t
6 {# x" Q7 l3 k& k. H( p
f(n) = 1 (n=1,2)
; A9 `8 x4 p: ]9 D/ ~: P4 Q L
3 Q: P$ s+ r1 u+ H5 M- ~
f(n) = f(n-1) + f(n-2) (n=3,4,5)
- _; e) e7 e* m- w6 W9 J( q
& \: ]9 T4 B/ D2 L
接着编程为递归函数即可解决问题。
3 r* j7 Y+ L% y& j
& r' ], N& W; X( v" u1 e3 @
# b- e! T; ]: ^
% |6 M2 o5 F. p( @+ E3 t
) b% m" h. E' v/ d' P+ R/ B! N
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5