zoukankan      html  css  js  c++  java
  • c++和matlab应用

    c++中添加一个头文件 include “engine.h”后可以使用matlab引擎提供的一些常用函数。

    engOpen()  、engClose()

    engSetVisible()

    engGetVariable()

    engPutVariable()

    engEvalString()

    Engine *ep = engOpen();   //定义matlab引擎

    engSetVisible(ep,0);     //设置不可见

    engPutVariable(ep,"aa",a);     //把变量a放入matlab工作空间,工作空间名称aa

     engEvalString(ep, "cd F:\Project1");     //切换工作路径

    /********************matlab怎么用userpath设置路径*************************/

    ①userpath('D :Program FilesMATLABR2008awork');设置该目录为启动目录;

    userpath('reset');  设置启动目录为默认设置

    ②savepath;   进行保存

    ③addpath(genpath(‘F:matlabKeyPointsFaceId_1.1a’))   // 添加绝对路径

    addpath(genpath(‘FaceId_1.1a’))   //添加相对路径

     ④currentFolder = pwd;%取得当前路径   //添加当前路径

    addpath(genpath(pwd))

    查看Matlab7.0的搜索路径
         可通过菜单命令和path、genpath命令函数两种方法来查看搜索路径
    设置Matlab7.0的搜索路径
        命令行中输入editpath或pathtool命令或通过"file-set path"菜单,进入"set path" 对话框。
        在命令行中执行 path(path, 'E:WorkspaceOtherMatlab');
        在命令行中执行 addpath e:WorkspaceOthersMatlab -end, 将新的目录加到整个搜索路径的末尾。
         如果将end改为begin,可以将新的目录加到整个搜索路径的开始。
    /*
    **向matlab工作空间存放数据
    *varName参数:存放的变量名称
    *mat参数:存放的数据,提前设置好的数据
    *M参数:表示M行M列矩阵
    *engine参数:是引擎
    */
    int SetMat(char *varName, void *mat, int M, Engine *engine)
    {
    	mxArray *matArray = mxCreateDoubleMatrix(M, M, mxREAL);
    	memcpy(mxGetPr(matArray), mat, M*M*sizeof(double));
    	int status = engPutVariable(engine, VarName, matArray);
    	mxDestroyArray(matArray);
    	return status;
    }
    

      

    /*
    **从matlab工作空间获取名称为varName变量的数据
    *varName参数:变量名称
    *mat参数:存放的数据
    *M参数:表示M行M列矩阵
    *engine参数:是引擎
    */
    
    void GetMat(char *VarName, void *mat, int M, Engine *engine)
    {
    	memcpy(mat, mxGetPr(engGetVariable(engine, VarName)), M*M*sizeof(double));
    }
    

      

  • 相关阅读:
    WIN32程序挂钩SetLastError,输出错误描述到控制台
    设置c#windows服务描述及允许服务与桌面交互的几种方法(作者博客还有一大堆C#创建服务的文章)
    VC内存溢出一例 –- 调用约定不一致 (_CRT_DEBUGGER_HOOK(_CRT_DEBUGGER_GSFAILURE)
    QtWaitingSpinner
    美国独立战争真相:英法全球争霸战之北美战场
    asp.net的ajax以及json
    HashTable和HashSet中的类型陷阱
    C语言的一些常见细节
    堆排序详解
    Core Animation编程指南
  • 原文地址:https://www.cnblogs.com/mathyk/p/9301583.html
Copyright © 2011-2022 走看看