matlab 门限,Matlab关于逻辑门限求问

在MATLAB中实现一个基于滑移率、加速度和前一周期控制状态的五状态门限控制器遇到问题。代码逻辑设计用于控制增压、慢增压、保压、慢减压和减压。在仿真过程中,逻辑判断后无法正确给变量y赋值,导致仿真错误。具体表现为当条件满足case 0时,预期y赋值为-0.4,但无法进行,而将y赋值为-0.1时则可以进入下一周期。当达到case -0.8时再次出现问题。作者附上了相关图片以辅助说明问题。
摘要由CSDN通过智能技术生成

关于ABS的逻辑门限控制器,想根据滑移率,加速度值,前一个周期的控制状态做一个5种控制状态的门限控制,增压,慢增压,保压,慢减压,减压

代码比较简单,但在运行过程中无法给y继续赋值----仿真过程出错,逻辑判断后无法给y赋值,我尝试过,当时仿真的数据判断应该是case 0,y接下来应该是-0.4,出错停止,而我把y=-0.4改成y=-0.1的赋值条件时,结果却能赋值进入下一周期的判断了,最后又停在了case -0.8的地方。想请教诸位,谢谢!

function y = fcn1(u)

%UNTITLED2 Summary of this function goes here

%   Detailed explanation goes here

ad=-18;

aup=9.8;

sd=0.1;

sup=0.9;

switch u(3)

case 1

if u(2)>ad

y=1;

elseif (u(2)

y=0.5;

elseif(u(2)sd))

y=0;

elseif(u(1)>sup)

y=-0.8;

end

case 0.5

if u(2)>aup

y=1;

elseif (u(1)sd)

y=0;

elseif (u(1)>sup)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值