斐波那契数列,“斐波那契数列”的发明者,是意大利数学家列昂纳多•斐波那契(Leonardo Fibonacci,生于公元1170年,卒于1240年。籍贯大概是比萨)。他被人称作“比萨的列昂纳多”。1202年,他撰写了《珠算原理》(Liber Abaci)一书。他是之一个研究了印度和 *** 数学理论的欧洲人。他的父亲被比萨的一家商业团体聘任为外交领事,派驻地点相当于今日的阿尔及利亚地区,列昂纳多因此得以在一个 *** 老师的指导下研究数学。他还曾在埃及、叙利亚、希腊、西西里和普罗旺斯研究数学。
斐波那契数列指的是这样一个数列:1,1,2,3,5,8,13,21……
这个数列从第三项开始,每一项都等于前两项之和。它的通项公式为:(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
很有趣的是:这样一个完全是自然数的数列,通项公式居然是用无理数来表达的。
【该数列有很多奇妙的属性】
比如:随着数列项数的增加,前一项与后一项之比越逼近黄金分割0.6180339887……
还有一项性质,从第二项开始,每个奇数项的平方都比前后两项之积多1,每个偶数项的平方都比前后两项之积少1。
如果你看到有这样一个题目:某人把一个8*8的方格切成四块,拼成一个5*13的长方形,故作惊讶地问你:为什么64=65?其实就是利用了斐波那契数列的这个性质:5、8、13正是数列中相邻的三项,事实上前后两块的面积确实差1,只不过后面那个图中有一条细长的狭缝,一般人不容易注意到。
如果任意挑两个数为起始,比如5、-2.4,然后两项两项地相加下去,形成5、-2.4、2.6、0.2、2.8、3、5.8、8.8、14.6……等,你将发现随着数列的发展,前后两项之比也越来越逼近黄金分割,且某一项的平方与前后两项之积的差值也交替相差某个值。
斐波那契数列的第n项同时也代表了 *** {1,2,...,n}中所有不包含相邻正整数的子集个数。
【斐波那契数列别名】
斐波那契数列又因数学家列昂纳多•斐波那契以兔子繁殖为例子而引入,故又称为“兔子数列”。
斐波那契数列
一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子?
我们不妨拿新出生的一对小兔子分析一下:
之一个月小兔子没有繁殖能力,所以还是一对;
两个月后,生下一对小兔民数共有两对;
三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;
------
依次类推可以列出下表:
经过月数:0123456789101112
兔子对数:1123581321345589144233
表中数字1,1,2,3,5,8---构成了一个数列。这个数列有关十分明显的特点,那是:前面相邻两项之和,构成了后一项。
这个数列是意大利中世纪数学家斐波那契在<算盘全书>中提出的,这个级数的通项公式,除了具有a(n+2)=an+a(n+1)/的性质外,还可以证明通项公式为:an=1/√[(1+√5/2) n-(1-√5/2) n](n=1,2,3.....)
【斐波那挈数列通项公式的推导】
斐波那契数列:1,1,2,3,5,8,13,21……
如果设F(n)为该数列的第n项(n∈N+)。那么这句话可以写成如下形式:
F(1)=F(2)=1,F(n)=F(n-1)+F(n-2) (n≥3)
显然这是一个线性递推数列。
通项公式的推导 *** 一:利用特征方程
线性递推数列的特征方程为:
X^2=X+1
解得
X1=(1+√5)/2, X2=(1-√5)/2.
则F(n)=C1*X1^n + C2*X2^n
∵F(1)=F(2)=1
∴C1*X1 + C2*X2
C1*X1^2 + C2*X2^2
解得C1=1/√5,C2=-1/√5
∴F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}【√5表示根号5】
通项公式的推导 *** 二:普通 ***
设常数r,s
使得F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]
则r+s=1, -rs=1
n≥3时,有
F(n)-r*F(n-1)=s*[F(n-1)-r*F(n-2)]
F(n-1)-r*F(n-2)=s*[F(n-2)-r*F(n-3)]
F(n-2)-r*F(n-3)=s*[F(n-3)-r*F(n-4)]
……
F(3)-r*F(2)=s*[F(2)-r*F(1)]
将以上n-2个式子相乘,得:
F(n)-r*F(n-1)=[s^(n-2)]*[F(2)-r*F(1)]
∵s=1-r,F(1)=F(2)=1
上式可化简得:
F(n)=s^(n-1)+r*F(n-1)
那么:
F(n)=s^(n-1)+r*F(n-1)
= s^(n-1) + r*s^(n-2) + r^2*F(n-2)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) + r^3*F(n-3)
……
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)*F(1)
= s^(n-1) + r*s^(n-2) + r^2*s^(n-3) +……+ r^(n-2)*s + r^(n-1)
(这是一个以s^(n-1)为首项、以r^(n-1)为末项、r/s为公差的等比数列的各项的和)
=[s^(n-1)-r^(n-1)*r/s]/(1-r/s)
=(s^n - r^n)/(s-r)
r+s=1, -rs=1的一解为 s=(1+√5)/2, r=(1-√5)/2
则F(n)=(1/√5)*{[(1+√5)/2]^n - [(1-√5)/2]^n}
【C语言程序】
main()
{
long fib[40] = {1,1};
int i;
for(i=2;i40;i++)
{
fib[i ] = fib[i-1]+fib[i-2];
}
for(i=0;i40;i++)
{
printf("F%d==%d\n", i, fib);
}
return 0;
}
【Pascal语言程序】
var
fib: array[0..40]of longint;
i: integer;
begin
fib[0] := 1;
fib[1] := 1;
for i:=2 to 39 do
fib[i ] := fib[i-1] + fib[i-2];
for i:=0 to 39 do
write('F', i, '=', fib[i ]);
end.
【数列与矩阵】
对于斐波那契数列1,1,2,3,5,8,13…….有如下定义
F(n)=f(n-1)+f(n-2)
F(1)=1
F(2)=1
对于以下矩阵乘法
F(n+1) = 1 1 * F(n)
F(n) 1 0 F(n-1)
它的运算就是
F(n+1)=F(n)+F(n-1)
F(n)=F(n)
可见该矩阵的乘法完全符合斐波那契数列的定义
设1 为B,1 1为C
1 1 0
可以用迭代得到:
斐波那契数列的某一项F(n)=(BC^(n-2))1
这就是斐波那契数列的矩阵乘法定义.
另矩阵乘法的一个运算法则A¬^n(n为偶数)=A^(n/2)* A^(n/2).
因此可以用递归的 *** 求得答案.
时间效率:O(logn),比模拟法O(n)远远高效。
代码(PASCAL)
{变量matrix是二阶方阵, matrix是矩阵的英文}
program fibonacci;
type
matrix=array[1..2,1..2] of qword;
var
c,cc:matrix;
n:integer;
function multiply(x,y:matrix):matrix;
var
temp:matrix;
begin
temp[1,1]:=x[1,1]*y[1,1]+x[1,2]*y[2,1];
temp[1,2]:=x[1,1]*y[1,2]+x[1,2]*y[2,2];
temp[2,1]:=x[2,1]*y[1,1]+x[2,2]*y[2,1];
temp[2,2]:=x[2,1]*y[1,2]+x[2,2]*y[2,2];
exit(temp);
end;
function getcc(n:integer):matrix;
var
temp:matrix;
t:integer;
begin
if n=1 then exit(c);
t:=n div 2;
temp:=getcc(t);
temp:=multiply(temp,temp);
if odd(n) then exit(multiply(temp,c))
else exit(temp);
end;
procedure init;
begin
readln(n);
c[1,1]:=1;
c[1,2]:=1;
c[2,1]:=1;
c[2,2]:=0;
if n=1 then
begin
writeln(1);
halt;
end;
if n=2 then
begin
writeln(1);
halt;
end;
cc:=getcc(n-2);
end;
procedure work;
begin
writeln(cc[1,1]+cc[1,2]);
end;
begin
init;
work;
end.
【数列值的另一种求法】
F(n) = [ (( sqrt ( 5 ) + 1 ) / 2) ^ n ]
其中[ x ]表示取距离 x 最近的整数。
【数列的前若干项】
1 1
2 2
3 3
4 5
5 8
6 13
7 21
8 34
9 55
10 89
11 144
12 233
13 377
14 610
15 987
16 1597
17 2584
18 4181
19 6765
20 10946
斐波纳契时间周期线是以斐波纳契的时间间隔1, 2, 3, 5, 8, 13, 21, 34等画出的许多垂直线。假定主要的价格变化期望在这些线附近。运用确定的单位时间间隔长度的两点来创建此工具。根据斐波纳契数列,全部其他的线是在此单位间隔的基础上确定的。
高手谈不上!算手痒相互交流吧!我谈点斐波那契数列的个人观点吧:1、1、2、3、5、8、13、21.....这样的前数家后数等于下一个数的数字组合在很多领域都有运用。当然股市也有很多的人士运用。他的神奇在于前一项与后一项之比越来越逼近黄金分割。这在股市上也是很多人热衷的技术运用。甚至在国外还有专门研究的机构。我个人的看法是,它和波浪理论一样。在起算点的把握上存在很大的不确定。这样很难把握住股市的时间仓。加上国内股市的政策因数过多让这个神奇的数字在研判上打了很大的折扣。国内很多运用量价关系来研判短期的。在中长期上很多会结合黄金分割。但真的用斐波那契数列的的确不多。我知道有朋友把ma改成斐波那契数列的数值的。不过我没有研究过!作为研究可以试试!不过个人建议不要把实验阶段的指标用于实际操作!呵呵!用空大家交流!
通达信炒股软件是一款定位于提供多功能服务的证券信息平台,由深圳财富趋势科技股份有限公司设计的一款移动证券软件,集沪深、港股、美股、期货、期权、基金、宏观以及外汇等市场行情于一体,适用于所有投资者。通达信软件系统中自带很多指标公式,可根据每个人炒股方式来选择和编写,短期可用波版段、超买超卖类型的,长期可用大势、趋势类型的,您可以结合自身的情况进行选择。
温馨提示:
1、以上解释仅供参考,不作任何建议。
2、入市有风险,投资需谨慎。
应答时间:2021-12-17,最新业务变化请以平安银行官网公布为准。
斐波那契数列应用到股市中具有神奇的效果。
具体数列为:数字1、1、2、3、5、8、13、21、34、55、89、144......前面两数相加得后面一个数。 (在性质上菲波纳奇数列与黄金分割率不谋而合:它相邻两个数据的比值都接近于0.618;间割两个数据的比值都接近0.382;并且任意两个数据的比值都是黄金分割率的关联数据。菲波纳奇时间周期线即是利用该数列来预测价格发展的时间目标。) 1,斐波那契数字在日循环周期中更大上升天数为55天,34天,21天。 2,斐波那契数字在周循环周期中更大上升周数为34周,21周,13周。 3,斐波那契数字在月循环周期中更大上升月数为13月,8月,5月,3月。 推测出的变盘日期如果与周的日期重叠,应视为重要的时间之窗。再与月的相吻合市场就会发生重大转折! 2。黄金分割位数字的计算是: 1、相邻的两个数互除,得数约等于0.618(记住是相邻的)。 2、相隔的两个数互除,得数约等于0.382和2.618(记住是相隔的)。 3、高位数除相邻的低位数,得数约等于1.618。 4、0.382 X 0.618 = 0.236。 5、通常所用的黄金分割率为: 0.236、 0.382、0.5、0.618、0.809、1.236、1.382、1.618、2、2.618、3.236、4.236、5.236、6.854。
黄金分割率的演算同斐波那契数字密不可分。斐波那契数字同黄金分割位是相互印证的关系。斐波那契数字表现的是时间的长短,黄金分割位提示的是空间上升下降的幅度。
#include stdio.h
main( ){
long f1,f2,f;
int i,n;
scanf("%d",n);
f1=f2=1;
if(n=2)
f=1;
else
for(i=3;i=n;i++){
f=f1+f2;
f1=f2;
f2=f;
}
printf("%ld\n",f);
}
波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的 *** 定义:
F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)在现代物理、准晶体结构、化学等领域,斐波纳契数列都有直接的应用,为此,美国数学会从1963起出版了以《斐波纳契数列季刊》为名的一份数学杂志,用于专门刊载这方面的研究成果。