zoukankan      html  css  js  c++  java
  • matlab 与vs2008联合编程的设置备忘

    要在VC中成功编译Matlab引擎程序,必须包含引擎头文件engine.h。并引入Matlab对应的库文件libmx.liblibmat.liblibeng.lib

    1) 通过菜单工具/选项,打开选项页,点击项目和解决方案,然后在页面右面“显示以下内容的目录”下拉列表框中选择“包含文件”,添加路径:"X:\Program files\MATLAB\R2010b\extern\include"。X代表matlab所在盘符,一般为c或者d。

    2) 选择“库文件”,添加路径:

    X:\Program Files\MATLAB\R2010a\extern\lib\win32\microsoft。

    3) 右击工程/属性,打开项目属性页,选择链接器/输入,在附加依赖项编辑框中,添加文件名libmx.lib libmat.lib libeng.lib。

    注意,1,2主用设置一次,因为他的设置时全局的,3每个不同的工程要设置一次。

    然后,还要修改环境变量,否则会提示 libmx.dll找不到,右键我的电脑->高级->环境变量->系统变量,找到PATH,将matlab的

    D:\Program Files\MATLAB\R2010a\bin\win32路径加进去,dll文件在这个目录下。然后重启电脑,不重启电脑的话要重启vs,就可以打开matlab了。

     

    matlab引擎包好了这样一些常见函数。这些函数可以在engine.h 、matrix.h 中查看。

    Engine*   engOpen(const   char*   startcmd);

    int   engClose(Engine*   ep);

    int     engEvalString(Engine*   ep,   const   char*   string);

    Engine *engOpenSingleUse(const char *startcmd, void *reserved,int *retstatus );

    1 EXTERN_C int engOutputBuffer(
    2     Engine    *ep,        /* engine pointer */
    3     char    *buffer,      /* character array to hold output */
    4     int     buflen        /* buffer array length */
    5     );
    1 EXTERN_C int engPutVariable(
    2            Engine    *ep,        /* engine pointer */
    3            const char *var_name,
    4            const mxArray *ap   /* array pointer */
    5            );
    EXTERN_C mxArray *engGetVariable(
        Engine    *ep,        /* engine pointer */
        const char *name    /* name of variable to get */
        );

    mxArray *T=NULL

     T=mxCreateDoubleMatrix(1,1,mxREAL);  matlab有很多产生矩阵的函数,参看matrix.h文件。
    memcpy((char*)mxGetPr(T),(char*)t,1*sizeof(double));

  • 相关阅读:
    MySQL学习笔记:repeat、loop循环
    链表//相交链表
    单位和值
    链表//环形链表 II
    css样式设置小技巧
    链表//环形链表
    CSS代码缩写,占用更少的带宽
    CSS布局模型
    CSS盒模型
    CSS格式化排版
  • 原文地址:https://www.cnblogs.com/renly/p/3005968.html
Copyright © 2011-2022 走看看