如何在Octave的终端输出上手动分割长行大小?

时间:2016-11-04 21:11:42

标签: formatting output octave

如何在Octave的终端输出上手动设置长行大小?

我通过Sublime Text输出构建面板使用Octave,并且octave无法正确识别它应该用于分割/填充屏幕的行数。 例如,它正在填充屏幕,如下所示:

octave:13> rand (2,10)
ans =

 Columns 1 through 6:

  0.75883  0.93290  0.40064  0.43818  0.94958  0.16467
  0.75697  0.51942  0.40031  0.61784  0.92309  0.40201

 Columns 7 through 10:

  0.90174  0.11854  0.72313  0.73326
  0.44672  0.94303  0.56564  0.82150

但我想设置10列(Columns 1 through 10)而不是Columns 1 through 6

如果我停用 split_long_rows ,请不要拆分。

  

查询或设置控制是否行的内部变量   当显示到终端窗口时,矩阵可能被分割。

     

如果行被拆分,Octave将在一系列中显示矩阵   较小的碎片,每个碎片都可以在你的范围内   终端宽度和每组行都标有标签,以便您轻松完成   查看当前正在显示的列。

https://www.gnu.org/software/octave/doc/v4.0.1/Matrices.html#XREFsplit_005flong_005frows

1 个答案:

答案 0 :(得分:0)

你不能像那样拆分它们。 Octave输出只是调试程序的一种简单快捷的方法。要根据需要精美地打印东西,只需为它创建一个函数并打印它们。

这是一个类似的例子,其中打印了一个表:

...
for i = 2 : 7
    ...
    % https://www.gnu.org/software/octave/doc/v4.0.1/Basic-Usage-of-Cell-Arrays.html
    results(end+1).vector = { m, gaussLegendreIntegral________, gaussLegendreIntegralErroExato___ };
end

printf( "%20s | %30s | %30s\n", "m", "Gm", "Erro Exato Gm = |Gm - Ie |" )
printf( "%20s | %30s | %30s\n", "--------------------", "------------------------------", "------------------------------" )

numberToStringPrecision = 15;
for i = 1 : numel( results )
    # https://www.gnu.org/software/octave/doc/v4.0.0/Processing-Data-in-Cell-Arrays.html
    # https://www.gnu.org/software/octave/doc/v4.0.1/Converting-Numerical-Data-to-Strings.html#XREFnum2str
    printf( "%20s | ", num2str( cell2mat( results(i).vector(1) ), numberToStringPrecision ) )
    printf( "%30s | ", num2str( cell2mat( results(i).vector(2) ), numberToStringPrecision ) )
    printf( "%30s\n" , num2str( cell2mat( results(i).vector(3) ), numberToStringPrecision ) )
end

它会生成如下输出:

                   m |                             Gm |     Erro Exato Gm = |Gm - Ie |
-------------------- | ------------------------------ | ------------------------------
                   2 |             -0.895879734614027 |              0.104120265385973
                   3 |             -0.947672383858322 |             0.0523276161416784
                   4 |             -0.968535977854582 |             0.0314640221454183
                   5 |             -0.979000992287376 |             0.0209990077126242
                   6 |             -0.984991210262343 |             0.0150087897376568
                   7 |             -0.988738923004894 |             0.0112610769951058