亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sffis.c

?? 模糊控制工具箱,很好用的,有相應(yīng)的說明文件,希望對大家有用!
?? C
字號:
/*
 * sffis.c : SIMULINK MEX Level 2 S-function for fuzzy controllers
 *
 * Author   : Murali Yeddanapudi, 13-Nov-1997
 *
 * Copyright 1994-2002 The MathWorks, Inc. 
 * All Rights Reserved
 * $Revision: 1.18 $
 */

/*
 * Syntax  [sys, x0] = sffis(t, x, u, flag, FISMATRIX)
 */

/*
 * The following #define is used to specify the name of this S-Function.
 */
#define S_FUNCTION_NAME sffis
#define S_FUNCTION_LEVEL 2

#include <stdio.h>	/* needed for declaration of sprintf */
#include <stdlib.h>	/* needed for declaration of calloc */

/*
 * Include simstruc.h for the definition of the SimStruct and
 * its associated macro definitions (e.g., ssPrintf)
 * Note: Do not include this in FIS.H (fails to compile in standalone mode)
 */
#include "simstruc.h"
#include "fis.h"

/* This is to make sure that the TLC file is used for RTW purposes */
#if !defined(MATLAB_MEX_FILE)
# error "sffis.c cannot be used with Real-Time Workshop."
#endif

#define FISMATRIX  ssGetSFcnParam(S,0)


extern void fisFreeFisNode(FIS *fis);
extern void fisEvaluate(FIS *fis, int numofpoints);
extern FIS  *matlab2cStr(const mxArray *matlabmat, int numofpoints);
extern bool WriteMatlabStructureToRTWFile(SimStruct     *S,
                                          const mxArray *mlStruct,
                                          const char    *structName,
                                          char          *strBuffer,
                                          const int     strBufferLen);
/* This makes sure parameter types is only checked at sim time (so that errors
 * in mdlCheckParameters are not thrown while editing a mask when fis=[])
 */
#define DONT_CHECK_PARAMS(S, ARG)  ((ssGetSimMode(S) == SS_SIMMODE_SIZES_CALL_ONLY) && mxIsEmpty(ARG))

#define MDL_CHECK_PARAMETERS
#if defined(MDL_CHECK_PARAMETERS) && defined(MATLAB_MEX_FILE)
/* Function: mdlCheckParameters =============================================
 * Abstract:
 *    Validate our parameters to verify they are okay.
 */
static void mdlCheckParameters(SimStruct *S)
{
    /* Check FIS parameter: has to be a structure */
    
    if (!mxIsStruct(FISMATRIX)) {
        ssSetErrorStatus(S,"FIS parameter must be a structure");
        return;
    } 
}
#endif /* MDL_CHECK_PARAMETERS */


/* Function: mdlInitializeSizes ===============================================
 * Abstract:
 *      Initialize the sizes array
 */
static void mdlInitializeSizes(SimStruct *S)
{
    int     in_n;
    int     out_n;
    mxArray *fispointer;

    /* the fis structure is the only parameter */
    ssSetNumSFcnParams(S, 1);
    if ((DONT_CHECK_PARAMS(S,FISMATRIX)) || (ssGetNumSFcnParams(S) != ssGetSFcnParamsCount(S)))
	{
        /* Parameter check not related to simulation, or parameter mismatch */
		return; 
    } else {
        mdlCheckParameters(S);
        if (ssGetErrorStatus(S) != NULL) return;
    }

    /* the fis structure cannot be changed during simulation */
    ssSetSFcnParamNotTunable(S,0);

    ssSetNumContStates(S, 0);
    ssSetNumDiscStates(S, 0);

    /* set number of input ports, their widths and direct feed thru flags */
    if (!ssSetNumInputPorts(S, 1)) return;
    fispointer = mxGetField(FISMATRIX, 0,"input");
    in_n       = mxGetN(fispointer);
    ssSetInputPortWidth(S, 0, in_n);

    ssSetInputPortDirectFeedThrough(S, 0, 1);

    /* set the number of output ports and their widths */
    if (!ssSetNumOutputPorts(S, 1)) return;
    fispointer = mxGetField(FISMATRIX, 0,"output");
    out_n      = mxGetN(fispointer);
    ssSetOutputPortWidth(S, 0, out_n);

    ssSetNumSampleTimes(S, 1);
    ssSetNumRWork(S, 0);
    ssSetNumIWork(S, 0);
    ssSetNumPWork(S, 1); /* pwork to cache pointer to the fis data struture */
    ssSetNumModes(S, 0);
    ssSetNumNonsampledZCs(S, 0);
    ssSetOptions(S, 0);

} /* end mdlInitializeSizes */



/* Function: mdlInitializeSampleTimes =========================================
 * Abstract:
 *      Initialize the sample times array
 */
