|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在simulink中搭建了模型,主程序使用matlab function写的,调用了两个子程序,其中一个因为分配了动态数组所以会报错,报错如下:4 A( C b6 ], O" N
; S# b- h8 g& v K) n& t) I8 g
Computed maximum size of the output of function 'colon' is not bounded.% s7 h5 H( S/ h" [; a) _# E
Static memory allocation requires all sizes to be bounded.
' t+ ]8 h& n% i1 V% S, ~The computed size is [1 x :?].
5 J8 m( V9 {% E" l. G8 Y
& x# C; N. d% P: b' bFunction 'Engine_State_inteRF0304.m' (#46.1271.1292), line 33, column 12:
. m3 J7 @) P/ h* D4 N1 O"Te_min(i):1:Te_max(i)"
7 S8 | w8 L1 Z4 GLaunch diagnostic report.( t3 t2 Z: X) D, D% V
6 @) t0 k* r) `3 h9 B: E4 N
7 q+ V3 ?1 |3 r: D5 z- U% [
5 N9 X! b# o+ G) r, i0 U6 e/ P, [ Q下面是我这部分程序。刚接触simulink,一头雾水,被这个问题困扰很多天了,希望大神们可以提供解决思路。不胜感激! , a3 r+ {9 o1 X; o. w5 T) t; H5 k
. \+ L, W* x" @- K) T
if T_req(i)>=0 ) v% a) z5 Z. f) Q
Te_max(i)=interp1(engine_fullload_speed,engine_fullload_torque,n_e(i));%利用一维线性插值法求发动机转矩最大值
& Y, m, a0 w' N$ ?; a8 | Te_min(i)=Te_max(i)*0.2; %低于此转矩值,发动机关闭 7 j/ }3 S/ ^ Y% a- g* j
if T_req(i)>=Te_min(i)/ j1 O) W, ^$ s" l
Te=Te_min(i):1:Te_max(i); * C" |3 l/ X* O: R8 t
Te=Te( ;
* k- j+ x; ^/ b! e4 }1 b1 _ else
/ p( @ M8 \* N2 V Te=0;( T5 {) D5 X6 U: ~& i& Y, l4 o7 S
end& _/ R8 s/ ?# ?( X8 j8 Q9 M |
|
|