|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
在simulink中搭建了模型,主程序使用matlab function写的,调用了两个子程序,其中一个因为分配了动态数组所以会报错,报错如下:
+ n& e: H; Z1 q! {: |: m5 s* ` M4 e1 \# U: H! h1 j
Computed maximum size of the output of function 'colon' is not bounded.
% G; |( M* f6 g; f! k* q+ FStatic memory allocation requires all sizes to be bounded.
0 B! @$ w5 G+ R2 j5 ~3 j# @" v3 }% rThe computed size is [1 x :?].4 C6 h) R9 W$ ?0 } o; e+ `; N
1 y+ ?7 e' A& T( K( yFunction 'Engine_State_inteRF0304.m' (#46.1271.1292), line 33, column 12:
- Z+ V& L% \0 t/ x7 r"Te_min(i):1:Te_max(i)"7 s" _8 R% k: G
Launch diagnostic report.) h% m; y3 y K% K
- U7 ^9 m! u' w, G" q1 o
9 r1 B! |2 t M7 C2 ?7 Z4 e
" E* u8 U9 E1 A! ]( t5 A下面是我这部分程序。刚接触simulink,一头雾水,被这个问题困扰很多天了,希望大神们可以提供解决思路。不胜感激! 7 X7 u+ _' o8 F
" F9 U, B5 c- i! q) J
if T_req(i)>=0 5 A7 Z! W3 w9 o& g( u/ `5 B
Te_max(i)=interp1(engine_fullload_speed,engine_fullload_torque,n_e(i));%利用一维线性插值法求发动机转矩最大值/ {, K K8 n8 t( K$ Y: ^# S
Te_min(i)=Te_max(i)*0.2; %低于此转矩值,发动机关闭 2 b) R% d) T( i( @+ @: }5 d
if T_req(i)>=Te_min(i)
% ~9 P3 A! @' A7 C. ^6 y7 j# P Te=Te_min(i):1:Te_max(i);
% p! ]- M: H8 ~/ x" z& V1 |. t Te=Te( ;
4 s% l" z1 p2 r( _* E else
) l0 P+ P+ D) a$ I Te=0;
! b2 R0 f, i) C# Z0 } end: Z& N q$ t; N
|
|