首页 文章
  • 0 votes
     answers
     views

    编译OpenTLD compile.m时出错

    我正在尝试编译运行OpenTLD项目所需的mex文件 . 链接:https://github.com/zk00006/OpenTLD 使用: OpenCV 2.4.9 64位,Matlab 2013b 64位 尝试运行compile.m时,出现以下错误 . Creating library C:\Users\Saurabh\AppData\Local\Temp\mex_sT0LV8\templib...
  • -3 votes
     answers
     views

    在c应用程序中使用Simulink

    我想知道是否有一种方法可以从c程序中使用/与Simulink进行通信 . 在这种情况下,Simulink正在执行 real-time-simulation 应从c控制程序获取其输入数据 during 模拟 . 此外,来自simulink的仿真数据(块的输出)应该可以从c程序 during 仿真中访问 . 这可能吗?
  • 1 votes
     answers
     views

    在matlab中将mex函数调用限制为m-file

    嘿那里,假设我有一个名为'myMx'的已编译的mex文件,有没有办法禁止直接调用myMx()?我只希望从我的m文件函数callMyMx()中调用myMx(),因为这是我执行其他输入参数检查的地方,这样我就不必在mex文件本身中执行它了 . 谢谢!
  • 2 votes
     answers
     views

    使用Matlab和mex的GNU GMP - 库问题

    我正在使用Matlab(R2015a)和Windows SDK 7.1来编译具有Matlab“mex”功能的单个C源文件 . 这很好用 . 但是,在这个C文件中,我想使用GNU GMP库(任意精度算术/ bigint),因为我会欣赏一些大整数计算 . 因此,我下载了gmp-6.0.0并设置了Cygwin工具链来为我的Win-7(64位)机器编译我的GMP库 . 我在Cygwin中以这种方式编译/配...
  • 0 votes
     answers
     views

    为什么这个CPP文件在mex -largeArrayDims期间出错?

    我已经下载了一个代码: /*================================================================ a_times_b_cmplx.c = used by a couple of mex functions provide Matrix vector multiplications, and solve triangular systems...
  • 0 votes
     answers
     views

    C C的向量对象在mex中的mxArray

    我有以下c矢量: std::vector<myStruct> myVec; myStruct包含的位置: struct myStruct { Point3D start; Point3D end; double lenght; } struct Point3D { double x, y, z; } 现在在我的mex文件中,我想将其转换为mxArray,同时保持相同...
  • 1 votes
     answers
     views

    matlab mex:访问数据

    嘿那里,我真的不明白如何访问通过matlab中的参数传递给mex函数的数据 . 假设我有'默认'网关功能 void mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[] ) 现在我得到了指向1.输入参数的指针: double* data_in; data_in = mxGetPr(prhs[0]); 以下...
  • 9 votes
     answers
     views

    如何在MEX函数中读取整数数组

    我将一个uint8类型的整数数组从MATLAB传递给MEX函数 . 我如何阅读这些值?我试过用: int *n; n = (int * ) mxGetData(prhs[0]); 但 Value 观就像垃圾一样 . 我也试过了 double *n; n= mxGetPr(prhs[0]); 在这种情况下,也会出现垃圾值 . 这是什么解决方案? 基本上我想读取MEX函数中的整数值,但 mxGet...
  • 3 votes
     answers
     views

    使用MATLAB中的MEX文件访问存储在单元阵列内的矩阵

    我目前正在编写一个MEX函数,它必须在MATLAB中使用单元数组 . MEX文件用C语言编写 . 本质上,我的函数的输入将是一个单元格数组,其中每个条目都是具有实数值的数字矩阵 . 一个简单的例子是: C = cell(1,2); C{1} = ones(10,10); C{2} = zeros(10,4); 我希望能够访问我的MEX文件中的数字数组C {1}和C {2} . 理想情况下,我想...
  • 1 votes
     answers
     views

    使用matlab在huffman中链接和解码的解开函数中的错误

    这是解码的代码,我希望通过霍夫曼编码解码和链接压缩图像 . #include "mex.h" void unrav(uint16_T *hx, double *link, double *x, double xsz,int hxsz) { int i=15; int j=0, k=0, n=0; while (x...
  • 4 votes
     answers
     views

    如何在mex文件中调用imresize(MATLAB)

    我编写了以下代码,以便在mex文件中使用 imresize 函数 . #include "mex.h" void mexFunction(int nlhs, mxArray *plhs[], int nrhs, mxArray *prhs[]) { mxArray *output[1]; mxArray *input[3]; input[0] = prhs[0]; ...
  • 4 votes
     answers
     views

    如何在C mex函数中传递Matlab m x n单元矩阵参数?

    我想将在Matlab中创建的这样的单元矩阵作为输入参数传递给mex函数, for i=1:5, p{i}=rand(3,4); end 然后将其作为3维双数组作为输出参数返回 . 预期语法: Parray = convert(p); 其中Parray是一个3乘4乘5的数值数组而P(:,:,i)= p ; 我正在使用的以下代码可以成功构建到所需的mex函数中: #include <...
  • 1 votes
     answers
     views

    libpointer作为Matlab中MEX函数的输入

    在Matlab中,我有一个进程(一个使用calllib的数据采集,但这并不重要),它将指针(libpointer)返回给一个大型数组 . 我想在MEX文件中使用这些数组 . 如果我有一个libpointer X到这个数组,我怎么能在MEX文件中使用它? 当然,有可能将其分配给一个新的变量,比如 A = X.Value; 但我想这个任务将复制数组,我不想要的 . 所以我的问题是,有没有办法使用li...
  • 3 votes
     answers
     views

    多线程(pthreads)MATLAB mex函数导致MATLAB在退出后崩溃

    我有一个任务需要在MATLAB中多次执行,我想通过使用多线程MEX函数来减少执行任务所花费的时间 . 但是,由于双重释放或损坏错误,MEX函数导致MATLAB在退出后崩溃,因此我遇到了一些麻烦 . 任务本身非常大,但我能够使用以下最小(非)工作示例重现错误: #include <pthread.h> #include "mex.h" #include "m...
  • 0 votes
     answers
     views

    从mex中的matlab结构中提取数据

    我跟着this example但是我不确定我错过了什么 . 具体来说,我在MATLAB中有这个结构: a = struct; a.one = 1.0; a.two = 2.0; a.three = 3.0; a.four = 4.0; 这是我在MEX中的测试代码--- 首先,我想确保我传递的是正确的东西,所以我做了这个检查: int nfields = mxGetNumberOfFields(p...
  • 3 votes
     answers
     views

    matlab mex文件和C dll(windows)

    我有一个带类Test的DLL . Headers : class MY_EXPORT Test { public: int doit(const string &str); }; 和来源: int Test::doit(const string &str) { return int(str.length()); } 现在我从mex文件中使用它: void ...
  • 0 votes
     answers
     views

    C Mex文件在64位Linux上崩溃了matlab,但没有32位窗口崩溃,但程序在Matlab外运行正常

    警告我在问题中提供的代码可能会使matlab和您的机器崩溃! 我已经为C类编写了一个mex网关函数 . 如果我使用R2008a在32Bit windows上编译这个mex函数我没有问题 . 如果我在运行64位Scientific Linux(Red Hat Enterprize Linux版本)的Matlab R2011a上编译并运行,那么在调用mexfunction时,matlab将以段错误退出...
  • -2 votes
     answers
     views

    C / CLI,MEX:错误C3767候选函数取决于函数参数类型

    我正在使用这样结构的mex解决方案: 我有一个C#阅读器A,它由一个C / CLI项目B调用,由一个mex项目C调用,它是从matlab调用的 . 这不是我的代码,只是我应该运行的东西 . B包含两个我无法访问的函数,首先是构造函数:B :: B(mxArray * data) 二,常规函数:mxArray * B :: toMatlab(bool模式) 我尝试使用int替换构造函数的mxArra...
  • 5 votes
     answers
     views

    Mex文件:如何返回已经分配的matlab数组

    我发现了一个非常棘手的问题,我似乎无法轻易解决这个问题 . 简而言之,我想从一个mex文件返回一个数组,该数组已作为mex函数输入传递 . 你可以琐碎地做到这一点: void mexFunction(int nargout, mxArray *pargout [ ], int nargin, const mxArray *pargin[]) { pargout[0] = pargin[0];...
  • 8 votes
     answers
     views

    使用Matlab进行MEXing C时,size_t和mwSize之间的差异

    我目前正在努力将一些C文件移植到64位Matlab,这些文件是用32位Matlab进行的 . 在这样做时,我遇到了两种类型,一种来自Matlab人,一种来自C标准 . 这是Matlab文档中关于mwSize的内容: mwSize(C和Fortran)大小值的类型说明mwSize是一种表示大小值的类型,例如数组维度 . 使用此功能可实现跨平台灵活性 . 默认情况下,mwSize等效于C中的int ...
  • 0 votes
     answers
     views

    将mxarray转换为cv :: mat时程序崩溃

    我正在尝试编写一个mex函数来调用另一个函数F.F使用opencv库,所以我需要将mxarray转换为cv :: mat . 我使用嵌套for循环将每个像素值或值向量分配给两个创建的cv :: mat . 代码发布在下面 . 但是,程序在运行for循环一段时间后崩溃 . 我试图使用mexPrintf打印出诸如A(i,j,2)之类的值,并且值是正确的(unsigned char) . 来自Matla...
  • 2 votes
     answers
     views

    当CUDA失败时,让MATLAB释放GPU

    我编写了我从MATLAB MEX文件中调用的CUDA代码 . 我没有使用任何MATLAB的GPU库或功能 . 我的代码只是接受C类型变量的CUDA代码而我只使用mex将 mwtypes 转换为C类型,然后调用独立的自编写CUDA代码 . 问题是,有时候,特别是在开发阶段,CUDA失败了(因为我犯了一个错误) . 大多数CUDA调用通常都被 gpuErrchk(cudaDoSoething(cuda...
  • 4 votes
     answers
     views

    Matlab:S-Function Builder Block:跨多个路径分发源文件

    要构建目标硬件,S函数构建器块需要访问到它的源文件和.mex文件 . 看来源文件和.mex文件必须在Matlab路径上的同一目录中 . 是否可以分发.mex文件和其他源文件跨多个目录并仍然能够构建目标硬件? 配置: Minseg硬件(实际上是一个改装的Arduino Mega 2560) OS X笔记本电脑(10.11) XCode 6.x.x(Mathworks编译为supporte...
  • 0 votes
     answers
     views

    如何调试Matlab / Simulink?

    我有一个使用 s_function 的Simulink模型,这是一个 mexw32 文件 . s_function 块也使用 .lib 模块 . 现在,当我试图在模拟结束之前运行模型Matlab崩溃并且在命令窗口中没有任何错误 . 如果Matlab崩溃,我有哪些调试选项?
  • 0 votes
     answers
     views

    Matlab 2015a将mingw64设置为mex编译器

    我在Win7上运行了Matlab2015a 64bit,我想使用Mingw-w64编译器来处理mex文件,但命令* mex -setup 说 MEX配置为使用'Microsoft Visual C 2012(C)'进行C语言编译 . 我已经安装了Mingw-w6编译器 C:\ mingw-w64 \ x86_64-4.9.2-win32-seh-rt_v4-rev4 \ mingw64 \...
  • 0 votes
     answers
     views

    Matlab使用mex调用C函数

    首先,我从未尝试在Matlab程序中调用C代码 - 所以它可能只是一个我无法弄清楚的愚蠢错误 . C函数是以下函数,可以在here上找到,它被称为 durlevML.c ,是ARFIMA(p,d,q)估计器套件的一部分: #include "mex.h" #include "matrix.h" #define square(p) ((p)*(p)) #de...
  • 22 votes
     answers
     views

    Matlab mex文件与其直接C等效文件相比较慢

    我无法解释(并避免)Matlab mex程序与没有Matlab接口的相应C程序之间的速度差异 . 我一直在分析数值分析程序: int main(){ Well_optimized_code(); } 使用gcc 4.4针对Matlab-Mex等效编译(指向使用gcc44,这不是Matlab当前支持的版本,但出于其他原因需要): void mexFunction(int nlhs,mxArra...
  • 1 votes
     answers
     views

    Matlab最终崩溃了mex回调

    我有一个Mex函数,它将特定的消息和消息类型(1,2,3)从C转发到Matlab函数'fruit_getpar.m' . 这个Matlab函数'fruit_getpar.m'从消息字符串中提取参数并将其存储为变量 . C消息是在随机实例中生成的 . 问题:Matlab有时会与生成的C消息崩溃,但是这条消息的结构总是一样的 . 任何线索? #include "mex.h" #i...
  • 7 votes
     answers
     views

    如何在Matlab的MEX编译过程中进行链接

    我写了一个以下形式的程序: #include "stuff_I_need.h" int main(){ construct_array(); // uses OpenMP pragma's print_array(); return(0); } 使用以下命令正确编译,链接和运行: `gcc44 -I/home/matteson/sundials/include/ m...
  • 1 votes
     answers
     views

    从MEX调用MATLAB函数“imread”

    我正在尝试使用 mexCallMATLAB() 来读取图像 . 以下是代码: #include "mex.h" #include <matrix.h> #include <string.h> #include <stdio.h> void mexFunction(int nlhs, mxArray *plhs[], int nrhs, co...

热门问题