begin
MatExec(PChar(’x=-8: 5:8;’));
MatExec(PChar(’y=x’,’;’));
MatExec(PChar(’X=ones(size(y))*x;’));
MatExec(PChar(’Y=y*ones(size(x));’));
MatExec(PChar(’R=sqrt(X.^2+Y.^2)+eps;’));
MatExec(PChar(’Z=sin(R)/R;’));
MatExec(PChar(’mesh(Z);’));
end;
四、方案总结
其实思路和上一种方案很像,不同的是是通过调用dll中的matlab应用程序接口指令实现数据传输,本方案所提供的动态连接库实际上是一个示范性的例子,根据实际需要还可以开发出功能更强大的函数,以满足不同应用场合的需要。就是要花费一定时间编写相关的dll咯^_^
方案五 利用mideva编译脱离matlab环境的动态链接库
一、基本思路
如果你看过了以上的几种方案,就会发现它们都必需依赖于MATLAB环境,那么如何能够彻底脱离MATLAB环境呢?这也是我最近一直在研究的,但是天不随人意5555555555,虽然找到了相关资料可是却和实际情况相差太远。本来想等全部搞定之后再发这篇文章的,后来转念一想不如让大家共同研究,也许某位达人能参透其中奥妙。此方法是利用一个叫Mideva的软件,是Mathtools公司推出的一种Matlab编译开发软件平台(注:据笔者掌握的最新情况,Mathtools已经被Mathwork收购了),Mediva具有编译转换功能,能够将Matlab函数成编写的Matlab程序转换为c++形式的DLL,然后在Delphi中调用动态库函数,而不必再依赖Malab环境,前提是必须要有两个动态链接库mdv4300和ago4300。
文章来源于领测软件测试网 https://www.ltesting.net/