# Plot a sine wave with decreasing frequency over time

조회 수: 29(최근 30일)
Alison Huffman 2021년 8월 4일
댓글: Eike Blechschmidt 2021년 8월 9일
Hi! I'm trying to plot a sine wave whose frequency decreases linearly over time (amplitude stays the same). This is my code:
clear all;
close all;
clc
period = 0.08;
for x = 0:4/1000:2
a = 5;
b = ((2*pi)/(period + 0.001));
c = 300;
d = 30;
c = c * -1;
output = a.*sin(b.*(x+c))+d;
plot(x, output, 'Linewidth', 2);
end
When I run the code, my plot is blank. I know Matlab doesn't require the use of a "for" loop when plotting sinusoids, however I'm unsure of how else I can modify the frequency over time if I don't use a "for" loop. Any help is much appreciated!

댓글을 달려면 로그인하십시오.

### 답변(3개)

Eike Blechschmidt 2021년 8월 4일
f_upper = 50;
f_lower = 10;
t = 0:0.01:10;
f = linspace(f_upper, f_lower, numel(t));
a = 10;
x = a * sin(2*pi*f.*t);
plot(t,x)
##### 댓글 수: 1표시숨기기 없음
darova 2021년 8월 4일
DOesn't work well
f_upper = 5;
f_lower = 1;
t = 0:0.01:10;
f = linspace(f_upper, f_lower, numel(t));
a = 10;
x = a * sin(2*pi*f.*t);
plot(t,x)

댓글을 달려면 로그인하십시오.

darova 2021년 8월 4일
Modify x coordinate
x = 0:.1:30;
y = sin(x);
x1 = x - 10*(x/max(x)).^2; % shift last point 10 units
plot(x1,y)
##### 댓글 수: 5표시숨기기 이전 댓글 수: 4
Eike Blechschmidt 2021년 8월 9일
@darova changed the x-axis after calculating the sin. So I'm unsure (as in "I have not mathematically checked") if that solution is still expressable with a single sin function (you can always find multiple sin-waves to express any kind of time signal -> fourier transformation) which was my understanding of "is it still a sin function". My first solution does that as I only manipulate the input to the sin function. So I guess my question was not precise.

댓글을 달려면 로그인하십시오.

Eike Blechschmidt 2021년 8월 5일
The easiest and correct is probably to use:
f1 = 50;
f2 = 10;
t = 0:0.001:10;
y = chirp(t,f1,t(end),f2);
plot(t, y);
##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
Eike Blechschmidt 2021년 8월 6일
You can also do
edit chirp
and scroll downt to
function yvalue = calculateChirp(f0,f1,t1,p,t,phi,isComplex)
It shows quite clear how the chirp is calculated.

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by