主要内容

s函数的例子

这些示例向您展示如何使用各种S-functions或使用S-functions的程序,包括C / c++ S-functions, Fortran S-functions, s函数构建器,二级MATLAB®S-functions, Blockset设计师。每个部分解释了如何打开文件是什么。这些都是很好的地方继续发展S-functions在学习基础知识的理解。这并不代表所有的例子可供S-functions,但相关的分段。

访问函数的例子

大部分的s函数的例子是贯穿sfundemos。这个示例库包含s函数模型和按编码类型分组,如C或c++ S-functions S-functions。

运行的一个例子sfundemos:

  1. 在MATLAB命令窗口中,输入sfundemos

    s函数示例库打开。

    每个块代表一个类别的s函数的例子。

  2. 双击一个类别显示的示例,它包含。例如,单击c文件

  3. 双击打开和运行示例块。

它可能有助于检查一些示例S-functions当你阅读下一章。代码示例存储在以下文件夹在MATLAB下根文件夹。

MATLAB代码

工具箱/模型/ 金宝appsimdemos / simfeatures

C、c++和Fortran语言代码

工具箱/模型/ 金宝appsimdemos / simfeatures / src

2级MATLABs函数的例子

matlabroot/工具/模型/ s金宝appimdemos / simfeatures文件夹(开放MATLAB S-functions)包含许多2级。考虑开始通过查看这些文件。更多关于所二级MATLAB S-functions,看到写2级MATLAB S-Functions

文件名 模型名称 描述
msfcn_dsc.m msfcndemo_sfundsc1 实现一个函数和一个继承采样时间。
msfcn_limintm.m msfcndemo_limintm 实现连续有限积分器的输出是有界的上下边界,包括初始条件。
msfcn_multirate.m msfcndemo_multirate 实现一个多重速率的系统。
msfcn_times_two.m msfcndemo_timestwo 实现一个函数,其输入。
msfcn_unit_delay.m msfcndemo_sfundsc2 实现一个单位延迟。
msfcn_varpulse.m msfcndemo_varpulse 实现一个变量脉冲宽度发生器通过调用set_param从2级MATLAB函数。还演示了如何使用自定义设置和获取方法SimState
msfcn_vs.m msfcndemo_vsfunc 实现一个变量样本时间块的第一个输入延迟的时间取决于第二输入。

C s函数的例子

matlabroot/工具/模型/ s金宝appimdemos / simfeatures / src文件夹(开放)包含的示例C墨西哥人S-functions,其中许多有MATLAB函数。C墨西哥人S-functions在下表中列出。更多关于C S-functions,明白了C / c++函数基础知识使用功能Builder构建S-Functions自动

文件名 模型名称 描述
csfunc.c sfcndemo_csfunc 实现连续系统。
dlimintc.c 没有可用的模型 实现一个离散时间有限的积分器。
dsfunc.c sfcndemo_dsfunc 实现一个离散系统。
limintc.c 没有可用的模型 实现一个有限集成器。
mixedm.c sfcndemo_mixedm 实现连续积分器组成的混合动态系统(1 / s)串联单元延迟(1 / z)。
mixedmex.c sfcndemo_mixedmex 实现一个混合动态系统与一个输出和两个输入。
slexQuantizeSFcn.c sfcndemo_sfun_quantize 实现一个矢量量化器。数字转换指定的输入步骤量化间隔参数,
sdotproduct.c sfcndemo_sdotproduct 计算点积(multiply-accumulate)两个真实的或复杂的向量。
sfbuilder_bususage.c sfbuilder_bususage 访问功能构建器与总线的输入和输出。
sfbuilder_movingAverage.c sfbuilder_movingAverage 实现简单移动平均使用时间窗口开始终止
sftable2.c sfcndemo_sftable2 实现一个二维表格查找。
sfun_atol.c sfcndemo_sfun_atol 设置不同的绝对误差为每个连续状态。
sfun_cplx.c sfcndemo_cplx 添加复杂的数据一个一个输入端口和一个参数的函数。
sfun_directlook.c 没有可用的模型 实现一个直接一维查找。
sfun_dtype_io.c sfcndemo_dtype_io 实现一个函数,使用仿真软件金宝app®数据类型的输入和输出。
sfun_dtype_param.c sfcndemo_dtype_param 实现一个函数,使用仿真软件的数据类型参数。金宝app
sfun_dynsize.c sfcndemo_sfun_dynsize 实现动态大小输出。
sfun_errhdl.c sfcndemo_sfun_errhdl 检查参数使用mdlCheckParameters功能程序。
sfun_fcncall.c sfcndemo_sfun_fcncall 执行函数调用子系统在第一和第二输出元素。
sfun_frmad.c sfcndemo_frame 实现一个框架a / D转换器。
sfun_frmda.c sfcndemo_frame 实现一个框架D / a转换器。
sfun_frmdft.c sfcndemo_frame 实现多通道框架离散傅里叶变换(和它的逆矩阵)。
sfun_frmunbuff.c sfcndemo_frame 实现一个框架unbuffer块。
sfun_multiport.c sfcndemo_sfun_multiport 配置多个输入和输出端口。
sfun_manswitch_mode.c 没有可用的模型 实现一个手动开关。
sfun_matadd.c sfcndemo_matadd 添加矩阵s函数与一个输入端口,一个输出端口,一个参数。
sfun_multirate.c sfcndemo_sfun_multirate 演示如何指定出口样品时间。
sfun_port_constant.c sfcndemo_port_constant 演示如何指定常数和出口样品乘以。
sfun_port_triggered.c sfcndemo_port_triggered 演示如何使用和出口样品次触发子系统。
sfun_runtime1.c sfcndemo_runtime 实现运行时参数可调参数。
sfun_runtime2.c sfcndemo_runtime 注册个人运行时参数。
sfun_runtime3.c sfcndemo_runtime 注册对话框参数作为运行时参数。
sfun_runtime4.c sfcndemo_runtime 实现运行时参数作为多个对话框的函数参数。
sfun_zc.c sfcndemo_sfun_zc 演示使用nonsampled零交叉来实现abs (u)。这个功能是设计用于与变步求解器进行求解。
sfun_zc_sat.c sfcndemo_sfun_zc_sat 证明零交叉饱和。
sfun_zc_cstate_sat.c sfcndemo_sfun_zc_cstate_sat 实现连续积分器饱和限制和零交点检测。
sfun_integrator_localsolver.c sfcndemo_sfun_localsolver 展示一个连续积分器的连续状态是解决使用一个单独的地方解决者,而不是使用的模型。
sfun_angle_events.c sfcndemo_angle_events 实现方法的强大而高效的检测身体旋转指定角度。
sfun_angle_events.c 没有可用的模型 展示角度检测和合并Stateflow®调度函数调用。
sfunmem.c sfcndemo_sfunmem 实现一个one-integration-step延迟和记忆功能。
simomex.c sfcndemo_simomex

