⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 myfunc.c

📁 MATLAB混合编程想把matlab强大的功能用在自己的工程实践中吗这是本不错的混合编程的书
💻 C
字号:
/*
 * MATLAB Compiler: 3.0
 * Date: Tue Nov 08 20:41:10 2005
 * Arguments: "-B" "macro_default" "-O" "all" "-O" "fold_scalar_mxarrays:on" "-O" "fold_non_scalar_mxarrays:on" "-O" "optimize_integer_for_loops:on" "-O" "array_indexing:on" "-O" "optimize_conditionals:on" "-B" "C:\Documents and Settings\Yang Gaobo\Application Data\MathWorks\MATLAB\R13\mccpath" "-I" "C:\MATLAB6p5\toolbox\matlab\general" "-I" "C:\MATLAB6p5\toolbox\matlab\ops" "-I" "C:\MATLAB6p5\toolbox\matlab\lang" "-I" "C:\MATLAB6p5\toolbox\matlab\elmat" "-I" "C:\MATLAB6p5\toolbox\matlab\elfun" "-I" "C:\MATLAB6p5\toolbox\matlab\specfun" "-I" "C:\MATLAB6p5\toolbox\matlab\matfun" "-I" "C:\MATLAB6p5\toolbox\matlab\datafun" "-I" "C:\MATLAB6p5\toolbox\matlab\audio" "-I" "C:\MATLAB6p5\toolbox\matlab\polyfun" "-I" "C:\MATLAB6p5\toolbox\matlab\funfun" "-I" "C:\MATLAB6p5\toolbox\matlab\sparfun" "-I" "C:\MATLAB6p5\toolbox\matlab\graph2d" "-I" "C:\MATLAB6p5\toolbox\matlab\graph3d" "-I" "C:\MATLAB6p5\toolbox\matlab\specgraph" "-I" "C:\MATLAB6p5\toolbox\matlab\graphics" "-I" "C:\MATLAB6p5\toolbox\matlab\uitools" "-I" "C:\MATLAB6p5\toolbox\matlab\strfun" "-I" "C:\MATLAB6p5\toolbox\matlab\iofun" "-I" "C:\MATLAB6p5\toolbox\matlab\timefun" "-I" "C:\MATLAB6p5\toolbox\matlab\datatypes" "-I" "C:\MATLAB6p5\toolbox\matlab\verctrl" "-I" "C:\MATLAB6p5\toolbox\matlab\winfun" "-I" "C:\MATLAB6p5\toolbox\matlab\winfun\comcli" "-I" "C:\MATLAB6p5\toolbox\matlab\demos" "-I" "C:\MATLAB6p5\toolbox\local" "-I" "C:\MATLAB6p5\toolbox\simulink\simulink" "-I" "C:\MATLAB6p5\toolbox\simulink\blocks" "-I" "C:\MATLAB6p5\toolbox\simulink\components" "-I" "C:\MATLAB6p5\toolbox\simulink\fixedandfloat" "-I" "C:\MATLAB6p5\toolbox\simulink\fixedandfloat\fxpdemos" "-I" "C:\MATLAB6p5\toolbox\simulink\fixedandfloat\obsolete" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos\aerospace" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos\automotive" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos\simfeatures" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos\simgeneral" "-I" "C:\MATLAB6p5\toolbox\simulink\simdemos\simnew" "-I"
 * "C:\MATLAB6p5\toolbox\simulink\dee" "-I" "C:\MATLAB6p5\toolbox\simulink\dastudio" "-I" "C:\MATLAB6p5\toolbox\stateflow\stateflow" "-I" "C:\MATLAB6p5\toolbox\stateflow\sfdemos" "-I" "C:\MATLAB6p5\toolbox\stateflow\coder" "-I" "C:\MATLAB6p5\toolbox\rtw\rtw" "-I" "C:\MATLAB6p5\toolbox\rtw\rtwdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\rtwdemos\rsimdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\asap2\asap2" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\asap2\asap2\user" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\rtwin\rtwin" "-I" "C:\MATLAB6p5\toolbox\aeroblks\aeroblks" "-I" "C:\MATLAB6p5\toolbox\aeroblks\aerodemos" "-I" "C:\MATLAB6p5\toolbox\ccslink\ccslink" "-I" "C:\MATLAB6p5\toolbox\ccslink\ccsdemos" "-I" "C:\MATLAB6p5\toolbox\ccslink\rtdxblks" "-I" "C:\MATLAB6p5\toolbox\cdma\cdma" "-I" "C:\MATLAB6p5\toolbox\cdma\cdmamasks" "-I" "C:\MATLAB6p5\toolbox\cdma\cdmamex" "-I" "C:\MATLAB6p5\toolbox\cdma\cdmademos" "-I" "C:\MATLAB6p5\toolbox\combuilder\combuilder" "-I" "C:\MATLAB6p5\toolbox\comm\comm" "-I" "C:\MATLAB6p5\toolbox\comm\commdemos" "-I" "C:\MATLAB6p5\toolbox\comm\commobsolete" "-I" "C:\MATLAB6p5\toolbox\commblks\commblks" "-I" "C:\MATLAB6p5\toolbox\commblks\commmasks" "-I" "C:\MATLAB6p5\toolbox\commblks\commmex" "-I" "C:\MATLAB6p5\toolbox\commblks\commblksdemos" "-I" "C:\MATLAB6p5\toolbox\commblks\commblksobsolete\commblksobsolete" "-I" "C:\MATLAB6p5\toolbox\compiler" "-I" "C:\MATLAB6p5\toolbox\control\control" "-I" "C:\MATLAB6p5\toolbox\control\ctrlguis" "-I" "C:\MATLAB6p5\toolbox\control\ctrlobsolete" "-I" "C:\MATLAB6p5\toolbox\control\ctrlutil" "-I" "C:\MATLAB6p5\toolbox\control\ctrldemos" "-I" "C:\MATLAB6p5\toolbox\curvefit\curvefit" "-I" "C:\MATLAB6p5\toolbox\curvefit\cftoolgui" "-I" "C:\MATLAB6p5\toolbox\daq\daq" "-I" "C:\MATLAB6p5\toolbox\daq\daqguis" "-I" "C:\MATLAB6p5\toolbox\daq\daqdemos" "-I" "C:\MATLAB6p5\toolbox\database\database" "-I" "C:\MATLAB6p5\toolbox\database\dbdemos" "-I" "C:\MATLAB6p5\toolbox\database\vqb" "-I" "C:\MATLAB6p5\toolbox\datafeed\datafeed" "-I" "C:\MATLAB6p5\toolbox\datafeed\dfgui" "-I"
 * "C:\MATLAB6p5\toolbox\dials" "-I" "C:\MATLAB6p5\toolbox\dspblks\dspblks" "-I" "C:\MATLAB6p5\toolbox\dspblks\dspmasks" "-I" "C:\MATLAB6p5\toolbox\dspblks\dspmex" "-I" "C:\MATLAB6p5\toolbox\dspblks\dspdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\ecoder" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\ecoder\ecoderdemos" "-I" "C:\MATLAB6p5\toolbox\exlink" "-I" "C:\MATLAB6p5\toolbox\filterdesign\filterdesign" "-I" "C:\MATLAB6p5\toolbox\filterdesign\quantization" "-I" "C:\MATLAB6p5\toolbox\filterdesign\filtdesdemos" "-I" "C:\MATLAB6p5\toolbox\finance\finance" "-I" "C:\MATLAB6p5\toolbox\finance\calendar" "-I" "C:\MATLAB6p5\toolbox\finance\findemos" "-I" "C:\MATLAB6p5\toolbox\finance\finsupport" "-I" "C:\MATLAB6p5\toolbox\finderiv\finderiv" "-I" "C:\MATLAB6p5\toolbox\fixpoint" "-I" "C:\MATLAB6p5\toolbox\ftseries\ftseries" "-I" "C:\MATLAB6p5\toolbox\ftseries\ftsdemos" "-I" "C:\MATLAB6p5\toolbox\ftseries\ftsdata" "-I" "C:\MATLAB6p5\toolbox\ftseries\ftstutorials" "-I" "C:\MATLAB6p5\toolbox\fuzzy\fuzzy" "-I" "C:\MATLAB6p5\toolbox\fuzzy\fuzdemos" "-I" "C:\MATLAB6p5\toolbox\garch\garch" "-I" "C:\MATLAB6p5\toolbox\garch\garchdemos" "-I" "C:\MATLAB6p5\toolbox\ident\ident" "-I" "C:\MATLAB6p5\toolbox\ident\idobsolete" "-I" "C:\MATLAB6p5\toolbox\ident\idguis" "-I" "C:\MATLAB6p5\toolbox\ident\idutils" "-I" "C:\MATLAB6p5\toolbox\ident\iddemos" "-I" "C:\MATLAB6p5\toolbox\ident\idhelp" "-I" "C:\MATLAB6p5\toolbox\images\images" "-I" "C:\MATLAB6p5\toolbox\images\imdemos" "-I" "C:\MATLAB6p5\toolbox\instrument\instrument" "-I" "C:\MATLAB6p5\toolbox\instrument\instrumentdemos" "-I" "C:\MATLAB6p5\toolbox\lmi\lmictrl" "-I" "C:\MATLAB6p5\toolbox\lmi\lmilab" "-I" "C:\MATLAB6p5\toolbox\map\map" "-I" "C:\MATLAB6p5\toolbox\map\mapdisp" "-I" "C:\MATLAB6p5\toolbox\map\mapproj" "-I" "C:\MATLAB6p5\toolbox\matlabxl\matlabxl" "-I" "C:\MATLAB6p5\toolbox\mbc\mbc" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcdata" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcdesign" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcexpr" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcguitools" "-I"
 * "C:\MATLAB6p5\toolbox\mbc\mbclayouts" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcmodels" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcsimulink" "-I" "C:\MATLAB6p5\toolbox\mbc\mbctools" "-I" "C:\MATLAB6p5\toolbox\mbc\mbcview" "-I" "C:\MATLAB6p5\toolbox\physmod\mech\mech" "-I" "C:\MATLAB6p5\toolbox\physmod\mech\mechdemos" "-I" "C:\MATLAB6p5\toolbox\mpc\mpccmds" "-I" "C:\MATLAB6p5\toolbox\mpc\mpcdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\mpc555dk" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\common\canlib\blockset" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\common\canlib\blockset\mfiles" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\common\vectorlib\blockset" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\common\vectorlib\blockset\mfiles" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\common\configuration" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\pil" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\rt\blockset" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\rt\blockset\mfiles" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\rt\blockset\mfiles\SimulinkUtilities" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\mpc555dk\mpc555demos" "-I" "C:\MATLAB6p5\toolbox\mutools\commands" "-I" "C:\MATLAB6p5\toolbox\mutools\subs" "-I" "C:\MATLAB6p5\toolbox\ncd" "-I" "C:\MATLAB6p5\toolbox\nnet\nnet" "-I" "C:\MATLAB6p5\toolbox\nnet\nnutils" "-I" "C:\MATLAB6p5\toolbox\nnet\nncontrol" "-I" "C:\MATLAB6p5\toolbox\nnet\nndemos" "-I" "C:\MATLAB6p5\toolbox\nnet\nnobsolete" "-I" "C:\MATLAB6p5\toolbox\optim" "-I" "C:\MATLAB6p5\toolbox\pde" "-I" "C:\MATLAB6p5\toolbox\simulink\perftools" "-I" "C:\MATLAB6p5\toolbox\simulink\mdldiff" "-I" "C:\MATLAB6p5\toolbox\simulink\simcoverage" "-I" "C:\MATLAB6p5\toolbox\rtw\accel" "-I" "C:\MATLAB6p5\toolbox\powersys\powersys" "-I" "C:\MATLAB6p5\toolbox\powersys\powerdemo" "-I" "C:\MATLAB6p5\toolbox\reqmgt" "-I" "C:\MATLAB6p5\toolbox\robust" "-I" "C:\MATLAB6p5\toolbox\rptgen" "-I" "C:\MATLAB6p5\toolbox\rptgenext" "-I" "C:\MATLAB6p5\toolbox\runtime" "-I" "C:\MATLAB6p5\toolbox\sb2sl" "-I"
 * "C:\MATLAB6p5\toolbox\signal\signal" "-I" "C:\MATLAB6p5\toolbox\signal\sigtools" "-I" "C:\MATLAB6p5\toolbox\signal\sptoolgui" "-I" "C:\MATLAB6p5\toolbox\signal\sigdemos" "-I" "C:\MATLAB6p5\toolbox\splines" "-I" "C:\MATLAB6p5\toolbox\stats" "-I" "C:\MATLAB6p5\toolbox\symbolic" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\tic6000\tic6000" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\tic6000\blks" "-I" "C:\MATLAB6p5\toolbox\vr\vr" "-I" "C:\MATLAB6p5\toolbox\vr\vrdemos" "-I" "C:\MATLAB6p5\toolbox\wavelet\wavelet" "-I" "C:\MATLAB6p5\toolbox\wavelet\wavedemo" "-I" "C:\MATLAB6p5\toolbox\webserver\webserver" "-I" "C:\MATLAB6p5\toolbox\webserver\wsdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\xpc\xpc" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\xpc\target\build\xpcblocks" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\xpc\xpcdemos" "-I" "C:\MATLAB6p5\toolbox\rtw\targets\xpc\target\kernel\embedded" "-I" "C:\MATLAB6p5\work" "-L" "C" "libmmfile.mlib" "-A" "line:on" "-G" "-A" "debugline:on" "-O" "fold_scalar_mxarrays:off" "-O" "fold_non_scalar_mxarrays:off" "-O" "optimize_integer_for_loops:off" "-O" "array_indexing:off" "-O" "optimize_conditionals:off" "-O" "speculate:off" "libmmfile.mlib" "-v" "-I" "D:\VCtest" "-t" "-T" "codegen" "D:\VCtest\Myfunc.m" 
 */
