How do i create a "Cut" at origin?

3 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)

Categories

Find more on MATLAB in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!