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));
    }
    

      

  • 相关阅读:
    linux系统中split命令
    linux系统 如何提取奇数列
    R语言提取奇数行、偶数行、整倍数行、奇数列、偶数列、整倍数列
    linux 系统sed命令如何提取奇数行、偶数行及整倍数行
    linux系统如何提取奇数列
    Can't exec "epstopdf": No such file or directory 报错解决
    beagle 填充 Exception in thread "main" java.lang.IllegalArgumentException: NaN
    sh: gnuplot: command not found 报错记录
    linux 系统 awk命令提取奇数行、偶数行及整数倍行
    R语言subset函数的用法
  • 原文地址:https://www.cnblogs.com/mathyk/p/9301583.html
Copyright © 2011-2022 走看看