• 大小: 21.48MB
    文件类型: .zip
    金币: 2
    下载: 3 次
    发布日期: 2023-06-13
  • 语言: Matlab
  • 标签: MATLAB  

资源简介

书籍配套的源程序代码 《卡尔曼滤波原理及应用-MATLAB仿真》程序

资源截图

代码片段和文件信息

function [sysx0strts]=kalman(txuflagk)
switch flag
case 0 %初始化设置
[sysx0strts]=mdlInitializeSizes; 
case 3
sys=mdlOutputs(txuk);
case {1249}
sys=[];
otherwise
error([‘Unhandled flag=‘num2str(flag)]);
end
%=====================================================
% mdlInitializeSizes进行初始化设置系统变量的大小
%=====================================================
function [sysx0strts]=mdlInitializeSizes
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=0;
sizes.NumOutputs=2;
sizes.NumInputs=3;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=[0 0 0 0 0]‘;
str=[];
ts=[-10];
%=====================================================
% 当flag=3时计算系统的输出变量:返回三个状态
%=====================================================
function sys=kalman(txuk)
R=1;
L=0.02;
M=-0.0067;
Ls=L-M;
% J=0.005;
k=0.382;
T=0.002;%T=0&x5-per=pi/3&x5-per=2*pi/3&x5-per=pi&x5-per=4*pi/3&x5-per=5*pi/3&x5-per<2*pi
q=5*pi/3;
a11=-2/3;a12=4/pi;
a21=-2/3;a22=-2/pi;
a31=4/3;a32=-2/pi;
end
A=[1-R*T/Ls 0 0 k*T*(a11+a12*(x5-q-per))/Ls 0;0 1-R*T/Ls 0 k*T*(a21+a22*(x5-q-per))/Ls0;...001-R*T/Ls k*T*(a31+a32*(x5-q-per))/Ls 0;0 0 0 1 0;0 0 0 T 1];
A1=Jacobian(A*XX‘);
B=[T/(3*Ls) -T/(3*Ls) 0 0 0;0 T/(3*Ls) -T/(3*Ls) 0 0;...
-T/(3*Ls) 0 T/(3*Ls) 0 0]‘;
C=[1 0 0 0 0;0 1 0 0 0;0 0 1 0 0];
P=[0.01 0.01 0.01 10 1];
R=diag([0.02 0.02 0.02]);
Q=diag([0.04 0.04 0.04 0.05 0.02]);
Xhat1=A*x+B*u;
Phat1=A1*P*A1‘+Q;
K=Phat1*C‘*inv[C*Phat1*C‘+R];
xhat=[eye(5)-K*C]*(A*X+H*u)+K*X[[1:3];];
Phat=[eye(5)-K*C]*Phat1;
sys(11)=x4;
sys(21)=x5;

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-16 14:53  《卡尔曼滤波原理及应用-MATLAB仿真》程序\
     文件       98548  2018-03-16 14:49  《卡尔曼滤波原理及应用-MATLAB仿真》程序\batterysoc.mdl
     文件      101258  2018-03-16 14:53  《卡尔曼滤波原理及应用-MATLAB仿真》程序\batterysoc.mdl.autosave
     文件        1628  2018-03-16 14:49  《卡尔曼滤波原理及应用-MATLAB仿真》程序\kalman.m
     文件      107125  2015-07-06 21:39  《卡尔曼滤波原理及应用-MATLAB仿真》程序\《卡尔曼滤波原理及应用-MATLAB仿真》封面.jpg
     文件      653116  2015-07-07 17:42  《卡尔曼滤波原理及应用-MATLAB仿真》程序\卡尔曼滤波原理及应用(简介).pdf
     目录           0  2015-07-11 10:32  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第一章\
     文件          85  2015-07-11 10:35  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第一章\说明.txt
     目录           0  2015-07-11 14:42  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\
     目录           0  2015-07-11 10:32  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.2.1\
     文件        1802  2015-06-25 18:43  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.2.1\sfuntmpl.m
     目录           0  2015-07-11 14:30  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.1\
     文件       17873  2014-06-08 09:56  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.1\DistanceMessurement.mdl
     文件        2001  2015-07-11 14:37  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.1\SimuKalmanFilter.m
     目录           0  2015-07-11 14:46  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\
     文件        1203  2015-06-25 18:55  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\DeviationAnalysis.m
     文件        1906  2015-07-11 14:46  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\KalmanFilter.m
     文件        1535  2015-06-25 18:47  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\SimuStateFunction.m
     文件       27157  2014-06-09 16:25  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\System_TargetTracking_KF_Simulation.mdl
     文件         174  2015-07-11 14:46  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\Xkalman.mat
     文件         224  2015-07-11 14:46  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\Xstate.mat
     文件         171  2015-07-11 14:46  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.3.3\Zobserv.mat
     目录           0  2015-07-11 10:32  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\
     文件        1188  2015-06-25 18:55  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\DataAnalysis.m
     文件        1957  2015-07-11 14:50  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\EKF.m
     文件          71  2015-06-25 18:49  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\ffun.m
     文件        1358  2015-06-25 18:50  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\GetDistanceFunction.m
     文件          67  2015-06-25 18:50  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\hfun.m
     文件        1383  2015-06-25 18:50  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\SimuStateFunction.m
     文件       23484  2014-06-16 14:19  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.1\System_TargetTracking_EKF_Simulation.mdl
     目录           0  2015-07-11 14:52  《卡尔曼滤波原理及应用-MATLAB仿真》程序\第七章\7.4.2\
............此处省略189个文件信息

评论

共有 条评论