mex相关内容

使用libjpeg8d构建MATLAB jpeg工具箱

这个问题与我在这里问到的另一个问题有关. 在Matlab的jpeg工具箱中使用jpeg_read读取图像时出错 我一直在尝试在Windows 7下编译jpeg工具箱(使用对我发布的问题的答案中提供的命令Shai提供的命令),但是出现以下错误: jpeg_read.c(52) : fatal error C1083: Cannot open include file: 'jerro ..
发布时间:2020-05-06 14:09:28 其他开发

将C/C ++回调传递到Matlab引擎

我有一个C ++文件, 启动matlab引擎 调用matlab_optimize()(一个在内部运行matlab优化器之一的已编译m文件) 打印结果 停止引擎并退出 这很好.我现在想将第二行更改为 致电matlab_optimize(obj_fun) obj_fun()是在我的C ++代码中定义的一个函数,它本身将回调到其他代码中.本质上,我希望matlab_opti ..
发布时间:2020-05-06 14:06:53 C/C++开发

Matlab Mex文件编译

我正在尝试编译一个mex文件以在matlab中使用套接字连接.问题在于,它总是说我没有安装sdk或编译器.但是我已经安装了Visual Studio 2010 Express,Visual Studio 2012 Express,Visual Studio 2012 Professional,但并没有改变错误.另外我已经安装了SDK.有什么我可以尝试的吗? Matlab版本是R2012b,我使用的 ..
发布时间:2020-05-06 14:06:21 其他开发

读取MEX文件中的4D阵列

