求MATLAB高手解答,下面是我在M文件里面写的一个函数,想放到S函数中怎么改写

function[s_2,s_1,s1,ds1,ds2,ub,uc]=chaoliu1(u,u1,p1,p2,q1,q2,r1,r2,x1,x2,b1,b2)ub=u;u... function [s_2,s_1,s1,ds1,ds2,ub,uc]=chaoliu1(u,u1,p1,p2,q1,q2,r1,r2,x1,x2,b1,b2)
ub=u;uc=u;ua=u1;
for i=1:3;
dQb1=f(b1,ub);
dQb2=f(b2,uc);
Sb=f1(p1,q1,dQb1,dQb2);
Sc=f1(p2,q2,dQb2,0);
ds2=f2(p2,q2,uc,r2,x2);
ds1=f2(p1,q1,ub,r1,x1);
s_2=Sc;
s2=s_2+ds2;
s_1=s2+Sb;
s1=s_1+ds1;
duab=f3(s1,r1,x1,ua);
d_uab=f4(s1,x1,r1,ua);
ub=f5(ua,duab,d_uab);
dubc=f3(s2,r2,x2,ub);
d_ubc=f4(s2,x2,r2,ub);
uc=f5(ub,dubc,d_ubc);
end
end
function A=f(b,u)
A=-(b*u^2)/2;
end
function B=f1(p,q,dq1,dq2)
B=p+q*1i+dq1*1i+dq2*1i;
end
function C=f2(p,q,u,r,x)
C=(p^2+q^2)*(r+x*1i)/u^2;
end
function D=f3(s,r,x,u)
D=(real(s)*r+imag(s)*x)/u;
end
function E=f4(s,x,r,u)
E=(real(x)*x-imag(s)*r)/u;
end
function F=f5(u,du,d_u)
F=sqrt((u-du)^2+d_u^2);
end
就是把这个放在S函数自定义模块中,然后一面连12个输入量,另外一面可以显示输出量
很急,跪求啊~
展开
 我来答
百度网友fe7dceac7
2012-04-08 · TA获得超过832个赞
知道小有建树答主
回答量:384
采纳率:0%
帮助的人:422万
展开全部
simulink--user-defined function下拖一个S-Function到你的模型,就可以用了 在simulink----user-defined function还有个s-Function Builder,他可以生成用c语 言写的s函数 在matlab的workspace下打sfundemos。

里面有个mlfile,然后选择好你的m文件路径。

不知道这样是不是你要求的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式