matlab simulink简介构造的S函数形成的模块怎么没有输入输出?就一个矩形,没有可以拉出的箭头!!!

matlab simulink中的fuzzy模块有没有解模糊过程_百度知道
matlab simulink中的fuzzy模块有没有解模糊过程
1、首先要做好.fis文件,具体做法就是在workspace中输入函数实现或者输入fuzzy,有GUI界面的模糊工具箱,很方便。2、在simulink里新建一个文件,打开Fuzzy工具箱,将Fuzzy Logic Controller拖动至空白文档中,添加好输入输出,有必要的画添加上几个增益,作为量化因子以改变加权程度。3、在workspace中用readfis()函数读取已经写好的.fis模糊推力矩阵,具体如下:&& myFLC=readfis('D:\\My Documents\MATLAB\relese\gh_Fuzzyhotel.fis')然后双击simulink文档中的Fuzzy Logic Controller,在FIS File中输入myFLC即可。4、设置仿真参数,进行仿真即可。 之所以总结此步骤是因为本人花了两小时将一个很简单的模糊控制器的控制曲线画出来却画的乱七八糟,翻阅书籍、上网询问最后得到以上步骤的。希望其他同学少走弯路。 另外,simulink的scope得到的曲线要想弄到Word里去,可以参考一下以下方法: 在simulink文档中增加to workspace模块,然后双击之,将save format改为array,确定。然后开始仿真。仿真结束后在workspace中用plot(simout)命令即可绘制出漂亮的图,然后edit》copy figure 。其中simout为to workspace的变量名,可以双击之改变。
其他类似问题
为您推荐:
simulink的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁Matlab Simulink中的 S函数报错,One or more output arguments not assigned during call to .程序如下,两输入三输出,实现根据输入量不同分段计算.检查了很多遍不知道哪里错了.【请高手告知如何具体修改,最好把修正后的程序贴上,】function [sys,x0,str,ts] = sys(t,x,u,flag)switch flag,case 0,[sys,x0,str,ts]=mdlInitializeScase 3,sys=mdlOutputs(t,x,u);case{1,2,4}sys=[];case 9,sys=mdlTerminate(t,x,u);otherwiseerror(['Unhandled flag=',num2str(flag)]);endfunction [sys,x0,str,ts]=mdlInitializeSizessizes =sizes.NumContStates =0;sizes.NumDiscStates =0;sizes.NumOutputs =3;sizes.NumInputs =2;sizes.DirFeedthrough =2;sizes.NumSampleTimes =1;sys= simsizes(sizes);x0 =[];str =[];ts =[0 0];function sys=mdlOutputs(t,x,u)if (u(2)>=0&u(2)=pi/3&u(2)=2*pi/3&u(2)=pi&u(2)=4*pi/3&u(2)=5*pi/3&u(2)
小豪°3867
1.你的程序只用了output函数,所以大可不必用s-function,Embedded MATLAB Function足矣,s-function检查起来很麻烦.2.给几个建议.a.case{1,2,4,9}取消后面的mdlTerminateb.sizes.NumSampleTimes =0;ts =[];c.最后一个elseif改成else再试试.3.glusera9216 说对一半.要用仿真调试,光看很麻烦.不过他不懂s-function
为您推荐:
其他类似问题
扫描下载二维码matlab 创建一个S-function函数,用于simulink仿真的S-function模块,功能如下:二输入u1,u2,三输出a,b,c;若u1>1,u2>1,则a=1,b=1,c=1;若u11,则a=2,b=1,c=1;若u1
用Embedded Matlab Function做即可.输入代码:function [a,b,c]=fcn(u)if u(1)>1 & u(2)>1
a=1;b=1;c=1;elseif u(1)1
a=2;b=1;c=1;elseif u(1)
为您推荐:
其他类似问题
扫描下载二维码如何使用MATLAB/SIMULINK中的Scope模块_百度知道
如何使用MATLAB/SIMULINK中的Scope模块
提问者采纳
输出端。Manual Switch:点乘运算Gain.mat):符号函数Logical Operator:调用自编的S函数的程序进行运算Look-Up Table:输入信号微分State-Space:正弦波信号:零阶采样和保持器Unit Delay:用用户自定义的函数(表达式)进行运算MATLAB Fcn、方波,它提供一个动态系统建模:由实部和虚部输入合成复数输出Nonlinear(非线性模块) nonlinear:开关选择。SIMULINK模块库按功能进行分类、正切等MinMax:关系运算Complex to Magnitude-Angle、开根号等常用数学函数Trigonometric Function:由幅值和相角输入合成复数输出Complex to Real-Imag,可以产生正弦。Step。Repeating Sequence。2。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink,但使用时会打开太多的子窗口: 斜坡信号、锯齿波及随意波:建立新的封装(Mask)功能模块Sinks(接收器模块) sinks,无需大量书写程序.mdlSaturation、结构和流程清晰及仿真精细:包括指数函数,否则输出由第三个输入端而来。Relay:一阶采样和保持器Zero-Order Hold:simulink3的Simulink模块库窗口,一般说来第二种窗口直观:示波器:线性状态空间系统模型Transfer-Fcn、形象。两种模块库窗口界面只是不同的显示形式:来自数据文件、在MATLAB命令窗口中输入simulink3结果是在桌面上出现一个用图标形式显示的Library :脉冲发生器,易于初学者、在MATLAB命令窗口中输入simulink结果是在桌面上出现一个称为Simulink Library Browser的窗口、灵活等优点:由复数输入转为幅值和相角输出Magnitude-Angle to Complex。Sine Wave.mdlIntegrator,在这个窗口中列出了按功能分类的各种模块的名称:来自MATLAB的工作空间:连接到没有连接到的输入端,就可构造出复杂的系统。Out1:一个采样周期的延时Function&Tables(函数和平台模块) function:输入信号延时一个固定时间再输出Variable Transport Delay.mdlScope,包括正弦:离散状态空间系统模型Discrete Transfer-Fcn、求平方.mdlSum:信号发生器.mdlFcn。Simulink具有适应面广:1:时钟信号,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计:Continuous(连续模块)Discrete(离散模块)Function&Tables(函数和平台模块)Math(数学模块)Nonlinear(非线性模块)Signals&Systems(信号和系统模块)Sinks(接收器模块)Sources(输入源模块)连续模块(Continuous) continuous。Clock,输出由第一个输入端而来:离散传递函数模型Discrete Zero-Pole.mdlIn1。To File(。Pulse Generator。XY Graph、仿真和综合分析的集成环境:存储上一时刻的状态值Transport DelaySimulink是MATLAB最重要的组件之一:将多个单一输入转化为一个复合输出:乘运算Dot Product。From Workspace。Switch。在该环境中、仿真和综合分析的集成环境。Demux:由复数输入转为实部和虚部输出Real-Imag to Complex:显示二维图形:建立输入信号的查询表(线性峰值匹配)Look-Up Table(2-D)。启用步骤。Ramp:离散时间积分器Discrete Filter。SubSystem。当然用户也可以通过MATLAB主窗口的快捷按钮来打开Simulink Library Browser窗口、贴近实际.mdlConstant:饱和输出、对数函数,当第二个输入端大于临界值时:滞环比较器:连接到没有连接到的输出端:利用matlab的现有函数进行运算S-Function,包括以下8类子库,限制输出值在某一范围内变化:将输出写入数据文件:输入信号积分Derivative:将一个复合输入转化为多个单一输出:阶跃波信号:取绝对值Sign:线性传递函数模型Zero-Pole:建立两个输入信号的查询表(线性峰值匹配)Math(数学模块) math:将输出写入MATLAB的工作空间、效率高:加减运算Product,让输出超过某一值时能够饱和:输入信号延时一个可变时间再输出离散模块(Discrete) discrete:手动选择开关Signal&Systems(信号和系统模块) sigsys.mdlDiscrete-time Integrator。To Workspace:常数信号,而只需要通过简单直观的鼠标操作。Ground,用户可以根据各人喜好进行选用:比例增益运算Math Function。Signal Generator:三角函数:输入端。Terminator、余弦:最值运算Abs。Mux:IIR与FIR滤波器Discrete State-Space。Sources(输入源模块) sources。From File(:以零极点表示的传递函数模型Memory:重复信号:逻辑运算Relational Operator,它提供一个动态系统建模.mat):以零极点表示的离散传递函数模型First-Order Hold。Simulink是MATLAB最重要的组件之一
来自团队:
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁两个matlab/simulink的子系统,如何在达到条件后停止一个子系统的仿真,另一个继续运行?
matlab/simulink 建了一个仿真系统,包含两个子系统,现在需要一个子系统在到达条件后停止仿真,而另一个子系统继续运行。我用了stop这个模块,但是每次一达到条件后,两个系统都停了。我想应该不是用stop模块吧?请各位帮忙谢谢。
按投票排序
如果真的有这个系统的话,我会考虑用m语言做循环,然后换数值求解器的方法来做。simulink没做过这种条件,也许可以通过S函数实现?
用enable模块,这么基础的问题适合百度百科~
已有帐号?
无法登录?
社交帐号登录

我要回帖

更多关于 matlab simulink 的文章