|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在simulink中搭建了模型,主程序使用matlab function写的,调用了两个子程序,其中一个因为分配了动态数组所以会报错,报错如下:
* Y+ a7 j5 B) L7 j3 k {* e& L# ]- A, M
Computed maximum size of the output of function 'colon' is not bounded.
% z" c8 y8 x3 b- Q5 J6 |( VStatic memory allocation requires all sizes to be bounded.
; c7 M* e# |0 D: o, M+ rThe computed size is [1 x :?].8 H1 i0 C; O+ l
: v" p% w3 d" s5 [Function 'Engine_State_inteRF0304.m' (#46.1271.1292), line 33, column 12:
- a7 C ^( [0 R* N"Te_min(i):1:Te_max(i)"
) ?4 _6 T/ r9 r. u$ g7 C7 c# eLaunch diagnostic report.
5 c' ~7 u: p2 V/ S0 Y: n0 n# J( G
; @ n5 n; o" W# ^0 b2 E# c. h5 o: ^4 n1 c& E6 k
1 y* K8 J. \& Y, b# F下面是我这部分程序。刚接触simulink,一头雾水,被这个问题困扰很多天了,希望大神们可以提供解决思路。不胜感激! # ]" L" c: n4 P! ]- q* |1 Q* O# Q
% B) s5 `& i( [) N t8 o
if T_req(i)>=0
/ q8 n! D6 z0 z# }( @8 R! c) ? Te_max(i)=interp1(engine_fullload_speed,engine_fullload_torque,n_e(i));%利用一维线性插值法求发动机转矩最大值
; [% v: O' N' y8 D: u$ h# ^- }) V Te_min(i)=Te_max(i)*0.2; %低于此转矩值,发动机关闭 4 K0 Q- C4 K/ ^8 y. {. ~ q
if T_req(i)>=Te_min(i). z. Z+ {3 \/ ~
Te=Te_min(i):1:Te_max(i);
" m3 J* C* g; b Te=Te( ;5 R# U# G* k& l; F: v8 t
else) ^3 ?' Z0 Y/ ~
Te=0;
' }3 w4 p! C1 Z& X6 W end j* C+ h/ M4 J |' t# N/ W8 i
|
|