错误: '下标指数必须是实数正整数或逻辑数'当使用Matlab .NET构建器时
我正在使用matlab ne Builder来编译我从C#调用的DLL文件. MATLAB代码已确认可以在MATLAB中使用,但是从C#调用时,会发生以下错误: 在 mwarray.dll 其他信息: ... mwmcr :: esturefunction错误...下标索引必须要么 成为真正的积极整数或逻辑.错误in => kalmanfilter.m at 第108行. 所讨论的行是: plot(data(:, 1), data(:, 2)); 我已经确认,当达到该行时,变量数据的大小为n,n> 50,为什么该语句应该有意义. 有人对此有任何经验吗? 预先感谢 据我所知, 解决方案 当您将变量命名为函数名称或MATLAB函数(保留名称)时,此问题就会出现. 确保这没有发生.
4 2024-01-06
编程技术问答社区
在Ubuntu 11.04上用Matlab R2011a编译Matlab mex文件时出现错误
我正在尝试编译共享库,该库将在Ubuntu上调用MATLAB功能11.04.喜欢命令: mcc - B cpplib:libStepCluster StepCluster.m 获取以下错误. /usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.14' not found (required by /usr/lib/libppl_c.so.2) /usr/lib/i38-linux-gnu/i686-linux-gnu/4.5.2/cc1plus: /usr/local/MATLAB/R2010a/sys/os/glnx86/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/
22 2023-11-02
编程技术问答社区
MATLAB 2014a (8.3) Compiler Runtime Errors libmwlaunchermain.so
MATLAB 2014a(8.3)试图启动部署时运行时编译器(MCR)错误(使用 部署工具)ubuntu中的应用程序13.04. 安装MCR后,如果出现已部署的应用程序以下错误,请出现错误: error while loading shared libraries: libmwlaunchermain.so: cannot open shared object file: No such file or directory. 解决方案 由于我已经找到了解决这个问题的解决方案,所以我只想分享: 这似乎是Mathworks为Linux设计的MATLAB MCR安装脚本的问题.此外,这是 首先确保在终端中添加缺少的文件: sudo cp /usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/runtime/glnxa64/* /usr/local/MATLAB/MATLAB_Compiler_Runtime/v83/bin/
16 2023-11-01
编程技术问答社区
Tomcat和Matlab MCR无效的MEX文件错误
我在Ubuntu 14.04服务器上安装了Tomcat 7和MCR 8.3. MATLAB已正确安装,因为我可以执行某些程序,但是当我尝试执行其他程序时,我会有此错误: 无效的mex-file'/usr/local/matlab/matlab_compiler_runtime/v83/mcr/mcr/toolbox/matlab/matlab/sparfun/etere.mexa64':libmwarpack.so:so:so:不能打开共享对象文件:没有此类文件或prector 我以这种方式在我的/etc/profile.d文件夹中设置了环境: MCR_ROOT=/usr/local/MATLAB/MATLAB_Compiler_Runtime/v83 export PATH=$PATH:$MCR_ROOT/bin:$MCR_ROOT/bin/glnxa64 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MCR_ROOT/runtime/glnxa
12 2023-10-24
编程技术问答社区
在matlab程序中使用标准io流:stdin和stdout
问题 我希望它在运行(编译)MATLAB可执行文件中"收听"标准输入流. 这就是我相信它是在c或类似语言中完成的: #include stdio.h fgets(line, 256, stdin) 或更详细地,它可以这样使用: if (!fgets(line, 256, stdin)) return; if (line[0] == '\n') continue; sscanf(line, "%s", command); 答案 为了完整性,我将保持背景和笔记完整,但是在Amro和Eratant的帮助下,我设法解决了. 背景 我找到了如何用其他语言来做这件事,以及这里是编译过程的一些说明. 但是,我还没有找到任何在任何地方"听" Matlab中输入的方法. 我最接近的是这个描述在八度中类似C的IO,但是当我在MATLAB中寻找解决方案时,我无法取得进展. 请注意,不可能更改或包装将数据发送的程序发送的程序,并且我更
126 2023-09-29
编程技术问答社区
simulink matlab的独立执行程序无法获得输出
i有一个M-Script,该M-Script通过GUI从用户获取参数值,然后模拟具有更新的参数值的Simulink模型.我想将其转换为独立的EXE文件,该文件可以在没有MATLAB和SIMULINK的情况下运行(即仅使用MATLAB运行时编译器).我正在使用Matlab 2010b 32bit. 我的方法: 由于MATLAB编译器无法转换 sim 函数,因此我首先使用快速模拟目标将Simulink模型转换为EXE文件,然后从我的MATLAB脚本中调用EXE文件. [Gain1, Gain2]= InputDataGUI; load Par.mat %contains parameter structure of the model param_struct.parameters.values(1:2) = [Gain1 Gain2]; %update save Par.mat param_struct; !SimulinkModelName.exe -p Par.mat
40 2023-09-04
编程技术问答社区
MCR libmwi18n.so文件丢失
我刚刚安装了MATLAB MCR,我尝试运行一块代码: ./run_test.sh /usr/local/MATLAB/MATLAB_Compiler_Runtime/ 我会收到此错误: LD_LIBRARY_PATH is .:/usr/local/MATLAB/MATLAB_Compiler_Runtime//runtime/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime//bin/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime//sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Compiler_Runtime//sys/java/jre/glnxa64/jre/lib/amd64/native_threads:/usr/local/MATLAB/MATLAB_Compiler_Runtime//sys/java/jre/glnxa6
20 2023-08-31
编程技术问答社区
Matlab Java互操作性
我们的Web应用程序充当一个集成层,允许用户运行MATLAB代码(MATLAB是一种科学编程语言),该代码已编译为Java,通过浏览器(如上图中的选定选择)包装为JAR文件,除了上述图像中,除了remote_proxy-1.0.0.jar不是,它用于RMI). 问题在于,javabuilder-1.0.0.jar文件中包含的MATLAB JAVA运行时,具有一个过程范围的阻塞机制,这意味着如果第一个用户发送HTTP请求以执行cdf_read-1.0.0.jar或任何MATLAB计算-java jars dly,然后随后的请求将阻塞直到第一个罐子完成,并且由于JNI用于调用本机Matlab代码,并且由于App Server刚刚催生了新的线程以服务每个请求,但是再次,由于MATLAB JAVA运行时的整个过程锁定机制,这些新卵线的线程只会阻止等待满足第一个请求,因此我们的应用程序可以一次技术服务. > 为了解决此问题,对于每个此类请求,我们启动一个新的JVM进程,将请求发送到此
40 2023-08-11
编程技术问答社区
如何初始化和加载MCR
i合并Win32控制台应用程序中从MATLAB生成的C ++共享库. MATLAB程序需要2-3秒才能在MATLAB中执行,但控制台应用程序需要11-12秒才能执行.我读这本书是因为MCR的启动时间,我相信在MCR初始化之后,必须花费与MATLAB相同的时间.那么,如何加载或初始化MCR,以使其始终在RAM或缓存中,以便运行控制台应用程序需要2-3秒?我应该必须制作一个无限循环,以使MCR持续加载吗?我正在使用Windows操作系统,并且正在调用PHP的控制台应用程序.有任何教程或链接吗? 我添加了MCR_Cache_Root作为指向文件夹(不是临时)的环境变量.我的控制台应用程序代码如下: // shoes_shared.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "shoes_sharedlibrary.h" #include
16 2023-03-28
编程技术问答社区
在Linux机器上的mcc -mv R2013a
当我试图在Linux计算机上制作.m -files的可执行文件时,某些.m -files的工作绝对正常. 但是,一个在.m file内部有相机输入的文件给我带来了这个错误: depFun错误:" MEX文件中的意外标准异常.什么()是:..'使用MCC错误执行MCC的错误,返回状态= 1(0x1). 但是,当我在Windows和R2012a上使用相同的.m -file时,它正常工作而没有任何错误. 我找到了这里的错误报告 - 这是一个类似的问题吗? 我该如何解决? 这是我的.m -file的简单代码: function yuv() vid1 = videoinput('linuxvideo', 1, 'YUYV_1280x960'); set(vid1,'FramesPerTrigger',1); start(vid1); imageData1=getdata(vid1,1); imageData=ycbcr2rgb(imageData
14 2023-03-27
编程技术问答社区
matlab中的C++和C++中的matlab
似乎是在C C ++中调用MATLAB并在MATLAB中调用C C ++的几种方法.当我尝试在这里列出它们时,请指出我错过的话. 要在MATLAB中调用C C ++,也有两种方法.第一个是在C共享库中调用函数.第二个是将C C ++代码构建到二进制MEX文件中,该代码将从MATLAB命令行调用.对于第一个方法,C共享库只是一般的库,即没有更改其MATLAB的C代码,并从Genter C编译器(例如GCC)编译? 要在C C ++中调用MATLAB代码,有两种可用的方法.第一个是Matlab发动机.第二个是使用MATLAB编译器MCC从MATLAB代码创建C ++共享库. 除了MATLAB和C C ++还可以通过与某些文件的写作和读取数据(例如MAT文件,文本文件)进行通信. 在这里有多种方法来实现每个目标,您能告诉我哪些情况最适合使用哪个?即C共享库中的调用函数与将C C ++代码构建到二进制MEX文件中,MATLAB引擎与将MATLAB代码汇编为C c ++共享
60 2023-03-27
编程技术问答社区
如何向在Linux/Unix上运行的独立MATLAB可执行程序传递命令行参数?
如何将命令行参数传递给独立的matlab可执行文件 在Linux/unix上运行? 我需要将MATLAB脚本编译为可以在不存在MATLAB的机器上运行的独立文件.它需要能够以类似于C的argv[]的方式工作,在其中您进行以下操作: 命令行: myfile argument1.txt argument2.txt 参数1和2是输入和输出文件. 确切的语法无关紧要,但是它应该像argv[]一样工作.可以做什么函数? 我的意思是我的计算机上有MATLAB,但是我需要制作一个独立的可执行文件,该可执行文件可以在没有MATLAB上的Unix系统上运行,而不会在这些计算机上进行MATLAB(这是一个群集,仅在一个节点上具有MATLAB).我需要找到一种方法来制作varargin功能,而不会在运行程序的计算机上安装MATLAB.如果我能告诉MATLAB将MATLAB库放入每个可执行文件中,那没关系,只要它是一个完整的独立包装. 解决方案 MATLAB网站有一个
44 2023-03-22
编程技术问答社区
MatLab Coder-MatLab to C
我正在尝试运行MATLAB编码器,以将MATLAB .M文件转换为.mex,希望更快地运行代码. 尝试通过MATLAB编码器引擎构建文件时,我会收到以下错误: Undefined function or variable 'k'. The first assignment to a local variable determines its class. k在先前的循环内确定.我的猜测是,C代码无法在早期循环中"记住"值.我怎么能四处走动? 任何帮助都将不胜感激. 谢谢. 解决方案 由于所有"未定义函数或变量"错误都在变量上,并且所有变量均为1 x 1 double,因此您只需要将它们全部定义为0,然后才能在for循环中定义它们.看来您无法在循环中定义它们.
120 2023-03-21
编程技术问答社区
如何在Windows上安装一个编译器? (对于Matlab程序)
我已经下载了此代码; 在读书文件中,它说 运行mex -largearraydims on *.c在yu_imncut目录中 - 需要64位体系结构(感谢Richard Lowe为64位MATLAB提供修复程序) 需要LargeArrayDims 从 segbench/ 在sp_demo.m和pbwrapper.m 中更改路径名 获取快速处理器和大量RAM 运行sp_demo.m 我试图做MEX- ..一个,但它告诉我我没有任何编译器.我怎样才能解决这个问题?你能帮我吗?我正在使用64位Windows 7 解决方案 这是Windows GCC的链接 http://gcc.gnu.org/install/specific.html#windows 据我所知, 其他解决方案 MATLAB不支持Windows的GCC. Visual Studio Express Editions将起作用,但是2010年可能需要取决于您正在运行的MATLAB版本(
42 2023-03-21
编程技术问答社区
独立的Matlab应用程序出现 "内存不足 "的错误--内存碎裂
我必须将应用程序作为A 独立MATLAB可执行文件向客户端传递.该代码包括一系列对内部创建多个单元格数组的函数的调用. 我的问题是,当响应用户负载的增加而增加了此功能的调用数量时,会发生过多的错误错误.我想这是低级内存碎片,因为工作区变量与循环数独立. 如上所述在这里,退出和重新启动MATLAB是这种类型的此类型的信息,时刻. 我的问题是,我如何在独立应用程序中实现这种机制,以保存数据,退出和重新启动自我误差(或者在以某种方式预测这种错误的可能性很高时). 有什么最佳练习可用吗? 谢谢. 解决方案 这有点艰难.您可以更改代码以将作品分解为块以提高效率吗?片段化主要与 peak 与细胞相关的内存使用情况以及数据项大小变化的数量,而随着时间的推移的总使用情况较小.如果您可以将大型作品分解为按顺序完成的较小作品,则可以降低零散的内存使用情况的"高水位".您还可以使用共享其备份数据值的"轻量级"数据结构来节省内存使用量,或者有时转换为基于单元格的结构以参考对
16 2023-03-20
编程技术问答社区
从Matlab代码建立一个独立的应用程序
我有一些MATLAB代码和一个GUI,我想制作一个独立的应用程序来保护我的源代码.我如何构建这个独立的? 谢谢您的任何指南. =========================================================== ============================== 我在帮助中找到了: 如果您不想以这种格式分发专有的应用程序代码,则可以使用以下更安全的选项之一: •以p代码的方式部署 - 将某些或全部的源代码文件转换为称为p代码文件(来自其.p文件扩展名)的内容的表单,并以这种格式分发您的应用程序代码. •编译为二进制格式 - 使用MATLAB编译器编译源代码文件以生成独立的应用程序.将后者分配给应用程序的最终用户. 与P-codes一起工作很简单,没有问题. 构建独立的可执行文件 保护您的源代码的另一种方法是将其构建到独立的可执行文件中,并将可执行文件以及任何其他必要的文件分配给外部客户.您必须安装MA
24 2023-03-20
编程技术问答社区
MATLAB R2013b的Deploytool不起作用,有什么变化?
多年来,我一直使用集成deploytool为同事创建易于分发 *.exe文件. 几天前,我安装了R2013B,我无法再使用deploytool.试图打包时的日志文件给出: ant: mcc -C -o test -W WinMain:test -T link:exe -d 'C:\Users\xxxx\Matlab\programxy\test\for_testing' -v 'C:\Users\xxxx\Matlab\programxy\test.m' Test checkout of feature 'Compiler' failed. mcc failed. 这看起来像
12 2023-03-20
编程技术问答社区
从C++调用MATLAB出错:未解决的外部符号
从C ++调用我的MATLAB函数时遇到了几个错误.主要想法是:首先编译MATLAB函数并生成DLL文件,然后在C ++中包含.H和.lib文件.最后,写入.cpp以测试并调用该功能.这是我的详细步骤,请告诉我我错了. (使用MATLAB 2012B和Visual C ++ 2008,Windows 7 64位) 在Matlab中: mbuild -setup和mex -setup将Visual Microsoft Visual C ++ 2008 SP1设置为编译器. 在文件夹中创建MyAdd.m C:\Users\WangYudong\Documents\MATLAB\MyAdd_M,该功能就像: function [c] = MyAdd(a, b) c = a + b; mcc -W cpplib:libMyAdd -T link:lib MyAdd编译MyAdd.m并生成几个文件,包括libMyAdd.dll,libMyAdd.h,libMyAd
70 2023-03-20
编程技术问答社区
从Matlab创建的jar文件返回值
我有一个MATLAB代码,该代码终于计算了索引的向量.我使用库编译器来将MATLAB代码编译为Java软件包.jar文件.我导出了JAR文件,以便为我的主要Java项目运行它.包装类的名称是流行病的.我导入了jar文件(将其添加为外部罐子).在主代码中,我尝试创建类的对象(在JAR文件中).我已经将班级的名称定义为流行病.因此,我的代码: import epidemic.Epidemic; ... public static void main(String[] args) throws IOException { List list1 = new ArrayList(); List list2 = new ArrayList(); Epidemic object = new Epidemic(); object.epidemic(list1, list2); System
96 2023-03-20
编程技术问答社区
每次在MATLAB中运行我的代码时,我如何在我的excel表中的下一列更新计算数据?
function []= process(f1, f2, f3, f4, height, th) %%omitted the the large code from in between in order to just propose the problem%% ValuesInInches(12)=t1*t; ValuesInInches(8)=realneck(f1,f2,height,th); ValuesInInches(14)=t3*t; ValuesInInches(7)=t4*t; ValuesInInches(11)= ValuesInInches(7); ValuesInInches(5)=t5*t; ValuesInInches(4)=t6*t; ValuesInInches(6)=t7*t; ValuesInInches(10)=t8*t; ValuesInInches(9)=t9*t; ValuesInInches(3)=t9*t1; ValuesInI
14 2023-03-20
编程技术问答社区