0

我已经编译了 matlab 文件,该文件以可执行形式显示大量数字作为基于控制台的应用程序。我需要对 php.ini 中的可执行文件的输出做进一步的计算。基于可执行控制台的应用程序的输出是 ASCII 还是数字格式?如何将 ASCII 输出转换为数字格式,以便在 php 中对其进行进一步计算?

我正在使用 disp(variable) 来显示输出。输出形式为。

    (1,1) 0.1424

(2,1) 0.0117 (3,1) 0.0000 (4,1) 0.0000 (5,1) 0.0677 (6,1) 0.0000 (7,1) 0.5308 (8,1) 0.0077 (9,1) 0.0512 (10 ,1) 0.0118 (11,1) 0.0001 (12,1) 0.1764

(114,1) 0.4564 (203,1) 0.2962 (250,1) 0.2474

第 1 至 7 列

0.1373 0.0414 0.0541 0.1342 0.5606 0.5293 0.1652

第 8 至 14 列

0.0341 0.0396 0.0633 0.0778 0.0289 0.0654 0.0752

第 15 至 21 列

0.3055 0.4602 0.0631 0.0360 0.0188 0.0497 0.0228

第 22 至 28 列

0.0294 0.0373 0.0734 0.3148 0.1703 0.0294 0.0057

第 29 至 35 列

0.0263 0.0382 0.0977 0.0396 0.1056 0.0781 0.1085

第 36 至 42 列

0.1537 0.0239 0.0154 0.0046 0.0121 0.0700 0.0171

第 43 至 49 列

0.0304 0.0551 0.2174 0.2594 0.1179 0.0355 0.0103

第 50 至 56 列

0.0084 0.0188 0.0025 0.0019 0.0219 0.1391 0.1527

第 57 至 63 列

0.0471 0.0313 0.0170 0.0557 0.0016 0.0044 0.0184

第 64 至 70 列

0.0194 0.2053 0.3206 0.1394 0.0208 0.0332 0.0658

第 71 至 77 列

0.0193 0.0073 0.0026 0.0223 0.1996 0.3017 0.0207

第 78 至 84 列

0.0168 0.0076 0.0038 0.1666 0.0278 0.0167 0.1070

第 85 至 91 列

0.3269 0.2546 0.0270 0.0026 0.0053 0.0079 0.0132

第 92 至 98 列

0.0059 0.0141 0.0205 0.1327 0.2656 0.0300 0.0049

第 99 至 105 列

0.0066 0.0228 0 0.0253 0.0622 0.0107 0.0792

第 106 至 112 列

0.0754 0.0157 0 0.0097 0.0229 0.1128 0.0549

4

1 回答 1

0

每当程序产生“文本”输出时,它将是 ASCII。您通常可以将此文本通过管道传输到文件或其他进程。根据平台的不同> myfile.txt,命令末尾的内容会生成一个文件myfile.txt,其中包含进程的所有输出(matlab -nosplash myScript.m > myfile.txt例如,可能是 .)。

现在问题变成了使用 Python 读取文本文件的问题。您可以参考这个较早的问题以了解如何做到这一点。

编辑请注意,让您的程序直接将数字写入文件(而不是通过控制台)非常容易。这是一个简单的例子:

A = 1:5;
fid = fopen('C:\mydir\mydata.dat', 'w');
fprintf(fid, '%d ', A);
fclose(fid);

这将创建一个数组,打开一个文件进行写入,将值写入文件,然后关闭文件。对于测试,您可以使用

fid = 1;

相反 - 这将产生输出到控制台。如果您这样做,我不确定该fclose(fid)语句是否会引起问题...

于 2013-04-08T02:36:37.680 回答