static void mdlInitializeSampleTimes(SimStruct *S)
{
    ssSetSampleTime(S, 0, INHERITED_SAMPLE_TIME);
    ssSetOffsetTime(S, 0, 0.0);
}



#define MDL_START
#if defined(MDL_START)
/* Function: mdlStart =========================================================
 * Abstract:
 *    Setup the FIS Data Structure.
 */
static void mdlStart(SimStruct *S)
{
    FIS *fis;

    if ( (fis = matlab2cStr(FISMATRIX, 101)) == NULL) {
        ssSetErrorStatus(S,"Memory Allocation Error");
        return;
    }
    fis->next = NULL;

    /* Cache the fis pointer in the pwork */
    ssSetPWorkValue(S, 0, fis);
}
#endif /* MDL_START */



/* Function: mdlOutputs =======================================================
 * Abstract:
 *      Compute the outputs
 */
static void mdlOutputs(SimStruct *S, int_T tid)
{
    FIS   *fis = ssGetPWorkValue(S,0);
    int_T j;

    /* Copy over the input */
    {
        InputRealPtrsType uPtrs  = ssGetInputPortRealSignalPtrs(S,0);
        int_T             in_n   = fis->in_n;

        for (j = 0; j < in_n; j++) {
            fis->input[j]->value = (*uPtrs[j]);
        }
    }

    /* Compute the output */
    fisEvaluate(fis, 101);

    /* Copy over the output */
    {
        real_T *y    = ssGetOutputPortRealSignal(S,0);
        int_T  out_n = fis->out_n;

        for (j = 0; j < out_n; j++) {
            y[j] = fis->output[j]->value;
        }
    }
} /* end mdlOutputs */



/* Function: mdlTerminate =====================================================
 * Abstract:
 *      Free up the fis data structure.
 */
static void mdlTerminate(SimStruct *S)
{
    FIS *fis = ssGetPWorkValue(S,0);
    fisFreeFisNode(fis);

} /* end mdlTerminate */



#define MDL_RTW
#if defined(MDL_RTW) && (defined(MATLAB_MEX_FILE) || defined(NRT))
/* Function: mdlRTW =========================================================
 * Abstract:
 *
 */
static void mdlRTW(SimStruct *S)
{
    const mxArray *fis          = FISMATRIX;
    char          tmpStrBuf[80] = "\0";

    if ( !WriteMatlabStructureToRTWFile(S,fis,"SFcnFIS",tmpStrBuf,80) ) {
        ssSetErrorStatus(S,"Error writing to RTW File");
    }
    return;
}
#endif /* MDL_RTW */



/*=============================*
 * Required S-function trailer *
 *=============================*/

