代码运行时更改变量的值

时间:2013-03-27 22:40:09

标签: matlab callback handle

我正在编写一个代码,它将获取光标的位置并输出声音信号。但是这里有一个问题:在背景中已经有一个sin函数,鼠标点击只会改变这个声音的x和y值。这是我到目前为止所提出的:

clear all
clc
k = 1:1200;
 k = k/5000;

 x=1;
 y=1;

while i<10;
    [x,y]=ginput(1)

 vib= 0.5*sin(2*pi*y*k);
 note=sin(pi*x*k*440);
 ses = note+vib;
 sound (ses);
 end

正如你所看到的,我的代码只是扮演一个sin函数,但它是离散的。有人可以帮帮我吗?我研究过句柄和回调,但我无法理解它。我在网上找到的解释太复杂了,我无法理解。

1 个答案:

答案 0 :(得分:1)

声音(ses);只需要变量“ses”并播放。播放时,您不能以您的思维方式干扰数据。您可以观察下一个sound()函数调用的变化。 如果您想连续播放波形,可以在这里查看:

Matlab: How to get the current mouse position on a click by using callbacks