matlab/simulink中自定义m-s函数作为simulink模块使用实例

    一般而言matlab/simulink能满足多数使用要求,但是往往在研究中会使用User-difinition s-function或者调用c,c++的库函数,这时候就需要matlab能进行c,c++以及fortran语言的编译。

    本文是我第一次参考资料,利用m语言编写s函数的实例。User-Definition的s-fun可以作为一个simulink模块使用,这样在工程和科研中就可以自己开发需要的模块,并入simulink仿真之中,不必受制于simulink自带的有限模块。使用m语言写s-fun不需要mingw编译器。

题目:编写User-Definition的s-fun,使得正弦函数的波形加倍20倍,然后输出到scope。

实现步骤:

1. 新建simulink模型,拖入User-Definition的s-fun,然后双击s-fun,点击edit,进入编辑模块;


2. 编写m-sfun代码,并另存为time20.m,可以参照m-sfun的格式,具体代码如下:

function [sys,x0,str,ts]=timestwo(t,x,u,flag)
%   t是采样时间
%   x是状态变量
%   u是该simulink模块的输入
%   flag是仿真过程的状态标志,用来判断当前状态是初始化、执行、输出等
%   sys是flag的函数,不同的标志执行不同的sys
%   x0是状态变量的初始值
%   str是保留参数,一
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页
实付 29.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值