stclogistic.m

来自「Logistic混沌随机序列的MATLAB产生源程序」· M 代码 · 共 55 行

M
55
字号
function [sys,x0,str,ts]=mysLogistic(t,x,u,flag,a,Rb)
% [sys,x0,str,ts]=sLogistic(t,x,u,flag,a,Rb,Init)
% Simulink block for Logistic Sequence
% Parameters:
%       a --Chaotic parameter;
%       Rb--Sequence Rate
%     Init--Initiate value
%      sys--Output Squence of float value
switch flag,
    case 0
        [sys,x0,str,ts]=mdlInitializeSizes(u,Rb);
    case 2
        sys=mdlUpdates(t,x,u,a);
    case 3
        sys=mdlOutputs(t,x,u,a);
%     case 4
%         sys=mdlGetTimeOfNextVarHit(t,x,u,Rb);
    case {1,4,9}
        sys=[];
    otherwise
        error(['Unhandled flag =',num2str(flag)]);
end

function [sys,x0,str,ts]=mdlInitializeSizes(u,Rb)
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=1;
sizes.NumOutputs=1;
sizes.NumInputs=1;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=rand;
% x=u;
str=[];
ts=[1/Rb 1/2/Rb];

function sys=mdlUpdates(t,x,u,a)
x=u;
sys=a*x*(1-x);





function sys=mdlOutputs(t,x,u,a)
% sys=sign(x-0.5);
% sys=a*x*(1-x);

sys=x;



% function sys=mdlGetTimeOfNextVarHit(t,x,u,Rb)
% sys=t+1/Rb;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?