matlab调试运行出错,这个程序我运行调试后怎么总是弹出一个出错对话框

function [sys,x0,str,ts]=fuz_pid(t,x,u,flag,T,aFuz,fx0,gam)

switch flag

case 0,

[sys,x0,str,ts]=mdlInitializesizes(T);

case 2

sys=mdlUpdates(x,u);

case 3

sys=mdlOutouts(x,u,T,aFuz,fx0,gam);

case{1,4,9}

sys=[];

otherwise

error(['Unhandled flag=',num2str(flag)]);

end;

function  [sys,x0,str,ts]=mdlInitializesizes(T)

sizes=simsizes;

sizes.NumContStates=0;

sizes.NumDiscStates=3;

sizes.NumOutputs=4;

sizes.NumInputs=2;

sizes.DirFeedthrough=0;

sizes.NumSampleTimes=1;

sys=simsizes(sizes);

x0=zeros(3,1);

str=[];

ts=[T,0];

function sys=mdlUpdates(x,u)

sys=[u(1);x(2)+u(1);u(1)-u(2)];

function sys=mdlOutputs(x,u,T,aFuz,fx0,gam)

aFuz=readfis('fuz_pid.fis');

Kpid=fx0+gam(:).evalfis(x([1,3]),aFuz)';

sys=[Kpid'*x;Kpid];

运行Simulink模块会出现Error evaluating parameter 'afuz' in 'fuz_pid/Subsystem/S-Function': Undefined function or variable 'afuz'..这样的错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值