MATLAB程序 y的赋值总是出问题,在后面求得的结果中y还是一个变量而不是一个值,求帮助
symsy;a=[101;110.5;001];%externalobservationsinformationb=[110;010;10.51];c=[0.0100;0...
syms y;
a=[1 0 1;1 1 0.5;0 0 1]; % external observations information
b=[1 1 0;0 1 0;1 0.5 1];
c=[0.01 0 0;0 0 0;0 0 0];
x=[0;0;0];
p0=[1 0 0;0 1 0;0 0 1]; %协方差矩阵初始值
h=[0 1 0];
H=[0;1;0];
r=0.09; %observations noise m^2
I=eye(3:3);
cell={};
for k=1:20
p1=a*p0*b+c;
K=p1*H/(h*p1*H+r);
if mod(k,3)==0
P=(I-K*h)*p1*(I-K*h)'+K*r*K';
y=0.5*(1+0.01/k)*k^2-0.09/k;
p1=P;
end
x1=a*x;
x2=x1+y.*K;
cell{k}=x2;
x=x2;
p0=p1;
end
X = zeros(1,20);
V = zeros(1,20);
B = zeros(1,20);
for i=1:20
X(1,i)=cell(i,1);
V(1,i)=cell(i,2);
B(1,i)=cell(i,3);
end 展开
a=[1 0 1;1 1 0.5;0 0 1]; % external observations information
b=[1 1 0;0 1 0;1 0.5 1];
c=[0.01 0 0;0 0 0;0 0 0];
x=[0;0;0];
p0=[1 0 0;0 1 0;0 0 1]; %协方差矩阵初始值
h=[0 1 0];
H=[0;1;0];
r=0.09; %observations noise m^2
I=eye(3:3);
cell={};
for k=1:20
p1=a*p0*b+c;
K=p1*H/(h*p1*H+r);
if mod(k,3)==0
P=(I-K*h)*p1*(I-K*h)'+K*r*K';
y=0.5*(1+0.01/k)*k^2-0.09/k;
p1=P;
end
x1=a*x;
x2=x1+y.*K;
cell{k}=x2;
x=x2;
p0=p1;
end
X = zeros(1,20);
V = zeros(1,20);
B = zeros(1,20);
for i=1:20
X(1,i)=cell(i,1);
V(1,i)=cell(i,2);
B(1,i)=cell(i,3);
end 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询