首页 >后端开发 >php教程 >php调用matlab

php调用matlab

ringa_lee
ringa_lee原创
2018-05-12 09:22:293194浏览

matlab太大了,想导出一个可执行的文件,exe或jar或dll吧,然后用程序调用。

我导出的exe,用php调用

安装matlab,安装vc6编译器。没用过C++,下了个VC6.0安装了,系统就有vc6编译器了。

Matlab命令行窗口:

>> mex -setupPlease choose your compiler for building external interface (MEX) files:  
Would you like mex to locate installed compilers [y]/n? y Select a compiler: 
[1] Lcc-win32 C 2.4.1 in C:\matlab\sys\lcc 
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio  
[0] None  Compiler: 2 Please verify your choices:  
Compiler: Microsoft Visual C++ 6.0 Location: 
C:\Program Files\Microsoft Visual Studio  Are these correct [y]/n? y Trying to update options file: 
C:\Documents and Settings\cnic\Application Data\MathWorks\MATLAB\R2009a\mexopts.bat From template:              
C:\matlab\bin\win32\mexopts\msvc60opts.bat  Done . . .  **************************************************************************   
Warning: The MATLAB C and Fortran API has changed to support MATLAB            
variables with more than 2^32-1 elements.  In the near future            
you will be required to update your code to utilize the new            
API. You can find more information about this at:            
http://www.mathworks.com/support/solutions/data/1-5C27B9.html?solution=1-5C27B9            
Building with the -largeArrayDims option enables the new API. **************************************************************************  
>> mbuild -setupPlease choose your compiler for building standalone MATLAB applications:  
Would you like mbuild to locate installed compilers [y]/n? y Select a compiler: 
[1] Lcc-win32 C 2.4.1 in C:\matlab\sys\lcc 
[2] Microsoft Visual C++ 6.0 in C:\Program Files\Microsoft Visual Studio  
[0] None  Compiler: 2 Please verify your choices:  
Compiler: Microsoft Visual C++ 6.0 Location: 
C:\Program Files\Microsoft Visual Studio  Are these correct [y]/n? y Trying to update options file: 
C:\Documents and Settings\cnic\Application Data\MathWorks\MATLAB\R2009a\compopts.bat From template:              
C:\matlab\bin\win32\mbuildopts\msvc60compp.bat  Done . . .

mex -setup

mbuild -setup

都选VC6

M文件:funBt_fun.m

随便一点了就

function c= funBt_fun(input)c=input+1;

Matlab命令窗口:

cd XXX进入M文件所在路径

mcc -m funBt_fun.m          进行编译

生成funBt_fun.exe

PHP调用:

$commandBt="E:/funBt_fun.exe Fringillidae";
system($commandBt);

注:不要用Matlab自带的编译器啊,用VC6

哥用自带的,也可以导出exe,奇怪的是在DOS下可执行,在PHP下就调用不了。没错误,没反应,调试都没法调,苦死。。

jar包的话,会用java的应该都没问题吧

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
上一篇:php xml 摘抄下一篇:php??优化篇