zoukankan      html  css  js  c++  java
  • php调用matlab

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

    我导出的exe,用php调用

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

    Matlab命令行窗口:

    >> mex -setup
    Please 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 -setup
    Please 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下就调用不了。没错误,没反应,调试都没法调,苦死。。

    dll C++的兄弟请参考http://developer.51cto.com/art/200909/150944.htm

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

  • 相关阅读:
    洛谷 P1194 飞扬的小鸟 题解
    洛谷 P1197 星球大战 题解
    洛谷 P1879 玉米田Corn Fields 题解
    洛谷 P2796 Facer的程序 题解
    洛谷 P2398 GCD SUM 题解
    洛谷 P2051 中国象棋 题解
    洛谷 P1472 奶牛家谱 Cow Pedigrees 题解
    洛谷 P1004 方格取数 题解
    洛谷 P2331 最大子矩阵 题解
    洛谷 P1073 最优贸易 题解
  • 原文地址:https://www.cnblogs.com/frostbelt/p/2361097.html
Copyright © 2011-2022 走看看