EDA365电子论坛网

标题: 有关matlab function调用m文件的问题 [打印本页]

作者: ckjs    时间: 2019-12-24 10:04
标题: 有关matlab function调用m文件的问题
  在simulink中搭建了模型,主程序使用matlab function写的,调用了两个子程序,其中一个因为分配了动态数组所以会报错,报错如下:7 W) U9 c( ?1 E: W" Y2 _' ~

- U! K& q& W9 ?4 fComputed maximum size of the output of function 'colon' is not bounded.+ z- \3 U4 c; M
Static memory allocation requires all sizes to be bounded.8 j6 W. Y# I* z! J# F! }! {+ t) ^" _
The computed size is [1 x :?].% m7 P8 z# c6 U; R+ i

9 a1 O5 I+ H+ i3 C1 C+ GFunction 'Engine_State_interf0304.m' (#46.1271.1292), line 33, column 12:0 L. s2 O; w* E# q
"Te_min(i):1:Te_max(i)"4 N" Y. H' S% a. L. m
Launch diagnostic report.: z$ ?8 I% y$ B6 q  ^
* M& K6 W! O5 v# x* z

9 Z# ^) S8 D* H5 V. c( `- T2 o7 n6 m+ k
下面是我这部分程序。刚接触simulink,一头雾水,被这个问题困扰很多天了,希望大神们可以提供解决思路。不胜感激!
# E& Q2 I- `! \
$ E/ q) Y2 x% Fif T_req(i)>=0 - @3 b3 X; H% c7 \
    Te_max(i)=interp1(engine_fullload_speed,engine_fullload_torque,n_e(i));%利用一维线性插值法求发动机转矩最大值
! u" t9 g, P, q7 @* `    Te_min(i)=Te_max(i)*0.2; %低于此转矩值,发动机关闭
4 S$ w1 T; z' X5 r4 R    if T_req(i)>=Te_min(i)
2 N% h4 X: ~: |: ^/ K        Te=Te_min(i):1:Te_max(i);
# H8 D" x( Y0 ?$ A3 q, y+ N        Te=Te(;
( {  Q/ l, B8 t- o) l    else
  k! K1 j' C8 S3 \# M. ^4 G" ^3 O        Te=0;
) F: e5 e& d9 M1 w- J8 a; e    end
9 L  N! A7 L1 N
作者: ededewa    时间: 2019-12-24 17:50
判断 if Te_min(i)<=Te_max(i




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2