⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 s_stcocml2gns.m

📁 Matlab里计算高维时空混沌OCML的源程序
💻 M
字号:
function [sys,x0,str,ts]=s_stcOCML2GNS(t,x,u,flag,sites,ip,a,e,Rb)
% function [sys,x0,str,ts]=stcOCML2GNS(t,x,u,flag,sites,ip,a,e,Rb)
% Simulink block for Logistic Sequence
% Parameters:
%       a --Chaotic parameter;
%       Rb--Sequence Rate
%     Init--Initiate value
%      sys--Output Squence of float value
steps=2;
stc=zeros(sites,steps);
% x(:,1)=e*feval(fhandle,a,InitialValue,sites)';
stc(:,1)=rand(sites,1);
% fhandle=@ImprovedLogistic;
fhandle=@Logistic;
stc(1,:)=feval(fhandle,a,rand,steps);
stc(sites,:)=stc(1,:);  % Boundary conditions

i=0;


switch flag,
    case 0
        [sys,x0,str,ts]=mdlInitializeSizes(Rb);
    case 2
        sys=mdlUpdates(t,x,u,sites,a,e,stc,i,fhandle);
    case 3
        sys=mdlOutputs(t,x,u,sites,a,e,stc,i,fhandle,ip);
%     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(Rb)
sizes=simsizes;
sizes.NumContStates=0;
sizes.NumDiscStates=1;
sizes.NumOutputs=1;
sizes.NumInputs=0;
sizes.DirFeedthrough=1;
sizes.NumSampleTimes=1;
sys=simsizes(sizes);
x0=rand;
str=[];
ts=[1/Rb 1/2/Rb];

function sys=mdlUpdates(t,x,u,sites,a,e,stc,i,fhandle)

for i=2:sites-1
    stc(i,2)=(1-e)*feval(fhandle,a,stc(i,1),1)+e*feval(fhandle,a,stc(i-1,1),1);
end
stc(:,1)=stc(:,2);
sys=x;

function sys=mdlOutputs(t,x,u,sites,a,e,stc,i,fhandle,ip)

for i=2:sites-1
    stc(i,2)=(1-e)*feval(fhandle,a,stc(i,1),1)+e*feval(fhandle,a,stc(i-1,1),1);
end

sys=sum(stc(1:ip:sites,2));


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

⌨️ 快捷键说明

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