我在MATLAB中有一个4维数组;我正在尝试在MEX函数中访问数组.下面创建"testmatrix",这是一个4维矩阵,已知数据为uint8类型. %Create a 4D array 2x,2y, rgb(3), framenumber(from 1 to 5) %Framenumber from 1 to 5 testmatrix(1,1,1,1) = 0; testmatrix(1, ..
发布时间:2020-05-06 14:06:01 其他开发

Matlab:避免在mex中分配内存

我正在尝试使我的mex库避免所有内存分配,甚至如此. 到目前为止,mex有了输入,使用mxCreate...()创建了一些矩阵,并返回了此输出. 但是现在我想修改此接口,以便mex本身不做任何分配. 我想到的是,mexFunction将以输入形式获取矩阵以将值填充到该矩阵中,并将该矩阵返回为输出. 这应该可行吗? 让我思考这是否是我需要做的所有事情的轻微警报是,左手参数以cons ..
发布时间:2020-05-06 14:04:42 其他开发

从float *转换为vector< float>

我有一个功能 float * pointwise_search(vector &P,vector &Q,float* n, int len ). 我想用matlab调用它,所以我需要编写一个mexFunction. void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *p ..
发布时间:2020-05-06 14:02:54 C/C++开发

Matlab限制了TBB,但没有限制OpenMP

我只是要问这个,以了解我花了24小时来修复的问题. 我的系统: Ubuntu 12.04.2, Matlab R2011a, 它们都是基于Nehalem的64位Intel Xeon处理器. 问题很简单,Matlab允许基于OpenMP的程序利用启用了超线程的所有CPU内核,但对TBB不允许相同. 运行TBB时,即使将maxNumCompThreads更改为8,我也只能启动4个线程 ..
发布时间:2020-05-06 14:02:28 其他开发

如何将文件路径变量传递给mex命令?

当前正在尝试创建脚本化的mex文件生成的最小示例. 我有一个正在运行的MATLAB .m脚本来生成mex文件.我想将所有参数作为变量传递,这样当给定文件名/路径列表时,我可以自动化一堆mex文件的构建. #1 : unknown argument -outdir input = ' -outdir C:/Users/ian/mexTesting/mexFiles' mex('src/h ..
发布时间:2020-05-06 13:50:14 C/C++开发

Matlab多线程

我正在Matlab上的一个项目中,我们必须优化性能,并且我正在考虑并行化由.m文件进行的几个函数调用. 这个想法很简单,从Matlab文件(.m)调用编译为MEX的C文件,然后从该C文件创建几个线程,并从每个线程中调用matlab函数. 理论可行,我可以创建线程,也可以调用matlab函数,问题是我无法从线程调用matlab函数: //Global variables mxArr ..
发布时间:2020-05-06 13:44:38 其他开发

分析mex函数

我刚刚用c ++重写了Matlab程序作为mex函数,以加快处理速度,并取得了令人惊讶的结果.这个优化决定是一个非常非常好的主意,在不使用线程的情况下,速度提高了20倍.它仍然让我对混合功能花时间在什么地方并想找出可能的瓶颈感到好奇. 我正在寻找一种分析混合功能的方法. matlab探查器用处不大,我下载的其他探查器(免费和试用版)都希望运行可执行文件.我不是专家,但据我所知,运行混合物的唯 ..
发布时间:2020-05-06 13:42:22 其他开发

强制MATLAB重新加载在mex函数中链接的库

我有一个Mex函数,例如myfunction.mexmaci64(这是OS X上的正确结尾). 现在,myfunction已链接到库mylibrary.dylib. mex文件和库都位于同一文件夹中. 现在,每当我在mylibrary中进行某些更改时,MATLAB都不会重新加载新的库版本,而是使用旧的库版本,直到我重新启动MATLAB为止.在进行开发和调试工作时,这非常容易. 有没有一 ..
发布时间:2020-05-06 13:36:09 其他开发

MATLAB parfor和C ++类mex包装器(需要复制构造函数吗?)

我正在尝试使用此处概述的方法,将C ++类包装在matlab mex包装器中.基本上,我有一个初始化的mex文件,该文件返回一个C ++对象句柄: handle = myclass_init() 然后我可以将其传递给另一个mex文件(例如myclass_amethod),该文件使用该句柄来调用类方法,然后最终传递给myclass_delete以释放C ++对象: retval = ..
发布时间:2020-05-06 13:33:24 其他开发

与MATLAB版本不同的是,在MATLAB MEX库中使用boost

我们正在创建许多使用我们的通信库的MATLAB MEX文件.该通信库大量使用Boost.现在,MATLAB在内部也使用boost,这意味着在标准设置中,我们不能使用不同于MATLAB随附的boost版本,也不能使用所有地狱. 问题是,我们的Matlab参考版本(增强版1.40)随附的增强版本很旧,并且存在一些错误.我们非常想使用较新的版本. 我看到的唯一解决方案是创建一个生活在不同名称 ..
发布时间:2020-05-06 13:30:06 C/C++开发

在MATLAB中嵌入Python

我正在尝试将Python 2.6嵌入到MATLAB(7.12)中.我想嵌入一个用C编写的mex文件.这对于使用标量的简单示例来说效果很好.但是,无论如何如果导入了Numpy(1.6.1),MATLAB都会崩溃.我之所以说是因为我已经尝试了多种方式来加载numpy库,包括 在python模块(.py)中: from numpy import * 在mex文件中带有PyRun_Simp ..
发布时间:2020-05-06 13:28:52 Python

当MATLAB文件到达mxSetPr时,MATLAB崩溃

我正在mex文件中编写一个调用MATLAB函数的函数.不幸的是,当涉及到mxSetPr时,MATLAB崩溃,并且无法继续进行.有人可以告诉我如何解决这个问题吗? void myconv2( double * Ain , double *Aout, int AnRows , int AnCols, double* kernel ..
发布时间:2020-05-06 13:19:51 其他开发

在64位Linux上进行Mex编译-/usr/bin/ld:找不到-lstdc ++

好吧,我正在尝试在64位linux上编译一个mex文件,确切地说,是用Matlab 2013a编译的ubuntu. 首先,它给出一个错误,它找不到GLIBCXX_3.4.15.这不属于 /usr/local/MATLAB/R2013a/sys/os/glnxa64/libstdc++.so.6.我发现此线程​​/usr/lib /libstdc++.so.6:找不到版本"GLIBCXX_3. ..
发布时间:2020-05-06 13:19:33 其他开发

为C程序创建MATLAB MEX文件

我是一位经验丰富的MATLAB用户,但对C和MEX文件是全新的.我有一个用C编写的复杂程序,需要从MATLAB内调用.该程序由一个文件夹中的几十个文件组成,其中包括一个名为main.c的文件,该文件处理来自命令行的输入,并将结果传递给其他进行实际计算的类. 通常,要从命令行安装此程序,我将在UNIX命令提示符下运行./configure.然后,要运行该程序,请执行./runMyProgram ..
发布时间:2020-05-06 13:19:24 其他开发