马上加入,结交更多好友,共享更多资料,让你轻松玩转电力研学社区!
您需要 登录 才可以下载或查看,没有账号?立即加入
×
大家好,最近一直在忙仿真,用到单神经元PID控制,在MATLAB中可以用S函数搭建其模型(见附件),但在pscad中用fortran语言不太会,请求高手指点,很急!各位朋友帮帮忙!下面是在MATLAB中的单神经元PID的S函数编写的文件,结合。- function [sys,x0,str,ts] =Sfunction(t,x,u,flag,yita,K)" S- @, {" o Z$ K! y8 w
- % function [sys,x0,str,ts] =Sfunction(t,x,u,flag,K)
# U) m# k- {; |& x/ X; i6 G! v - switch flag,) d+ [; }" n7 Q8 f1 @% h
- ( g* {" Q4 J/ x3 G3 A
- case 0,
w4 D E' V. U4 ?9 |4 u/ K - [sys,x0,str,ts]=mdlInitializeSizes;
2 o( M/ |7 V6 J - case {1,4,9},
' P( c7 v$ }/ g! [. w7 g. w - sys=[];5 U/ |1 w! B: S4 t/ U
- case 2,
5 a0 u4 e; k# r- L/ m - % sys=mdlUpdate(t,x,u);! y, F5 n$ _. m) M
- sys=mdlUpdate(t,x,u,yita);+ `* b# E1 C: i9 a
- 0 k# Q6 M- e3 ^0 N7 `% c& n
- case 3,( w" K& E. y* L/ |/ Y% ^
- sys=mdlOutputs(t,x,u,K);/ k8 r& d! m0 q/ d0 T6 j
- otherwise) Z0 S4 q2 q+ c: g# N) w
- error(['Unhandled flag = ',num2str(flag)]);( Q& f& h( U2 \6 V- ^! [
- end1 z: C- P- v% D9 N
" U+ v' {9 o& t+ |/ F Y9 z# H2 U/ K& A- function [sys,x0,str,ts]=mdlInitializeSizes()
8 s: \& T0 D" _1 R - + _6 Q8 [6 d) b" k2 a. a
- sizes = simsizes; ] d* X+ `8 p
- sizes.NumContStates = 0;( b6 d2 R- T2 f6 h
- sizes.NumDiscStates = 3;
( t0 J1 l e" n" T1 \. J - sizes.NumOutputs = 4;4 p( I% A0 V6 z
- sizes.NumInputs = 4;; d8 X; y# \* E- C3 p
- sizes.DirFeedthrough = 1;" u4 P) a, i. b! L* F
- sizes.NumSampleTimes = 1;
M7 d5 {4 A$ C" i9 f" d0 B - sys = simsizes(sizes);* s$ ^$ M. u( B' y. y
- 0 G! I% s& Q: P* U5 T# }* |
- x0 = [9;0.01;0];2 J, ^9 L8 ]/ m
- ! m+ |' }8 L* ^
- str = [];
- f# Z. B! l" ^, `% P: ^/ t
8 g8 v+ p. G; _" E& u- ts = [-1 0];
2 C6 o3 r: q1 p1 I, u& l. v u - # @6 D1 S! G/ ?0 Q" E
- function sys=mdlUpdate(t,x,u,yita)
; P% `' v4 r/ e7 c/ n - % function sys=mdlUpdate(t,x,u)- Y b. H* z" E0 i( u: k. m
- sys=x+yita*u(1)*u(4)*(2*u(1)-u(2));1 a$ X! ~0 M9 A
) `8 r/ v8 L: q8 i- function sys=mdlOutputs(t,x,u,K) : I1 e" w# y9 L" X: F( \) v. N3 [
- xx=[u(1)-u(2) u(1) u(1)+u(3)-2*u(2)]; 5 L6 s# p' U C! |0 p6 V1 J1 @. Q
- sys =[u(4)+K*xx*x/sum(abs(x));x/sum(abs(x))];. ?, `6 e' D; A- _
复制代码 |