MATLAB:调用各种接口提供的外部库函数时使用哪种语言接口?

时间:2014-08-04 20:30:01

标签: matlab

对于MATLAB和一般的编程来说仍然是一个新手,我不得不理解如何从“调用外部函数”一章中的官方MATLAB文档中记录的内容中获得最佳利润。我现在无法判断许多提供的途径中哪一个可能是最有效的途径,就初学者学习途径的容易程度而言,从长远来看哪个途径最容易和最清楚。一遍又一遍地应用MATLAB代码。

把它放在一个非常实际的问题中:例如,第三方图像处理函数库ITK或OpenCV提供Java,C ++,C和Python接口,而MATLAB具有解决此类接口的功能,该接口应该是编程初学者选择了什么?其中一个是否可用于更清晰的布局设计,因此更容易变暖并且更快学会申请?

我现在害怕听到每个人都说“嗯,这取决于你想做什么”,而我的答案只能是“不知道,我正在学习编程,并希望首先取得一些成功通过更清晰的设计和更容易理解的方法,因此希望得到一个建议从哪里开始“。

请允许我将此问题添加到我的问题和关注中:备受尊重的Yair Altman在他的网页“undocumentedmatlab.com”中为他的“未编程的Matlab-Java编程秘密”一书中的文章说明,Matlab编程环境会依赖Java来完成许多任务,包括网络,数据处理算法和图形用户界面(GUI)。我从这个声明中得出,学习将MATLAB专门连接到JAVA将具有显着的优势,MATHWORKS本身似乎决定在实现MATLAB时利用这种连接。

但是我也可以看到,通过为MATLAB提供MEX功能的MATHWORKS似乎倾向于紧密的C / C ++结合,除了调用外部C函数的其他可能性外,还提供MEX。

对于我作为初学者来说,现在很容易发现哪种外部语言连接路由可以作为“标准”或“首先被推荐”。你们中任何有经验的程序员都会为我提出一些争论,首先关注哪条路线?学习编程是一个漫长的旅程,我不想在推荐不当的路径上浪费时间。

2 个答案:

答案 0 :(得分:3)

这个问题听起来像是:"我还在学习如何驾驶,仍然不是一个非常有经验的驾驶员。请告诉我关于如何更换瘪胎的建议,乘客侧后轮上最好的轮胎是什么?什么是瘪胎的最佳地点,是商场或我的办公室停车场还是街道中间。"

让我给你一些提示:

  • 更换轮胎不会让你成为一个知识渊博的司机。你会从中学到很少的东西,这是一种令人沮丧的经历,现在不值得你花时间。了解如何开车。

说明:使MATLAB调用Java / C ++ / C或其他任何语言都不会使您成为更好的MATLAB程序员,坦率地说,这是次要的。直到你的问题的第一句话没有,我仍然是MATLAB的新手并且一般都是编程的#34;你在浪费时间。就像换轮胎一样,将MATLAB连接到其他语言并不是很酷或有趣,事实上它恰恰相反:它令人沮丧,容易出错并且很无聊。

  • 轮胎爆胎的那一天会到来。那天你得到它的位置和轮胎将成为次要的。你将需要学习如何改变它,你会。相信我,你会的。

说明:您无法决定使用何种语言来解决您现在遇到的确切问题的代码。就像你决定从哪里得到瘪胎一样。当你已经了解C ++并需要MATLAB来调用某些C ++代码(代码或其他人)时,这一天就会到来。那天你需要学习如何用C ++编写一个mex文件并为你的平台编译它并调用你的代码。或者您需要调用Java的那一天,然后您将学习如何调用Java。

如果你不知道自己需要做什么,而且你明显没有技术能力去做这件事只是浪费时间。

答案 1 :(得分:0)

首先,您可以寻找接口MATLAB和Java(这是最简单的学习方法)

之后,去寻找MATLAB和C ++的接口

1. Create Classes and Gateway in C++ for MATLAB and create executable mex file
2. Create MATLAB function and Wrap in C++  (Shared C/C++ library approach)

之后,转到创建Excel Addins并在Excel表格中调用这些插件

同时您可以在C#.net应用程序/VB.net应用程序中查找DLL引用