📄 klobuchar2.m
字号:
% function klobuchar(t,fm)
clear;
%t=linspace(100,86000,100);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%变量初始值设置
t=rand(1,100)*86000;
%fm=linspace(10,50,100);
fm=rand(1,100)*50;
%fm=linspace(20,80,71);
x0=[
1
0.1
0.05
0.005
0.002
0.0000005
5000
100
20
1
1
-3
-0.5
-0.01073072
]
A1=x0(1,1);%%%%%%%%%%%%%更新x0的值
B=x0(2,1);
alpha0=x0(3,1);
alpha1=x0(4,1);
alpha2=x0(5,1);
alpha3=x0(6,1);
beta0=x0(7,1);
beta1=x0(8,1);
beta2=x0(9,1);
beta3=x0(10,1);
gama0=x0(11,1);
gama1=x0(12,1);
gama2=x0(13,1);
gama3=x0(14,1);
y=zeros(100,1);
H=zeros(100,14);
dx=zeros(14,1);
x00=zeros(14,100);
x0=[A1;B;alpha0;alpha1;alpha2;alpha3;beta0;beta1;beta2;beta3;gama0;gama1;gama2;gama3];
delta=zeros(1,100);
shigema=zeros(1,100);
for i=1:100;
f0(i,1)=It(A1,B,alpha0,alpha1,alpha2,alpha3,beta0,beta1,beta2,beta3,gama0,gama1,gama2,gama3,t(1,i),fm(1,i));%%%%%%%%%%计算的初值
f(i,1)=(rand(1)-0.5)+It(A1,B,alpha0,alpha1,alpha2,alpha3,beta0,beta1,beta2,beta3,gama0,gama1,gama2,gama3,t(1,i),fm(1,i));%%%%%%%%%%测量值
end
for j=1:100;
x0=x0+dx;
H=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
A1=x0(1,1);%%%%%%%%%%%%%更新x0的值
B=x0(2,1);
alpha0=x0(3,1);
alpha1=x0(4,1);
alpha2=x0(5,1);
alpha3=x0(6,1);
beta0=x0(7,1);
beta1=x0(8,1);
beta2=x0(9,1);
beta3=x0(10,1);
gama0=x0(11,1);
gama1=x0(12,1);
gama2=x0(13,1);
gama3=x0(14,1);
x0=[A1;B;alpha0;alpha1;alpha2;alpha3;beta0;beta1;beta2;beta3;gama0;gama1;gama2;gama3];
for k=1:14;%%%%%%%%%%%%%%%%%%%储存每次迭代得到的x0
x00(k,j)=x0(k,1);
end
for i=1:100;
A2=a2(alpha0,alpha1,alpha2,alpha3,fm(1,i));
A3=a3(gama0,gama1,gama2,gama3,fm(1,i));
A4=a4(beta0,beta1,beta2,beta3,fm(1,i));
x=2*pi*(t(1,i)-A3)/A4;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A1
H(i,1)=1;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% B
H(i,2)=-fm(1,i);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% alpha0
if (A2>=0)&((abs(x)<1.57))
H(i,3)=cos(2*pi*(t(1,i)-A3)/A4);
else H(i,3)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% alpha1
if (A2>=0)&((abs(x)<1.57))
H(i,4)=fm(1,i)*cos(2*pi*(t(1,i)-A3)/A4);
else H(i,4)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% alpha2
if (A2>=0)&((abs(x)<1.57))
H(i,5)=fm(1,i)*fm(1,i)*cos(2*pi*(t(1,i)-A3)/A4);
else H(i,5)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% alpha3
if (A2>=0)&((abs(x)<1.57))
H(i,6)=fm(1,i)*fm(1,i)*fm(1,i)*cos(2*pi*(t(1,i)-A3)/A4);
else H(i,6)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beta0
if (A4>=72000)&((abs(x)<1.57))&(A4<172800)
H(i,7)=2*A2*pi*(t(1,i)-A3)*sin(2*pi*(t(1,i)-A3)/A4)/A4/A4;
else H(i,7)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beta1
if (A4>=72000)&((abs(x)<1.57))&(A4<172800)
H(i,8)=2*A2*pi*(t(1,i)-A3)*sin(2*pi*(t(1,i)-A3)/A4)/A4/A4*fm(1,i);
else H(i,8)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beta2
if (A4>=72000)&((abs(x)<1.57))&(A4<172800)
% H(i,9)=2*A2*pi*(t-A3)*sin(2*pi*(t-A3)/A4)/A4/A4*fm(1,i)*fm(1,i);
H(i,9)=2*A2*pi*(t(1,i)-A3)*sin(2*pi*(t(1,i)-A3)/A4)/A4/A4*fm(1,i)*fm(1,i);
else H(i,9)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% beta3
if (A4>=72000)&((abs(x)<1.57))&(A4<172800)
% H(i,10)=2*A2*pi*(t-A3)*sin(2*pi*(t-A3)/A4)/A4/A4*fm(1,i)*fm(1,i)*fm(1,i);
H(i,10)=2*A2*pi*(t(1,i)-A3)*sin(2*pi*(t(1,i)-A3)/A4)/A4/A4*fm(1,i)*fm(1,i)*fm(1,i);
else H(i,10)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gama0
%if (43200<=A3)&(A3<=55800)&(A4/4>abs(t-A3))
%H(i,11)=2*pi*A2*sin(2*pi*(t-A3)/A4);
H(i,11)=2*pi*A2*sin(2*pi*(t(1,i)-A3)/A4);
%else H(i,11)=0;
%end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gama1
if (43200<=A3)&(A3<=55800)&((abs(x)<1.57))
H(i,12)=2*pi*A2*sin(2*pi*(t(1,i)-A3)/A4)*fm(1,i);
else H(i,12)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gama2
if (43200<=A3)&(A3<=55800)&((abs(x)<1.57))
%H(i,13)=2*pi*A2*sin(2*pi*(t-A3)/A4)*fm(1,i)*fm(1,i);
H(i,13)=2*pi*A2*sin(2*pi*(t(1,i)-A3)/A4)*fm(1,i)*fm(1,i);
else H(i,13)=0;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% gama3
if (43200<=A3)&(A3<=55800)&((abs(x)<1.57))
%H(i,14)=2*pi*A2*sin(2*pi*(t-A3)/A4)*fm(1,i)*fm(1,i)*fm(1,i);
H(i,14)=2*pi*A2*sin(2*pi*(t(1,i)-A3)/A4)*fm(1,i)*fm(1,i)*fm(1,i);
else H(i,14)=0;
end
end
H;
for i=1:100;
f0(i,1)=It(A1,B,alpha0,alpha1,alpha2,alpha3,beta0,beta1,beta2,beta3,gama0,gama1,gama2,gama3,t(1,i),fm(1,i));
%f(i,1)=rand(1)*100+f0(i,1);
end
y=f-f0;
dx=inv(H'*H)*H'*y;
delta(1,j)=sqrt((y-H*x0)'*(y-H*x0)/(1000-15));
if j>=2
shigema(1,j)=abs(delta(1,j)-delta(1,j-1))/delta(1,j-1);
end
if (j>=2)&((abs(delta(1,j)-delta(1,j-1))/delta(1,j-1))<0.01)
break;
end
end
ff=f;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -