资源简介
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实现 内含原理论文!效果
- matlab图像处理源程序包
- matlab课程设计实现photoshop功能
- 通信原理MATLAB仿真实验指导书V2.0林志
- 信号与系统分析及MATLAB实现高清pdf
- 基于matlab的GUI编写的UDP测试上位机
- 细胞图像分割与计数
- AdaBoost等MatLab代码带测试数据
- matlab 地统计工具箱 SEKSGUI0.65.rar
- Solutions Manual for Digital Signal Processing
- [MATLAB_GUI设计学习手记]源代码.rar
- Kalman滤波器理论与应用——基于MATL
- 数字信号处理及其MATLAB实现.pdf99610
- MATLAB数学建模算法及分析
- 相机标定Matlab程序
- 现代数字图像处理技术提高及应用案
- pid温度控制程序及论文
- MATLAB去除背景声音--人声
- Matlab控制系统串联校正设计及可视化
- 精通MATLAB智能算法(配套代码)
- retinex 算法matlab仿真
- matlab印刷体神经网络训练数据集
- 模糊控制及其matlab仿真86703
- Computational Fourier Optics _ a MATLAB tutori
- MATLAB GUI 图像特效
- matlab2017b实现深度学习训练自己图像集
- ASEF人眼定位matlab仿真
- 支持向量机回归smo的matlab实现 附带测
- MATLAB初学者教程- MATLAB编程-菜鸟入门
- GPS基本原理及MATLAB仿真
评论
共有 条评论