#include "myfunc.h"
#include "libmatlbm.h"
#include "libmmfile.h"

void InitializeModule_myfunc(void) {
}

void TerminateModule_myfunc(void) {
}

static mxArray * Mmyfunc(int nargout_, mxArray * In1, mxArray * In2);

_mexLocalFunctionTable _local_function_table_myfunc = { 0, (mexFunctionTableEntry *)NULL };

/*
 * The function "mlfMyfunc" contains the normal interface for the "myfunc" M-function from file "d:\vctest\myfunc.m" (lines 1-4). This function processes any input arguments and passes them to the implementation version of the function, appearing above.
 */
mxArray * mlfMyfunc(mxArray * In1, mxArray * In2) {
    int nargout = 1;
    mxArray * out = NULL;
    mlfEnterNewContext(0, 2, In1, In2);
    out = Mmyfunc(nargout, In1, In2);
    mlfRestorePreviousContext(0, 2, In1, In2);
    return mlfReturnValue(out);
}

/*
 * The function "mlxMyfunc" contains the feval interface for the "myfunc" M-function from file "d:\vctest\myfunc.m" (lines 1-4). The feval function calls the implementation version of myfunc through this function. This function processes any input arguments and passes them to the implementation version of the function, appearing above.
 */
void mlxMyfunc(int nlhs, mxArray * plhs[], int nrhs, mxArray * prhs[]) {
    mxArray * mprhs[2];
    mxArray * mplhs[1];
    int i;
    if (nlhs > 1) {
        mlfError(mxCreateString("Run-time Error: File: myfunc Line: 1 Column: 1 The function \"myfunc\" was called with more than the declared number of outputs (1)."), NULL);
    }
    if (nrhs > 2) {
        mlfError(mxCreateString("Run-time Error: File: myfunc Line: 1 Column: 1 The function \"myfunc\" was called with more than the declared number of inputs (2)."), NULL);
    }
    for (i = 0; i < 1; ++i) {
        mplhs[i] = NULL;
    }
    for (i = 0; i < 2 && i < nrhs; ++i) {
        mprhs[i] = prhs[i];
    }
    for (; i < 2; ++i) {
        mprhs[i] = NULL;
    }
    mlfEnterNewContext(0, 2, mprhs[0], mprhs[1]);
    mplhs[0] = Mmyfunc(nlhs, mprhs[0], mprhs[1]);
    mlfRestorePreviousContext(0, 2, mprhs[0], mprhs[1]);
    plhs[0] = mplhs[0];
}

