我有一个函数,我想要输入,但只有当用户想要 . 例如,如果我有这个代码:
figure
amplitude = 10;
tic
i = 1;
while(1)
time = toc;
values(i) = amplitude*sin(time);
times(i) = time;
plot(times, values)
drawnow
i = i+1;
end
你会得到一个不断绘制正弦波(就像一部蹩脚的电影) . 我想要做的是允许用户随时改变波的幅度 . 即程序将继续运行,但如果用户键入 20
和 Enter
,则可以更改幅度变量,并且正弦波将改变电影中的幅度 . 关于如何实现这一点的任何指针?
2 回答
如上所述,最好使用GUI来完成它,但如果你只是想在控制台中找到一些东西,我可以提供:
一个脚本,定期要求用户输入幅度,然后以此幅度继续“电影” . 它可以很容易地扩展,以允许用户决定何时会要求他输入下一个幅度变化 .
现在这将运行一段时间,然后要求您输入下一个幅度 . 请注意,您实际上可以一次提供多个命令 .
这将使下一个幅度为20,然后是1之后的那个 . 注意向上箭头键是你的朋友 .
您无法通过在控制台中键入数字来执行此操作,但您可以使用简单的GUI执行此操作 . 做谷歌搜索Matlab回调找到例子 . 当GUI事件发生时,它会触发一个可用于修改循环中变量的函数 .