24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 3149  |  回复: 3

mln5431

铜虫 (初入文坛)

[求助] 请问simulink中出现这个错误如何解决?求指教。 已有2人参与

请问simulink中出现这个错误怎么解决?求指教。

Error in 'CSTR_ISMCO/S-Function' while executing MATLAB S-function 'CSTR_sFun', flag = 1 (derivatives), at time 0.0.

试图访问 u(2);由于 numel(u)=1,索引超出范围。
Component: Simulink | Category: Block error

该模块原程序如下
function [sys,x0,str,ts]=mdlInitializeSizes

sizes = simsizes;

sizes.NumContStates  = 4;
sizes.NumDiscStates  = 0;
sizes.NumOutputs     = 3;
sizes.NumInputs      = 2;
sizes.DirFeedthrough = 0;
sizes.NumSampleTimes = 1;   % at least one sample time is needed

sys = simsizes(sizes);
x0  = [0.5 3 0 0];

str = [];

ts  = [0 0];

function sys=mdlDerivatives(t,x,u)
u=u(1);
filter=u(2);
%***********CSTR parameters**************
alfa=1.0;
beta=0.3;
gamma=20;
b=-8.0;
Da=0.072;
alfa1=0.5;
alfa2=0.5;

%system states
x1=x(1);
x2=x(2);
xx1=x(3);
xx2=x(4);
y=x2;


%*************  dynamic equation  **********************
dx1=-alfa*x(1)+Da*(1-x(1))*exp(gamma*x(2)/(gamma+x(2)));
dx2=-alfa*x(2)-b*Da*(1-x(1))*exp(gamma*x(2)/(gamma+x(2)))+beta*u-beta*x(2);
sys(1)= dx1;
sys(2)= dx2;

%**********     observer   **********
xxx1=xx1-alfa2*filter/(-b*Da*exp(gamma*xx2/(gamma+xx2)));
dxx1=-alfa*xx1+Da*(1-xx1)*exp(gamma*xx2/(gamma+xx2))+alfa1*sign(xxx1-xx1);
dxx2=-alfa*xx2-b*Da*(1-xx1)*exp(gamma*xx2/(gamma+xx2))+beta*u-beta*xx2+alfa2*sign(y-xx2);
sys(3)=dxx1;
sys(4)=dxx2;


function sys=mdlOutputs(t,x,u)
y=x(2);
f=sign(y-x(4));
sys(1)=x(3);
sys(2)=x(4);
sys(3)=f;
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

All is well!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xlzhao

铁虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
要求输入两个参数,形式上你只输入了1个,前面加上mux模块输入2个参数即可
ASR
2楼2016-05-17 07:22:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mln5431

铜虫 (初入文坛)

引用回帖:
2楼: Originally posted by xlzhao at 2016-05-17 07:22:10
要求输入两个参数,形式上你只输入了1个,前面加上mux模块输入2个参数即可

不是的,其实是u=u(1)这句语法错误。
All is well!
3楼2016-05-17 10:28:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

iceson123

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
cenwanglai: 金币+3, 谢谢回复 2016-05-26 18:24:47
引用回帖:
3楼: Originally posted by mln5431 at 2016-05-17 10:28:08
不是的,其实是u=u(1)这句语法错误。...

u=u(1)把变量u覆盖掉了,改名字即可
4楼2016-05-17 14:55:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 mln5431 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 070300化学求调剂 +10 起个名咋这么难 2026-03-27 11/550 2026-04-03 10:24 by macy2011
[考研] 303求调剂 +3 一色清羽 2026-04-02 4/200 2026-04-03 10:22 by 蓝云思雨
[考研] 286求调剂 +7 Faune 2026-03-30 7/350 2026-04-03 10:14 by linyelide
[考研] 286求调剂 +4 lim0922 2026-04-02 4/200 2026-04-03 09:46 by JourneyLucky
[考研] 一志愿郑州大学材料与化工085600,求调剂 +15 吃的不少 2026-04-02 15/750 2026-04-03 09:32 by jp9609
[考研] 315求调剂 +11 小羊小羊_ 2026-04-02 11/550 2026-04-02 21:57 by wwytracy
[考研] 282求调剂 +3 aaa车辆 2026-04-02 3/150 2026-04-02 21:55 by zllcz
[考研] 农学考研求调剂 +3 dkdkxm 2026-04-01 3/150 2026-04-02 16:04 by wangjagri
[考研] 一志愿085600中科院宁波所276分求调剂 +26 材料学257求调剂 2026-03-28 27/1350 2026-04-02 15:15 by chyhaha
[考研] 计算机265跨调环境 +5 Yumeng_6 2026-03-27 5/250 2026-04-02 10:54 by guanxin1001
[考研] 0805求调剂 +8 是水分 2026-03-31 8/400 2026-04-02 10:46 by guanxin1001
[考研] 11408 321分求调剂 +3 huchun12138 2026-03-30 4/200 2026-04-01 22:48 by guanxin1001
[考研] 295材料工程专硕求调剂 +19 1428151015 2026-03-27 19/950 2026-04-01 22:34 by peike
[考研] 085600 一志愿9 总分351 求调剂学校 +7 czhcz 2026-03-31 9/450 2026-04-01 19:24 by 无际的草原
[考研] 262求调剂 +9 励志一定发文章 2026-03-31 10/500 2026-04-01 12:22 by sunshine0013
[考研] 求0861交通运输专硕or材料专硕调剂 +4 勒布朗@ 2026-03-31 4/200 2026-04-01 09:54 by 一只好果子?
[考研] 土木304求调剂 +5 顶级擦擦 2026-03-31 5/250 2026-04-01 08:15 by fdcxdystjk¥
[考研] 266分,求材料冶金能源化工等调剂 +8 哇呼哼呼哼 2026-03-27 10/500 2026-03-31 13:35 by Huaxue_Wang
[考研] 313求调剂 +6 卖个关子吧 2026-03-31 6/300 2026-03-31 10:58 by Jaylen.
[考研] 抱歉 +3 田洪有 2026-03-30 3/150 2026-03-30 19:11 by 迷糊CCPs
信息提示
请填处理意见