|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在simulink中搭建了模型,主程序使用matlab function写的,调用了两个子程序,其中一个因为分配了动态数组所以会报错,报错如下:! b. r/ f$ z( X% U/ \4 o
3 ^2 d5 m2 P* z- pComputed maximum size of the output of function 'colon' is not bounded.2 P7 J7 O. ]2 a8 s- ^! M
Static memory allocation requires all sizes to be bounded.
/ B) z: G# j6 D ^. sThe computed size is [1 x :?].
2 r9 ] U4 G/ D$ @5 l" D* Y, c9 l/ U4 k
Function 'Engine_State_inteRF0304.m' (#46.1271.1292), line 33, column 12:
2 T' `# O% i! Y( |"Te_min(i):1:Te_max(i)"0 ^* a! U! c! T$ |. T
Launch diagnostic report.
) j( n! `: Y/ }" A! r* Z% g u$ M) ]2 ^! u, y9 y, j3 y
3 Z: q' u M( h$ {) B
+ A, G3 Q5 _/ `7 a+ _5 ]下面是我这部分程序。刚接触simulink,一头雾水,被这个问题困扰很多天了,希望大神们可以提供解决思路。不胜感激!
1 }* y t6 m: ~) X$ b" o- ?' l
# D8 P& ?4 t& ]7 X6 vif T_req(i)>=0
t3 V0 z, ?9 C& ?- c# ` Te_max(i)=interp1(engine_fullload_speed,engine_fullload_torque,n_e(i));%利用一维线性插值法求发动机转矩最大值* v0 ?. e7 i7 g
Te_min(i)=Te_max(i)*0.2; %低于此转矩值,发动机关闭
; C, Z0 K0 F k0 O3 R1 Z4 X if T_req(i)>=Te_min(i)% z& ~, u; f5 L: A! B) X8 M6 v, w
Te=Te_min(i):1:Te_max(i);
$ q- s# B: O5 Q3 M( z Te=Te( ;' }: i# E9 r4 {
else+ [; I; }6 Q2 M& {
Te=0;
& g7 ^+ l( [( d9 X end0 y; _$ T& A, x4 `$ F# {7 M7 _
|
|