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.

采纳的回答

Walter Roberson
Walter Roberson 2022-9-27
Use the Computer Vision insertShape function requesting a 'line' .
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
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 个)

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by