Simulink仿真遇到问题,高手进!

浏览:74038
本人使用神经网络编写了一段代码,嵌入到S函数的代码当中,但在进行仿真的时候,出现错误,高手看一下代码出错位置Simulink的提示信息Output returned by S-function 'SFunctionForNeuralControllor' in 'neuralcontrollor/S-Function' during flag=3 call must be a real vector of length 1源代码是:function [sys,x0,str,ts] =SFunctionForNeuralControllor(t,x,u,flag)switch flag case 0 sizes = simsizes; sizes.NumContStates = 0; sizes.NumDiscStates = 0; sizes.NumOutputs = 1; sizes.NumInputs = 4; sizes.DirFeedthrough = 0; sizes.NumSampleTimes = 1; % at least one sample time is needed sys = simsizes(sizes); x0 = []; str = []; ts = [0 0]; case 1 sys = []; case 2 sys = []; case 3 x_neural=[1 -1 0.5 8; 2 2 6 0; -1 -9 5 9; 7 0 1 5]; y_neural=[0 0 1 -1]; net=newff(minmax(x_neural),[20,1],{ 'tansig' 'purelin' }); net.trainParam.epochs=50; net.trainParam.goal=0.001; net=train(net,x_neural,y_neural); %将输出仿真的性能 sys=sim(net,u); case 4 sys=mdlGetTimeOfNextVarHit(t,x,u); case 9 sys = []; otherwise error(['Unhandled flag = ',num2str(flag)]);end
邀请回答 我来回答

当前暂无回答

回答可获赠 200金币

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP