matlab中的S-函数问题
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/21 11:20:45
matlab中的S-函数问题
永磁无刷直流电机,对于S-函数的实现,使用C MEX S-函数执行
#define S_FUNCTION_NAME chengxu
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include "math.h"`
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 0);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
return;
}
if (!ssSetNumInputPorts(S, 1)) return;
ssSetInputPortWidth(S, 0, 2);
ssSetInputPortDirectFeedThrough(S, 0, 1);
if (!ssSetNumOutputPorts(S, 1)) return;
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME);
.
.
static void mdlTerminate(SimStruct *S)
{
UNUSED_ARG(S);
}
#ifdef MATLAB_MEX_FILE
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif
仿真的是后提示错误,Error: File: E:\matlab\work\chengxu.m Line: 1 Column: 1
Missing variable or function.
程序中间有省略
simulink仿真错误如图
![](http://img.wesiedu.com/upload/b/0d/b0dee95ecc8ac9d063a89fc0e30ea17c.jpg)
永磁无刷直流电机,对于S-函数的实现,使用C MEX S-函数执行
#define S_FUNCTION_NAME chengxu
#define S_FUNCTION_LEVEL 2
#include "simstruc.h"
#include "math.h"`
static void mdlInitializeSizes(SimStruct *S)
{
ssSetNumSFcnParams(S, 0);
if (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)) {
return;
}
if (!ssSetNumInputPorts(S, 1)) return;
ssSetInputPortWidth(S, 0, 2);
ssSetInputPortDirectFeedThrough(S, 0, 1);
if (!ssSetNumOutputPorts(S, 1)) return;
static void mdlInitializeSampleTimes(SimStruct *S)
{
ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME);
.
.
static void mdlTerminate(SimStruct *S)
{
UNUSED_ARG(S);
}
#ifdef MATLAB_MEX_FILE
#include "simulink.c"
#else
#include "cg_sfun.h"
#endif
仿真的是后提示错误,Error: File: E:\matlab\work\chengxu.m Line: 1 Column: 1
Missing variable or function.
程序中间有省略
simulink仿真错误如图
![](http://img.wesiedu.com/upload/b/0d/b0dee95ecc8ac9d063a89fc0e30ea17c.jpg)
![matlab中的S-函数问题](/uploads/image/z/19320436-28-6.jpg?t=matlab%E4%B8%AD%E7%9A%84S-%E5%87%BD%E6%95%B0%E9%97%AE%E9%A2%98)
这个问题太专业,去找找身边的电脑高手吧.