实现一个单输入,两个输出状态方程所描述的动态系统状态空间方程:

dx / dt Bu = Ax + y =残雪+ Du
在哪里x状态向量,u是输入的向量,然后呢y输出的是向量。

stspace.c sfcndemo_stspace 实现一组状态空间方程。你可以把这变成一个新的块使用功能块和面具。这个例子墨西哥人文件执行相同的函数作为内置的状态。这是一个墨西哥人的例子文件数量的输入,输出,和状态依赖于参数传入的工作区。
stvctf.c sfcndemo_stvctf 实现一个连续时间传递函数的传递函数多项式传递通过输入向量。这是用于连续时间自适应控制的应用程序。
stvdtf.c sfcndemo_stvdtf 实现一个离散时间传递函数的传递函数多项式传递通过输入向量。这是有用的离散自适应控制应用程序。
stvmgain.c sfcndemo_stvmgain 实现一个时变矩阵增益。
table3.c 没有可用的模型 实现三维查找表。
timestwo.c sfcndemo_timestwo 实现一个C墨西哥人双打其输入的功能。
vdlmintc.c 没有可用的模型 实现一个离散矢量化有限的积分器。
vdpmex.c sfcndemo_vdpmex 实现范德波尔方程。
vlimintc.c 没有可用的模型 实现矢量化有限的积分器。
vsfunc.c sfcndemo_vsfunc 说明如何创建一个变量样本块的时间。块实现了变步延迟这第一个输入延迟的时间取决于第二输入。
sfun_pwm.c sfcndemo_pwm 说明如何创建一个可控的样本块的时间。
sfun_d2c sfcndemo_d2c 说明如何将离散输入信号转换成一个光滑的连续输出信号
sfun_pulse_delay.c sfcndemo_vco 说明如何实现一个算法来有效地延迟一个离散值输入信号由一个变量使用变量样本时间。

Fortran s函数的例子

下表列出了示例Fortran S-functions中可用matlabroot/工具/模型/ s金宝appimdemos / simfeatures / src文件夹(开放)。更多关于Fortran S-functions,看到创建2级Fortran S-Functions

文件名 模型名称

描述

sfun_atmos.c
sfun_atmos_sub.F
sfcndemo_atmos 计算1976标准大气86公里使用Fortran子例程。

c++函数的例子

下表列出了示例c++ S-functions中可用matlabroot/工具/模型/ s金宝appimdemos / simfeatures / src文件夹(开放)。关于c++ S-functions,明白了C / c++函数基础知识使用功能Builder构建S-Functions自动

文件名 模型名称 描述
sfun_counter_cpp.cpp sfcndemo_counter_cpp 存储一个c++对象指针的向量PWork
sfbuilder_permute.cpp sfbuilder_permutation 实现排列通过调用外部的c++类使用的开始和终止。
sfbuilder_linfilt.cpp sfbuilder_upsampling 使用c++ STL实现线性滤波算法的upsampling波信号。

在一个项目组织功能

下面的例子显示了如何安排功能构件成一个项目。这是使用Blockset设计师完成特性。更多Blockset设计师,看看创建一个Blockset项目

文件名 描述
slexBlocksetDesignerExample 功能构件组织到单个项目使用Blockset设计师。

另请参阅

|||

相关的话题