How to plot this signal on matlab? Bounty

1 次查看(过去 30 天)

采纳的回答

Simon Chan
Simon Chan 2021-7-14
Not sure what is the exact function of the curve and simply assume it to be a cosine function.
x=linspace(-1,1);
y=cos(pi*x/2);
w=1-abs(x);
u=linspace(-6,6,600);
v=[w(51:100),y,w,y,w,y,w(1:50)];
plot(u,v,'Linewidth',2)
xlabel('Time')
ylabel('x(t)')

更多回答(1 个)

Yazan
Yazan 2021-7-14
T = 4; % period
F = 1/4; % fundamental frequency
Fs = 1000; % sampling frequency
t = -6:1/Fs:6-1/Fs; % time vector
x1 = cos(2*pi*F*t); % first signal is cos signal
x1(x1<0) = 0; % set negative part to zero
x2 = sawtooth(2*pi*F*t, 1/2); % second signal is triangular
x2(x2<0) = 0; % set negative part to zero
x3 = x1+x2; % sum of the two signals
f = figure('Units', 'normalized', 'Position', [0.08 0.4 0.77 0.48]);
subplot(1,3,1), plot(t, x1); grid minor
xlabel('Time'); ylabel('Cos signal');
subplot(1,3,2), plot(t, x2); grid minor
xlabel('Time'); ylabel('Triangular signal');
subplot(1,3,3), plot(t, x3); grid minor
xlabel('Time'); ylabel('Composite signal');

类别

Help CenterFile Exchange 中查找有关 Fourier Analysis and Filtering 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by