画一个正弦波的频率降低

41视图(30天)
这就跟你问声好!我想画一个正弦波的频率随时间线性减少(振幅保持不变)。这是我的代码:
清晰的所有;
关闭所有;
clc
时间= 0.08;
x = 0:4/1000:2
= 5;
b =((2 *π)/(时间+ 0.001));
c = 300;
d = 30;
c = c * 1;
输出=。* sin (b。* (x + c)) + d;
情节(x,输出,“线宽”2);
结束
当我运行代码,我的情节是空白。我知道Matlab不需要使用一个for循环绘制正弦曲线的时候,但是我不知道怎么我可以修改频率随着时间的推移,如果我不使用一个for循环。感谢任何帮助!

答案(3)

艾克Blechschmidt
艾克Blechschmidt 2021年8月4日
如何
f_upper = 50;
f_lower = 10;
t = 0:0.01:10;
f = linspace (f_upper f_lower,元素个数(t));
= 10;
x = a * sin(2 *π* f。* t);
情节(t, x)
1评论
darova
darova 2021年8月4日
不工作好
f_upper = 5;
f_lower = 1;
t = 0:0.01:10;
f = linspace (f_upper f_lower,元素个数(t));
= 10;
x = a * sin(2 *π* f。* t);
情节(t, x)

登录置评。


darova
darova 2021年8月4日
修改x坐标
x = 0: .1:30;
y = sin (x);
x1 = x - 10 * (x / max (x)) ^ 2;最后一点10单位%转变
情节(x1, y)
5个评论
艾克Blechschmidt
艾克Blechschmidt 2021年8月9日
@darova 改变后的轴计算罪。所以我不确定(如“我没有数学检查”),如果解决方案仍然是expressable罪与单个函数(你总能找到多个sin-waves表达任何时间信号- >傅里叶变换)这是我的理解“这还算是一种罪恶的功能”。我的第一个解决方案,因为我只操纵罪的输入函数。所以我想我的问题是不精确的。

登录置评。


艾克Blechschmidt
艾克Blechschmidt 2021年8月5日
最简单的和正确的可能是使用:
f1 = 50;
f2 = 10;
t = 0:0.001:10;
y =唧唧声(t, f1, t(结束),f2);
情节(t、y);
3评论
艾克Blechschmidt
艾克Blechschmidt 2021年8月6日
你也可以做
编辑尖声地说
和滚动downt
函数yvalue = calculateChirp (f0 f1 t1, p, t,φ,isComplex)
它显示了啁啾计算相当清楚。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!