MATLAB Answers

How do i create a "Cut" at origin?

5 views (last 30 days)
Hello!
So i have coded a sine wave that looks like this:
and the code is:
A = 5;
M = 0.8;
w = 1.2;
fi = 30;
t2 = 20;
firad = fi*pi/180;
t = linspace(0,t2,1000);
y = M + A*sin(w*t + firad);
plot(t,y,'r', 'LineWidth', 2);
mnimumy=min(y) - abs(min(y))*0.1;
mximumy=max(y) + abs(max(y))*0.1;
axis([0 t2 mnimumy mximumy]);
grid on;
So i want to create a cut at origin so that the wave will look like this:
where do i start? I tried changing the Miny on axis to 0 but it did not create the lines in between the waves like the picture above.

Accepted Answer

Stephan
Stephan on 21 Mar 2021
A = 5;
M = 0.8;
w = 1.2;
fi = 30;
t2 = 20;
firad = fi*pi/180;
t = linspace(0,t2,1000);
y = M + A*sin(w.*t + firad);
% set all values y<0 to 0
y(y<0) = 0;
plot(t,y,'r', 'LineWidth', 2);
mnimumy=min(y) - abs(min(y))*0.1;
mximumy=max(y) + abs(max(y))*0.1;
axis([0 t2 mnimumy mximumy]);
grid on;

More Answers (0)

Community Treasure Hunt

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

Start Hunting!