马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
我想用MATLAB/simulink中的S函数做个阵风风速模型。老是提示错误如下:Error, M-File S-function 'gustvelocity' in 'half/S-Function' is expecting 1 parameter(s) while 3 were provided.+ B6 J/ A& F9 p$ Z$ K4 z
源代码如下:
1 o9 r; H n, X: qfunction [sys,x0,str,ts] = gustvelocity(u,flag,p1,p2,p3)
0 E7 A' q, @) M6 qswitch flag,* u8 A+ k: r* r' ]
case 0,
, ?* a* B* L D5 M/ w% y. n0 n [sys,x0,str,ts]=mdlInitializeSizes(p1,p2,p3);$ B6 o7 D+ q$ @% J7 M; Z: X8 R
case 3,* R4 H% @' m3 M4 V, W0 o2 o, R
sys=mdlOutputs(u,p1,p2,p3);+ n/ T0 i% g: E% C, S. B9 V- s Q
case{1,2,4,9}
J! e' _) G4 w: U& Q. I sys=[];; m4 Q6 v8 C+ _4 [8 D$ c
otherwise
4 a2 ^" @4 ]. j" O P" t error(['Unhandled flag = ',num2str(flag)]);
; T: @; l- A- B/ Q+ nend3 i! J( P; b" n) f# l
function [sys,x0,str,ts]=mdlInitializeSizes& K$ c3 y9 X9 }1 _8 s/ U. B- U. R! N8 [
sizes = simsizes;
4 z. A( e3 x+ S5 @* \( \& |/ d i1 ~sizes.NumContStates = 0;
/ M+ V6 A1 R- m# S* G6 e- hsizes.NumDiscStates = 0;
# d/ K# X% x, q" @, ?sizes.NumOutputs = 4;
0 v7 X; J ]- @sizes.NumInputs = 3;
2 P4 O! _( D! A) Y- Wsizes.DirFeedthrough = 1;
3 W( i) H6 Z4 S. x0 rsizes.NumSampleTimes = 1; 8 E1 F# A! P* p0 R' }* c7 D2 L
sys = simsizes(sizes);
" @- \1 t* e* U5 X) N* E4 Cx0 = [];
& B7 C& f/ X9 h0 j+ Astr = [];
& b; O0 y' X5 t2 m* f; Ots = [0 0];
7 E) m% M' M% Z* ]6 m, Lfunction sys=mdlOutputs(u,p1,p2,p3)
( o2 v# E* k7 M' }; I. X: W* Xif u<p1
5 ?" @- Q; P; O, G- X( Y sys=0;
6 c& d1 w- J( R5 _- t4 E7 t/ nelseif u>=p1&&u<=p1+p2
9 m' I3 ^1 {; w m& i Y+ j9 b y6 f, ^ sys=p3/2-p3/2*cos(2*pi*((u/p1)-(p2/p1)));" g6 |9 c3 W) `
else
5 t8 `' I1 N d$ j sys=0;
( N6 T! E% V) Q' Pend4 v) c; h5 Q1 }+ {4 J/ ]
我不知道哪出了问题,请高手指点一二。 |