报错内容:Error in 'UKF_myself/S-Function' while executing MATLAB S-function 'UKFyself', flag = 2 (update), at time 0.0.
debug session was interrupted.

翻译过来就是,flag=2,输入参数数目不足

function [sys,x0,str,ts] = UKFyself(t,x,u,flag)
global Zdist
global Xukf
global Q
global R
Q=eye(4); %过程噪声协方差矩阵
R=0.01*eye(4);%测量噪声的协方差矩阵
switch flag
  case 0
    [sys,x0,str,ts]=mdlInitializeSizes;
  case 2
    sys=mdlUpdate(t,x,u,Q,R);
  case 3
    sys=mdlOutputs(t,x,u);
  case {1,4}
    sys=[];
  case 9
 save('Xukf','Xukf');
        save('Zdist','Zdist');
  otherwise
   error(['Unhandled flag=', num2str(flag)]);
end
%带X的矩阵中只有u_fl,u_fr,u_rl,u_rr
% 观测函数调用格式b(1,1,1,1,1,1,1,1,pi/6,a(1,1,1,1))
function [sys,x0,str,ts]=mdlInitializeSizes
sizes = simsizes;
sizes.NumContStates  = 0;
sizes.NumDiscStates  = 4;%离散状态变量的个数
sizes.NumOutputs     = 4;%输出是4个路面附着系数
sizes.NumInputs      = 9;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;  
sys = simsizes(sizes);
x0  = [0.8;0.8;0.8;0.8];%路面附着系数的初始值,调试成功后试一下全写0行不行
str = [];
ts  = [-1 0];
global Zdist; %观测信息
Zdist=[];
global Xukf; 
Xukf=x0;
global P;
P=0.01*eye(4); 
function sys=mdlUpdate(t,x,u,Q,R)%sys=x(n+1)=A*x(n)+B*u(n)
global Xukf;
global P;
global Zdist;
F_xfl  =  u(1);
F_xfr  =  u(2);
F_xrl  =  u(3);
F_xrr  =  u(4);
F_yfl  =  u(5);
F_yfr  =  u(6);
F_yrl  =  u(7);
F_yrr  =  u(8);
delta_f= (pi/180)*u(9);
Z=b(F_xfl,F_yfl,F_xfr,F_yfr,F_xrl,F_yrl,F_xrr,F_yrr,delta_f)*x;
Zdist=[Zdist,Z];%保存观测信息
Xin=Xukf(:,length(Xukf(1,:)));
a=1;
[Xnew,P]=GetUkfResult(Xin,u,P,Q,R);%%%%%%%%%%%%%%%%%%%%%%%%%断点报错
Xukf=[Xukf,Xnew];
sys=Xnew; 
function sys=mdlOutputs(t,x,u)%sys=y=C*x(n+1)+D*u(n+1)
sys =x;
function [Xout,P]=GetUkfResult(Xin,Z,P,Q,R) 
L=4; %3
alpha=0.01;
kalpha=0;
belta=2;
ramda=alpha^2*(L+kalpha)-L;
for j=1:2*L+1
    Wm(j)=1/(2*(L+ramda));
    Wc(j)=1/(2*(L+ramda));
end
Wm(1)=ramda/(L+ramda);
Wc(1)=ramda/(L+ramda)+1-alpha^2+belta;
xestimate=Xin;
cho=(chol(P*(L+ramda)))';
for k=1:L
    xgamaP1(:,k)=xestimate+cho(:,k);
    xgamaP2(:,k)=xestimate-cho(:,k);
end
Xsigma=[xestimate,xgamaP1,xgamaP2]; 
for k=1:2*L+1
    Xsigmapre(:,k)=a(Xsigma(:,k));
end
Xpred=zeros(4,1);  
for k=1:2*L+1
    Xpred=Xpred+Wm(k)*Xsigmapre(:,k);
end
Ppred=zeros(4,4);  
for k=1:2*L+1
    Ppred=Ppred+Wc(k)*(Xsigmapre(:,k)-Xpred)*(Xsigmapre(:,k)-Xpred)';
end
Ppred=Ppred+Q;

chor=(chol((L+ramda)*Ppred))';
for k=1:L
    XaugsigmaP1(:,k)=Xpred+chor(:,k);
    XaugsigmaP2(:,k)=Xpred-chor(:,k);
end
Xaugsigma=[Xpred XaugsigmaP1 XaugsigmaP2];
for k=1:2*L+1   
    Zsigmapre(1,k)=b(F_xfl,F_yfl,F_xfr,F_yfr,F_xrl,F_yrl,F_xrr,F_yrr,delta_f)*Xaugsigma(:,k);
end
Zpred=0;        
for k=1:2*L+1
    Zpred=Zpred+Wm(k)*Zsigmapre(1,k);
end
Pzz=0;
for k=1:2*L+1
    Pzz=Pzz+Wc(k)*(Zsigmapre(1,k)-Zpred)*(Zsigmapre(1,k)-Zpred)';
end
Pzz=Pzz+R; 
Pxz=zeros(4,1);
for k=1:2*L+1
    Pxz=Pxz+Wc(k)*(Xaugsigma(:,k)-Xpred)*(Zsigmapre(1,k)-Zpred)';
end
%滤波框架
K=Pxz*inv(Pzz);       
Xout=Xpred+K*(Z-Zpred);         
P=Ppred-K*Pzz*K';

求解答:UKF对路面附着系数估计报错相关推荐

  1. 路面附着系数估计_无迹 扩展卡尔曼滤波(UKF/EKF) 采用无迹/扩展卡尔曼滤波UKF进行路面附着系数估计,可实现“不变路面,对接路面和对开路面”等工况的路面附着系数估计

    路面附着系数估计_无迹?扩展卡尔曼滤波(UKF/EKF) 软件使用:Matlab/Simulink 适用场景:采用无迹/扩展卡尔曼滤波UKF进行路面附着系数估计,可实现"不变路面,对接路面和 ...

  2. 路面附着系数估计_无迹?扩展卡尔曼滤波(UKF EKF)

    路面附着系数估计_无迹?扩展卡尔曼滤波(UKF EKF) 软件使用:Matlab Simulink 适用场景:采用无迹 扩展卡尔曼滤波UKF进行路面附着系数估计,可实现"不变路面,对接路面和 ...

  3. 路面附着系数估计_无迹扩展卡尔曼滤波(UKF EKF)

    路面附着系数估计_无迹扩展卡尔曼滤波(UKF EKF) 软件使用:Matlab Simulink 适用场景:采用无迹 扩展卡尔曼滤波UKF进行路面附着系数估计,可实现"不变路面,对接路面和对 ...

  4. 基于simulink的路面附着系数估计模型, 滑转率零斜率法

    出 基于simulink的路面附着系数估计模型, 滑转率零斜率法 ID:8634645145422904是命a

  5. MindSpore求导传入sens值时infer报错For ‘MatMul‘, the input dimensions

    1 报错描述 1.1 系统环境 Hardware Environment(Ascend/GPU/CPU): GPU Software Environment: MindSpore version (s ...

  6. MindSpore求导传入sens值时infer报错For apos;MatMulapos;, the input dimensions

    1 报错描述 1.1 系统环境 Hardware Environment(Ascend/GPU/CPU): GPU Software Environment: MindSpore version (s ...

  7. npm 报错:`[HPM] Error occurred while trying to proxy request (ECONNREFUSED)`

    npm 报错:[HPM] Error occurred while trying to proxy request /users from localhost:8000 to https://loca ...

  8. php %3c%3c%3cxml 报错,Web for Pentester XXE解析

    基础 XML基础 XML(Extensible Markup Language)用于标记电子文件使其具有结构性的标记语言,可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言 ...

  9. hive报错return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask

    场景:计算一年中每一天的数据,每一天的取值是前一年或者半年的平均值,所以我有两张临时表,第一张存放主体的一年中每一天的数据,第二张存放主体近两年的每一天对应的数据,第一张表左连接第二张表,这样子进行窗 ...

最新文章

  1. 教程:10、VI编辑器
  2. python学习--DAY2
  3. HardwareSoftwareTutorial
  4. Securing the Deep Learning Stack
  5. Python中Numpy库中的Numpy常量
  6. centOS7安装matlab2014a
  7. 【CodeForces - 294B】Shaass and Bookshelf(枚举,贪心,思维,组内贪心组间dp)
  8. shell调用函数并获取函数返回值
  9. C#LeetCode刷题之#598-范围求和 II​​​​​​​(Range Addition II)
  10. 【Java并发编程】:Runnable和Thread实现多线程的区别
  11. 用了Python这么久,你连这个都没试过?
  12. HDU_1874_畅通工程续_最短路问题
  13. [OGRE]最小ogre程序的流程
  14. 国际c语言乱码大赛PDF,国际C 语言乱码大赛(IOCCC)获奖作品
  15. socket相关的面试题
  16. Python画五角星(turtle初识)
  17. 有奖 | 你想要什么样的程序员贴纸?
  18. JAVA学习6-集合工具类、流
  19. (转)水经注谷歌地图的级别与对应比例尺及分辨率探究
  20. 2021年上海值得去的66家规模互联网大厂公司全名简称

热门文章

  1. 二建考生速看 拿到二级建造师证书后该如何进行注册?
  2. 因疫情影响,传苹果下一代iPhone发布将推后一个月
  3. 惊!又一家知名企业被查!
  4. Reactor And Gev 详解 通俗易懂
  5. 最早的计算机网络游戏,手机网络游戏早期发展史——图文游戏
  6. 揭秘!腾讯程序员告诉你当今最热门的5门编程语言
  7. 云养猫云养狗,一个可以救助流浪猫猫和狗狗的平台
  8. 《事情正在起变化》《这是为什么》?
  9. android 程序root权限管理,手机root之后进行软件程序授权管理 手机root权限管理方法...
  10. c语言鸡兔同笼(二)