#ifdef MATLAB_MEX_FILE    /* Is this file being compiled as a MEX-file? */
# include "simulink.c"      /* MEX-file interface mechanism */
#else
# include "cg_sfun.h"       /* Code generation registration function */
#endif

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲人成小说网站色在线| 日本系列欧美系列| 日韩精品成人一区二区三区| 国产在线精品免费| 在线看日韩精品电影| 久久午夜羞羞影院免费观看| 亚洲成人福利片| aaa国产一区| 26uuu国产在线精品一区二区| 国产福利电影一区二区三区| 欧美三级在线播放| 日韩美女久久久| 青青草国产精品97视觉盛宴| 99视频一区二区三区| 久久久精品欧美丰满| 视频一区视频二区中文| 色综合天天做天天爱| 国产精品初高中害羞小美女文| 日本一区二区三区在线不卡| 日本女人一区二区三区| 色婷婷综合在线| 国产精品女主播av| 成人自拍视频在线| 2023国产精华国产精品| 久久精品久久久精品美女| 欧美三片在线视频观看| 亚洲综合一二三区| 日本道精品一区二区三区| 中文字幕在线观看不卡| eeuss鲁片一区二区三区| 久久精品夜夜夜夜久久| 国产乱码精品一区二区三区五月婷 | 欧美视频一区二区| 综合欧美一区二区三区| 91蜜桃网址入口| 亚洲人成精品久久久久久| 99re66热这里只有精品3直播| 91免费观看视频| 亚洲欧美激情在线| 色噜噜狠狠成人网p站| 中文字幕一区二区三区四区| 99久久精品国产导航| 亚洲免费视频中文字幕| 色狠狠综合天天综合综合| 一区二区三区高清不卡| 欧美三级在线看| 蜜桃av一区二区三区| 欧美mv日韩mv| 福利视频网站一区二区三区| 国产精品久久久久久亚洲伦| 色欧美片视频在线观看| 偷窥少妇高潮呻吟av久久免费| 国v精品久久久网| **性色生活片久久毛片| 欧洲精品视频在线观看| 免费欧美日韩国产三级电影| 欧美成人激情免费网| 国产成人亚洲精品狼色在线| 国产精品国产三级国产有无不卡| 麻豆久久久久久| 欧美精品一区二区三区蜜臀 | 日韩三级精品电影久久久| 国产做a爰片久久毛片| 国产精品视频线看| 欧美精品精品一区| 国产一区亚洲一区| 自拍偷拍亚洲欧美日韩| 欧美欧美午夜aⅴ在线观看| 久久97超碰国产精品超碰| 自拍偷拍国产精品| 欧美一区在线视频| 波多野结衣在线一区| 亚洲午夜精品在线| 欧美国产综合色视频| 欧美日韩精品一区二区天天拍小说| 国产精品狼人久久影院观看方式| 精品在线视频一区| 一区二区三区四区蜜桃| 欧美一区二区视频观看视频| 不卡av在线网| 久久国产福利国产秒拍| 亚洲欧洲av色图| 精品久久久久久亚洲综合网| 91啪亚洲精品| 国产成人精品影视| 日韩av一级片| 依依成人精品视频| 欧美激情一区二区三区全黄 | 日本亚洲视频在线| 亚洲欧美另类图片小说| 精品国产一区二区三区不卡| 欧美专区日韩专区| 99久久精品费精品国产一区二区| 亚洲色欲色欲www在线观看| 精品国产麻豆免费人成网站| 欧美在线小视频| 成人午夜在线播放| 国产精品影音先锋| 久久成人免费网| 三级欧美在线一区| 亚洲天堂免费看| 国产精品国产馆在线真实露脸 | 欧美日韩精品专区| 91在线视频在线| caoporen国产精品视频| 国产成人aaaa| 国产99精品国产| 国产99久久久国产精品| 国产精品1区2区3区在线观看| 欧美国产激情二区三区| 国产人成亚洲第一网站在线播放| 成人免费视频网站在线观看| 国产真实精品久久二三区| 精品一区二区免费| 精品在线播放免费| 国产综合色在线视频区| 国产精品一区专区| 成人午夜又粗又硬又大| 国产乱理伦片在线观看夜一区| 亚洲私人黄色宅男| 亚洲欧洲av在线| 亚洲欧洲中文日韩久久av乱码| 欧美亚洲禁片免费| 欧美日韩1234| 欧美大肚乱孕交hd孕妇| 精品国产免费视频| 日本一区二区在线不卡| 亚洲天堂久久久久久久| 一区二区三区精品在线| 亚洲图片自拍偷拍| 日韩精品一二三区| 黄色精品一二区| 成人精品一区二区三区中文字幕 | 欧美三日本三级三级在线播放| 国产一区二区美女诱惑| 丁香亚洲综合激情啪啪综合| 91丨porny丨户外露出| 欧美性生活久久| 精品精品国产高清a毛片牛牛| 日本道色综合久久| 欧美一区二区三区四区五区| 久久亚洲二区三区| 一区二区三区四区五区视频在线观看 | 色偷偷88欧美精品久久久| 欧美丝袜丝nylons| 欧美精品一区二区三区很污很色的| 在线亚洲免费视频| 欧美本精品男人aⅴ天堂| 国产欧美一区二区精品久导航| 日韩精品一区二区三区在线播放| 欧美无人高清视频在线观看| 精品国产乱码久久久久久蜜臀| 欧美午夜精品一区| 久久精品亚洲精品国产欧美kt∨| 欧美高清hd18日本| 国产精品久久久久影院亚瑟 | 在线电影欧美成精品| 久久久久久久久岛国免费| 国产精品伦理在线| 日韩av在线免费观看不卡| av中文字幕亚洲| 精品日韩在线一区| 亚洲成人免费在线| 成人午夜激情影院| 日韩免费观看高清完整版| 亚洲激情自拍视频| 国产不卡视频一区二区三区| 欧美色综合久久| 亚洲特黄一级片| 国产乱国产乱300精品| 91精品国产一区二区三区蜜臀| 91精品啪在线观看国产60岁| 国产欧美日韩中文久久| 麻豆91在线观看| 欧美午夜片在线看| 亚洲欧美欧美一区二区三区| 国产精品一区二区男女羞羞无遮挡| 国产乱码精品1区2区3区| 在线播放中文字幕一区| 亚洲欧洲成人自拍| 国产成人日日夜夜| 精品国偷自产国产一区| 日产精品久久久久久久性色| 欧美三级乱人伦电影| 亚洲视频一区二区免费在线观看 | 99在线视频精品| 国产丝袜欧美中文另类| 日韩av电影免费观看高清完整版 | 欧美体内she精视频| 中文字幕一区二区三区在线播放| 亚洲女同一区二区| 风流少妇一区二区| 欧美精品一区二区精品网| 六月丁香婷婷久久| 欧美一级专区免费大片| 秋霞成人午夜伦在线观看| 91精品久久久久久蜜臀| 日本美女视频一区二区| 日韩一区二区在线观看| 久久aⅴ国产欧美74aaa|