/*
 * The function "Mmyfunc" is the implementation version of the "myfunc" M-function from file "d:\vctest\myfunc.m" (lines 1-4). It contains the actual compiled code for that M-function. It is a static function and must only be called from one of the interface functions, appearing below.
 */
/*
 * function out=Myfunc(In1,In2)
 */
#line 1 "d:\\vctest\\myfunc.m"
static mxArray * Mmyfunc(int nargout_, mxArray * In1, mxArray * In2) {
    #line 1 "d:\\vctest\\myfunc.m"
    mclMlineEnterFunction("d:\\vctest\\myfunc.m", "myfunc")
    #line 1 "d:\\vctest\\myfunc.m"
    mexLocalFunctionTable save_local_function_table_ = mclSetCurrentLocalFunctionTable(&_local_function_table_myfunc);
    #line 1 "d:\\vctest\\myfunc.m"
    mxArray * out = NULL;
    #line 1 "d:\\vctest\\myfunc.m"
    mclCopyArray(&In1);
    #line 1 "d:\\vctest\\myfunc.m"
    mclCopyArray(&In2);
    /*
     * %Returns the convolution of vector IN1 and IN2
     * 
     * out=conv(In1,In2);
     */
    #line 4 "d:\\vctest\\myfunc.m"
    mclMline(3);
    #line 4 "d:\\vctest\\myfunc.m"
    mlfAssign(&out, mlfConv(mclVa(In1, "In1"), mclVa(In2, "In2")));
    #line 4 "d:\\vctest\\myfunc.m"
    mclValidateOutput(out, 1, nargout_, "out", "myfunc");
    #line 4 "d:\\vctest\\myfunc.m"
    mxDestroyArray(In2);
    #line 4 "d:\\vctest\\myfunc.m"
    mxDestroyArray(In1);
    #line 4 "d:\\vctest\\myfunc.m"
    mclSetCurrentLocalFunctionTable(save_local_function_table_);
    #line 4 "d:\\vctest\\myfunc.m"
    mclMlineFunctionReturn()
    #line 4 "d:\\vctest\\myfunc.m"
    return out;
    #line 4 "d:\\vctest\\myfunc.m"
    mclMlineExitFunctionReturn();
    #line 4 "d:\\vctest\\myfunc.m"
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -