How do i create a "Cut" at origin?

2 Ansichten (letzte 30 Tage)
Augustine Nashwan Aziz Al-Zebary
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.

Akzeptierte Antwort

Stephan
Stephan am 21 Mär. 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;

Weitere Antworten (0)

Kategorien

Mehr zu MATLAB finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by