zoukankan      html  css  js  c++  java
  • Cmex 实例

    Visual Studio 2010 + MATLAB 2011a 中进行如下在实验(系统Windows 7 pro 64bit)

    注:要求VS版本 < Matlab版本

    >> mex -setup
     
    Welcome to mex -setup.  This utility will help you set up 
    a default compiler.  For a list of supported compilers, see 
    http://www.mathworks.com/support/compilers/R2011a/win64.html
     
    Please choose your compiler for building MEX-files:
     
    Would you like mex to locate installed compilers [y]/n? y
     
    Select a compiler:
    [1] Microsoft Visual C++ 2010 in D:\Program Files (x86)\Microsoft Visual Studio 10.0
     
    [0] None
     
    Compiler: 1
     
    Please verify your choices:
     
    Compiler: Microsoft Visual C++ 2010 
    Location: D:\Program Files (x86)\Microsoft Visual Studio 10.0
     
    Are these correct [y]/n? y
     
    ***************************************************************************
      Warning: MEX-files generated using Microsoft Visual C++ 2010 require
               that Microsoft Visual Studio 2010 run-time libraries be 
               available on the computer they are run on.
               If you plan to redistribute your MEX-files to other MATLAB
               users, be sure that they have the run-time libraries.
    ***************************************************************************
     
    Trying to update options file: C:\Users\zhang\AppData\Roaming\MathWorks\MATLAB\R2011a\mexopts.bat
    From template:              D:\PROGRA~1\MATLAB\R2011a\bin\win64\mexopts\msvc100opts.bat
     
    Done . . .
     
    **************************************************************************
      Warning: The MATLAB C and Fortran API has changed to support MATLAB
               variables with more than 2^32-1 elements.  In the near future
               you will be required to update your code to utilize the new
               API. You can find more information about this at:
               http://www.mathworks.com/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9
               Building with the -largeArrayDims option enables the new API.
    **************************************************************************

    addtiontest.c
     1 #include <mex.h>
    2
    3 double addtiontest(double x, double y);
    4 double doublesize(double a, double b);
    5
    6 void mexFunction(int nlhs, mxArray *plhs[], int nrhs,const mxArray *prhs[])
    7 {
    8 double*a;
    9 double b, c;
    10
    11 plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
    12 a = mxGetPr(plhs[0]);
    13 b =*(mxGetPr(prhs[0]));
    14 c =*(mxGetPr(prhs[1]));
    15 *a = addtiontest(b, c);
    16 }
    17
    18 double addtiontest(double x, double y)
    19 {
    20 double z;
    21 z = doublesize(x,y);
    22 return z;
    23 }
    doublesize.c
    1 double doublesize(double a, double b)
    2 {
    3 double c;
    4 c =2*(a+b)+100;
    5 return c;
    6 }

    >> mex addtiontest.c doublesize.c

    生成文件:addtiontest.mexw64

    >> f = addtiontest(1.2,2)

    f =

      106.4000

  • 相关阅读:
    Liunx用户运行模式
    指令——ps -ef
    文本编辑器vim/vi——末行模式
    文本编辑器vim/vi——模式切换及输入模式
    pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
    Python的numpy库中rand(),randn(),randint(),random_integers()的使用
    python常见面试题
    读取gzmt.csv文件,计算均值及概率
    NumPy数组对象
    写一个带文本菜单的程序,菜单项如下 (1) 取五个数的和 (2) 取五个数的平均值 (X) 退出。
  • 原文地址:https://www.cnblogs.com/xfzhang/p/2162392.html
Copyright © 2011-2022 走看看