【问题标题】:Console application output控制台应用程序输出
【发布时间】:2013-04-08 02:25:55
【问题描述】:

我已经编译了 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

【问题讨论】:

    标签: php matlab console-application executable


    【解决方案1】:

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

    现在问题变成了使用 Python 读取文本文件的问题。具体操作方法可以参考this earlier question

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

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

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

    fid = 1;
    

    而是 - 这将产生输出到控制台。如果你这样做,我不确定fclose(fid) 语句是否会导致问题......

    【讨论】:

    • 我的程序产生数字输出而不是文本。那么输出是 ASCII 格式吗?我不想将结果保存在文本文件中,而是将其保存在 php 中的数组中以供进一步比较。我使用的是 php 而不是 Python。那么对php有什么帮助吗?
    • 如何创建输出?使用fprintf(1,'%d',myVariable) 类型的语句?是的,那是文本 - ascii。如果您以其他方式这样做,请通过编辑您的问题来描述它。
    • 我已经编辑了我的问题,请查看。无论如何将输出转换为数组并在php中使用它?
    • 是的。您的问题是使用disp。您显示的输出全部损坏。请将其简化为更具可读性的内容。 size(variable) 的输出是什么?它的显示方式几乎看起来像一个稀疏数组,但突然它变成了别的东西?
    • 好的,我会把它简化为可读的。我只是想知道更改为控制台应用程序时的数字输出是否会更改为 ASCII 格式?它是否以 .m 文件给出的相同格式显示输出?
    猜你喜欢
    • 2011-03-10
    • 2010-12-22
    • 2012-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-25
    相关资源
    最近更新 更多