我是靠谱客的博主 缥缈翅膀,最近开发中收集的这篇文章主要介绍使用MATLAB中S函数flag=1,请教:S函数 LEVEL-1运行报错:flag=2的问题,不胜感激!...,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

问题如下:在建模后利用S函数做卡尔曼滤波算法,其中涉及诸多时变的模型参数得在每次采样时刻的更新,因此编写了如下代码及大致建模框图,还有报错内容,还望各位能不吝赐教。     求解器采用的是变步长,最大步长设为1;   参数是用Mux混路后输入,

报错内容为:while executing MATLAB S-function 'KF', flag = 2 (update), at time 0.0.输入参数太多。

代码如下:

function [sys,x0,str,ts] = KF(t,x,u,flag)

switch flag,

case 0

[sys,x0,str,ts]=mdlInitializeSizes;

case 2

sys=mdlUpdate(t,x,u);

case 3

sys=mdlOutputs(t,x,u);

case{1,4,9}

sys=[];

% Unexpected flags %

%%%%%%%%%%%%%%%%%%%%

otherwise

DAStudio.error('Simulink:blocks:unhandledFlag', num2str(flag));

end

function [sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates  = 0;

sizes.NumDiscStates  = 2;

sizes.NumOutputs

最后

以上就是缥缈翅膀为你收集整理的使用MATLAB中S函数flag=1,请教:S函数 LEVEL-1运行报错:flag=2的问题,不胜感激!...的全部内容,希望文章能够帮你解决使用MATLAB中S函数flag=1,请教:S函数 LEVEL-1运行报错:flag=2的问题,不胜感激!...所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部