Matlab求解三角函数的周期

来源:百度知道 编辑:UC知道 时间:2024/06/15 08:10:11
如题,f(x)=a1*sin(b1*x+c1) + a2*sin(b2*x+c2) + a3*sin(b3*x+c3) + a4*sin(b4*x+c4) + a5*sin(b5*x+c5) + a6*sin(b6*x+c6) + a7*sin(b7*x+c7) + a8*sin(b8*x+c8)。令f(x)=f(x+T)。求T,即f(x)的周期。全部参数都有具体的值,恕不列出。请高手给出Matlab程序,附上T的表达式。在下谢了先!
请看仔细:f(x)是由8个sin函数组成的~! b1----b8分别是4172,19690,5403,21250,14900,39460,27360,44120。拜托了~!!!

a1*sin(b1*x+c1) 周期为 T1=2*pi/b1;
...
a8*sin(b8*x+c8) 周期为 T8=2*pi/b8;
f的周期为T1,...,T8的最小公倍数
即为2*pi/gcd(b1,...,b8)
gcd(b1,...,b8)=1
故T=2*pi;
a=[4172,19690,5403,21250,14900,39460,27360,44120];
g=a(1);
for i=1:8
g=gcd(g,a(i))
end
disp(2*pi/g)

f(x)=a1*sin(b1*x+c1)
f(x+T)=a1*sin[b1*(x+T)+c1]=a1*sin[b1*x+b1*T+c1]=a1*sin[b1*x+(b1*T+c1)]

而f(x)=f(x+T)
则a1*sin(b1*x+c1)=a1*sin[b1*x+(b1*T+c1)]
根据sin函数的周期性质,应该就能够确定T了吧

b1*x + c1 = b1*x + 2*PI*n + b1*T + c1
n为整数
T = n*2*PI/b1

//
//补充如下
//

T是 2*PI/(1/b1,1/b2,......,1/b8的公倍数)
过程没有,从函数图形的叠加上考虑的