从命令行调用函数时获取八度音程

时间:2011-07-27 10:43:18

标签: plot octave

我正在尝试从命令行在octave中运行一个函数。该功能目前如下运行:

octave --silent --persist --eval 'function(input arguments)'

function.m包含plot命令。当我使用上面的命令行参数调用octave时,绘图会显示但是八度音将进入其交互模式。我的问题是:

从命令行调用时,有没有办法让八度音阶显示 没有 进入交互模式的情节?

6 个答案:

答案 0 :(得分:12)

在绘图功能之后使用pause

答案 1 :(得分:3)

AFAIK,绘图窗口是八度音程的子进程,因此只能在八度音程运行时显示。即使你从“交互式”模式中绘制一些东西,让情节打开和关闭八度,情节也会消失 你可以做的是绘制一些输出文件,如发布here

f = figure
set(f, "visible", "off")
plot([1,2,3,4])
print("MyPNG.png", "-dpng")

答案 2 :(得分:3)

您需要选择合适的图形工具包:

Foo2

默认值为available_graphics_toolkits ans = { [1,1] = fltk [1,2] = gnuplot } ,如果不显示绘图,则无法写入文件。但是,如果选择fltk,它将能够在不显示文件的情况下写入文件。在您的文件中以:

开头
gnuplot

答案 3 :(得分:2)

您可以使用:

waitfor(h)

最后,等待你关闭这个数字。

答案 4 :(得分:1)

问题是当你从命令行运行时,当它结束时,绘图窗口会随之消失。

#! /usr/bin/octave -qf
f = figure;
set(f, "visible", "off")

t=0:0.001:5*pi;
plot(t, sin(5*t)), grid

print("MyPNG.png", "-dpng")

这会将输出保存到运行它的目录中的MyPNG.png。

然后你可以用可视化程序打开它。

另一种选择是添加

pause

在程序结束时等待用户输入终止,因此关闭绘图窗口。

干杯:)

答案 5 :(得分:0)

也可以尝试等待密钥。

同时(waitforbuttonpress()== 0) 暂停(1) 结束