3

我正在使用 php 构建一个可以计算一些凸编程的网站。但是,当我尝试连接 php 和 matlab 时,我可以执行 matlab 及其一些命令,但我无法运行任何 matlab 函数。

我正在使用 SSH、Windows 7、Matlab R2012a。以下是我的一些观察:

  1. 我无法通过 php 执行任何 matlab 函数(.m 文件中的函数),但我可以通过我们的 php 代码通过 matlab 运行简单的命令,例如 cd、3*3。我还尝试使用 SSH 在 UNIX 中运行 matlab。我可以成功运行 matlab 函数和命令。另一件事是,当我在 php 中调用 matlab 时,它显示一个目录 (/misc/uac_std/fyp/y13/fyp_dt/public_html/),该目录与普通目录 (/uac/std/fyp/y13/fyp_dt) 不同/public_html)

  2. 在 php 中,每次运行 matlab 时,我都会收到此警告消息 - 检查目录权限。警告:无法创建首选项目录 /root/.matlab/R2012a。我已经在谷歌搜索它并尝试手动创建目录以在主目录(cd~)中创建 .matlab/R2012a,但它没有帮助。

  3. 在 SSH 和 php 中运行 matlab 时,我发现我们运行不同版本的 matlab。当我在 SSH 中运行它时,版本是 R2009a。php时,版本为R2012a。我不知道这是否与我们的问题有关,但这很奇怪。而且,我在大学使用的matlab是R2011b ...

这是我的php代码:

if(isset($_POST['filepath'])) {

$filename  = $_POST['filepath'];
    $command="/usr/local/bin/matlab -nodisplay -nosplash -r \"test()\"";
    $output=shell_exec($command); 
    print "$output\n";  
}

有人能帮我吗?

4

1 回答 1

0

您可以为 Matlab 创建一个输入文件。基本上与http://www.danpearce.co.uk/php_and_matlab相同的技术,但使用 PHP 编写输入文件,然后解析来自 Matlab 的输出文件。

于 2013-01-22T05:17:18.020 回答