Random Non-periodic waveform
조회 수: 5 (최근 30일)
이전 댓글 표시
How can I draw this waveform, it is a non periodic signal with the intervals like this {[1.54,2.49], [4.97,5.88], [6.69,7.98], [8.05,8.25],[8.58,9.09], [10.48,10.86], [11.16,12.97], [14.51,15.24],[15.38,15.60], [17.20,17.74], [19.16,22.38], [23.69,23.73],[24.59,25.47], [25.59,26.22], [26.65,29.27]}, these intervals are the starting and ending pionts of shaded area.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/282536/image.jpeg)
댓글 수: 0
채택된 답변
Star Strider
2020년 4월 7일
편집: Star Strider
2020년 4월 7일
Try this:
C = {[1.54,2.49], [4.97,5.88], [6.69,7.98], [8.05,8.25],[8.58,9.09], [10.48,10.86], [11.16,12.97], [14.51,15.24],[15.38,15.60], [17.20,17.74], [19.16,22.38], [23.69,23.73],[24.59,25.47], [25.59,26.22], [26.65,29.27]};
figure
hold all
for k = 1:numel(C)
patch([C{k} flip(C{k})], [0 0 1 1], [1 1 1]*0.8, 'EdgeColor','none')
end
hold off
It reproduces the image you posted, so I will not re-post it here.
EDIT — Added pulse train plot.
To draw it as a pulse train:
figure
hold all
for k = 1:numel(C)
plot([[1 1]*C{k}(1) [1 1]*C{k}(2)], [0 1 1 0], 'k')
end
hold off
grid
.
댓글 수: 6
Star Strider
2020년 4월 8일
I am still not certain what you want.
Try this:
N = 25; % Number Of Segments
g = rand(1,N);
b = rand(1,N);
C = mat2cell([cumsum(g+b); cumsum(g+b)-b]', ones(1,size(g,2)), 2);
figure
hold all
for k = 1:numel(C)
patch([C{k} flip(C{k})], [0 0 1 1], [1 1 1]*0.8, 'EdgeColor','none')
end
hold off
set(gca,'Layer','top', 'Box','on') % Put Axes On Top Of ‘patch’ Objects
legend('DoS')
figure
hold all
for k = 1:numel(C)
plot([[1 1]*C{k}(1) [1 1]*C{k}(2)], [0 1 1 0], 'k')
end
hold off
grid
추가 답변 (1개)
Muhammad Atif
2020년 4월 10일
댓글 수: 1
Star Strider
2020년 4월 10일
I do not understand what you want. The code I wrote is about as simple as I can create it, unless there is information about this that has so far not been posted. The loops are necessary because of the nature of the data. Each interval must be plotted individually in the patch call.
참고 항목
카테고리
Help Center 및 File Exchange에서 Annotations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!