i want to draw a half staircase sinusoidal curve
조회 수: 4 (최근 30일)
이전 댓글 표시
I want to draw a half sinusoidal curve. In other means a pattern insert in a picture. I used for or if loop but not get success.
x-axis increases 20 sec and against it y-axis 1 sec.
I am highly appreciated for your answers.
댓글 수: 0
채택된 답변
Walter Roberson
2022년 9월 27일
The coordinates for the line would need to duplicate every middle x value -- once for the bottom of the stair and once for the top of the stair.
댓글 수: 8
Walter Roberson
2022년 10월 5일
The original question was about drawing that particular shape into an image.
You now talk about using the signal as an input to your turbine. You would never use an image of a signal as the input to your turbine; you would want the value of the points. And you would want the value to be computable based on the current clock, rather than having to pre-compute the value.
The below function generate_hump() accepts a time value and returns the appropriate signal level.
The function would need to be modified slightly if you wanted a periodic signal; in such a case we would need to know the exact point at which you wanted the signal to start to rise again. At the moment, your output for 350 is an extra 0; if your waveform were completely symmetric it would end at 340 rather than at 350.
t = 0:5:350;
num_t = length(t);
y = zeros(1, num_t);
for K = 1 : num_t
y(K) = generate_hump(t(K));
end
stairs(t, y); ylim([6 16])
function y = generate_hump(t)
if t >= 350
y = 0;
elseif t > 170
y = floor((350-t)/20);
else
y = floor(t/20);
end
y = y + 7;
end
추가 답변 (0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!