资源简介
Matlab中,用c或m语言编写s函数.rar
Matlab中,用c或m语言编写s函数.rar
有具体例子 非常适合新手

代码片段和文件信息
/* File : sfun_counter_cpp.cpp
* Abstract:
*
* Example of an C++ S-function which stores an C++ object in
* the pointers vector PWork.
*
* Copyright 1990-2005 The MathWorks Inc.
* $Revision: 1.4.4.5 $
*/
#include
#ifdef __cplusplus
extern “C“ { // use the C fcn-call standard for all functions
#endif // defined within this scope
#define S_FUNCTION_LEVEL 2
#define S_FUNCTION_NAME gplCnComm
/*
* Need to include simstruc.h for the definition of the SimStruct and
* its associated macro definitions.
*/
//need to put “.h“ files into folder: \simulink\include
#include “simstruc.h“
#include “CnComm.h“
#include
#define BAUDRATE 9600
#define SAMPLETIME 0.15
//global vars:
CnComm com_simulink;//默认:启动监视线程,重叠IO(异步模式)
double num = 3.0;
char str[] = “Hello how are you!\n“;
#define IS_PARAM_DOUBLE(pVal) (mxIsNumeric(pVal) && !mxIsLogical(pVal) &&\
!mxIsEmpty(pVal) && !mxIsSparse(pVal) && !mxIsComplex(pVal) && mxIsDouble(pVal))
/*====================*
* S-function methods *
*====================*/
#define MDL_CHECK_PARAMETERS
#if defined(MDL_CHECK_PARAMETERS) && defined(MATLAB_MEX_FILE)
/*
* Check to make sure that each parameter is 1-d and positive
*/
static void mdlCheckParameters(SimStruct *S)
{
const mxArray *pVal0 = ssGetSFcnParam(S0);
if ( !IS_PARAM_DOUBLE(pVal0)) {
ssSetErrorStatus(S “Parameter to S-function must be a double scalar“);
return;
}
}
#endif
/* Function: mdlInitializeSizes ===============================================
* Abstract:
* The sizes information is used by Simulink to determine the S-function
* block‘s characteristics (number of inputs outputs states etc.).
*/
static void mdlInitializeSizes(SimStruct *S)
{
/* See sfuntmpl.doc for more details on the macros below */
ssSetNumSFcnParams(S 1); /* Number of expected parameters */
#if defined(MATLAB_MEX_FILE)
if (ssGetNumSFcnParams(S) == ssGetSFcnParamsCount(S)) {
mdlCheckParameters(S);
if (ssGetErrorStatus(S) != NULL) {
return;
}
} else {
return; /* Parameter mismatch will be reported by Simulink */
}
#endif
ssSetSFcnParamTunable(S 0 0);
ssSetNumContStates(S 0);
ssSetNumDiscStates(S 0);
if (!ssSetNumInputPorts(S 0)) return;
if (!ssSetNumOutputPorts(S 1)) return;
ssSetOutputPortWidth(S 0 1);
ssSetNumSampleTimes(S 1);//only one sample timer
ssSetNumRWork(S 0);
ssSetNumIWork(S 0);
ssSetNumPWork(S 1); // reserve element in the pointers vector
ssSetNumModes(S 0); // to store a C++ object
ssSetNumNonsampledZCs(S 0);
ssSetOptions(S 0);
}
/* Function: mdlInitializeSampleTimes =========================================
* Abstract:
* This function is used to specify the sample time(s) for your
* S-fu
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 691 2009-07-09 18:17 S Function-c语言编写s函数模板\C MEX S-function的一般格式.txt
文件 516278 2009-07-09 12:22 S Function-c语言编写s函数模板\sfundemos命令.bmp
文件 7047 2002-04-11 08:18 S Function-c语言编写s函数模板\sfuntmpl_basic.c-这是matlab提供的c mex s函数模板.txt
文件 1008086 2009-07-09 18:10 S Function-c语言编写s函数模板\例1:输出是输入的两倍\model and result.bmp
文件 4045 2009-07-09 14:03 S Function-c语言编写s函数模板\例1:输出是输入的两倍\timestwo.c-系统自带示例函数.txt
文件 1539966 2009-07-09 14:07 S Function-c语言编写s函数模板\例1:输出是输入的两倍\编译timestwo.c.bmp
文件 4833 2009-07-09 17:21 S Function-c语言编写s函数模板\例2:离散系统\dsfunc.c-系统自带,离散demo.txt
文件 496182 2009-07-09 17:08 S Function-c语言编写s函数模板\例2:离散系统\model.bmp
文件 57203 2009-07-26 09:52 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\CnComm.h
文件 6677 2009-07-28 09:01 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\gplCnComm.cpp
文件 16874 2009-07-28 09:01 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\gpl_com_test_cncomm.mdl
文件 989398 2009-07-28 09:03 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\matlab界面.bmp
文件 265 2009-07-26 10:44 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\头文件路径及编译方法.txt
文件 963742 2009-07-28 09:02 S Function-c语言编写s函数模板\基于C++的S函数编写-第一个程序\接收界面.bmp
文件 2874 2009-07-09 12:11 S Function-使用m文件创建S函数\sfuntmpl-用m语言写s函数的模板.txt
..A.SH. 6656 2009-07-09 09:38 S Function-使用m文件创建S函数\Thumbs.db
文件 1758294 2009-07-08 21:14 S Function-使用m文件创建S函数\例1:使用matlab自带的s函数.bmp
文件 758 2009-07-09 12:14 S Function-使用m文件创建S函数\例2:使用s函数实现增益,使得y=3u\gong_compute_gain.txt
文件 1240854 2009-07-08 21:35 S Function-使用m文件创建S函数\例2:使用s函数实现增益,使得y=3u\model.bmp
..A.SH. 8192 2009-07-09 12:14 S Function-使用m文件创建S函数\例2:使用s函数实现增益,使得y=3u\Thumbs.db
文件 1248 2009-07-08 22:20 S Function-使用m文件创建S函数\例3:使用s函数对单摆系统进行仿真\gong_single_pendulum.txt
文件 15960 2009-07-08 22:23 S Function-使用m文件创建S函数\例3:使用s函数对单摆系统进行仿真\mys.mdl
文件 448490 2009-07-08 23:26 S Function-使用m文件创建S函数\例3:使用s函数对单摆系统进行仿真\例3:使用s函数对单摆系统进行仿真.pdf
文件 1017 2009-07-09 12:12 S Function-使用m文件创建S函数\例4:连续系统\gong_continuous_sys.txt
文件 17361 2009-07-09 08:49 S Function-使用m文件创建S函数\例4:连续系统\mys.mdl
文件 302000 2009-07-09 08:50 S Function-使用m文件创建S函数\例4:连续系统\使用s函数设计连续系统模块.pdf
文件 2660 2009-07-09 09:31 S Function-使用m文件创建S函数\例5:离散系统\dsfunc-是matlab系统的离散s函数模板.txt
文件 1041 2009-07-09 12:13 S Function-使用m文件创建S函数\例5:离散系统\gong_discrete_sys.txt
文件 17399 2009-07-09 09:00 S Function-使用m文件创建S函数\例5:离散系统\mys.mdl
文件 229784 2009-07-09 09:15 S Function-使用m文件创建S函数\例5:离散系统\使用s函数设计离散系统模块.pdf
............此处省略12个文件信息
- 上一篇:水平集 matlab实现 内含原理论文!效果很好
- 下一篇:多目标优化文档及代码
相关资源
- matlab_OFDM调制解调(来自剑桥大学)
- Matlab路面裂缝识别69319
- 高灵敏度GPS接收机MATLAB仿真,附捕获
- 基于MATLAB的质点弹道计算与外弹道优
- 阵列天线的matlab仿真
- MATLAB 经典程序源代码大全
- MATLAB小波软阈值去噪代码33473
- 天线阵的波束形成在MATLAB仿真程序及
- 非线性SVM算法-matlab实现
- 《MATLAB 智能算法超级学习手册》-程序
- 组合导航matlab程序
- 读取txt文件内容matlab代码实现
- Matlab实现基于相关的模板匹配程序
- matlab优化工具箱讲解
- 基于MATLAB的快速傅里叶变换
- 光纤传输中的分布傅立叶算法matlab实
- 基于matlab的图像处理源程序
- matlab 椭圆拟合程序
- 算术编码解码matlab源代码
- optical_flow 光流法 matlab 实现程序
- 引导图像滤波器 Matlab实现
- 分形几何中一些经典图形的Matlab画法
- OFDM系统MATLAB仿真代码
- SVM工具箱(matlab中运行)
- 图像小波变换MatLab源代码
- LU分解的MATLAB实现
- 冈萨雷斯数字图像处理matlab版(第三
- 替代数据法的matlab程序
- 用matlab实现的多站定位系统性能仿真
- 通过不同方法进行粗糙集属性约简m
评论
共有 条评论