BP网络的代码:
function [sys,x0,str,ts]=BPwangluo(t,x,u,flag)
switch flag
case 0
[sys,x0,str,ts]=mdlInitializeSizes;
case 2
sys=mdlUpdates(x,u);
case 3
sys=mdlOutputs(t,x,u);
case {1,4,9}
sys=[];
otherwise
error(['unhandled flag=',num2str(flag)]);%异常处理
end
function[sys,x0,str,ts]=mdlInitializeSizes
sizes=simsizes;%用于设置模块参数的结构体用simsizes来生成
sizes.NumContStates=0;%模块连续状态变量的个数
sizes.NumDiscStates=6;%模块离散状态变量的个数
sizes.NumOutputs=3;%模块输出变量的个数
sizes.NumInputs=14;%模块输入变量的个数
sizes.DirFeedthrough=1;%模块是否存在直接贯通,1表示存在直接贯通,若为0,则mdlOutputs函数里不能有u
sizes.NumSampleTimes=1;%模块的采样时间个数,至少是一个
sys=simsizes(sizes);%设置完后赋给sys输出
x0=zeros(6,1);%系统状态变量设置
str=[];
<