I am trying to figure out how to plot my data.
조회 수: 2 (최근 30일)
이전 댓글 표시
Data101 = linspace(0,10,500);
red_line = sin(2*pi*Data101)*1.5;
for i = 1:length(Data101)
if red_line(i) >= 0.95 && red_line(i-1) <=0.95
holdval(i) = 1;
else
holdval(i) = 0;
end
end
This is my current script. It contains my Data, named Data101, which is a 1x500 double. I want to figure out how to put this data on a figure now that I have the script I want? Any help is greatly appreciated. I am very new to this software so any tips would be appreciated too.
댓글 수: 0
채택된 답변
Chunru
2022년 5월 25일
Data101 = linspace(0,10,500);
red_line = sin(2*pi*Data101)*1.5;
for i = 1:length(Data101)
if red_line(i) >= 0.95 && red_line(i-1) <=0.95
holdval(i) = 1;
else
holdval(i) = 0;
end
end
figure;
plot(Data101, red_line, 'r');
hold on
stem(Data101, holdval, 'g.')
댓글 수: 1
Voss
2022년 5월 25일
편집: Voss
2022년 5월 25일
@Marshall Harkrider: Be careful with that red_line(i-1), because if it is executed with i==1, it will give you an error. That doesn't happen with this data because the && short-circuits before red_line(i-1) is executed with i==1, since red_line(1) is not >= 0.95.
But if you happened to have different data, where red_line(1) is >= 0.95, you'd have a problem:
Data101 = linspace(0,10,500);
red_line = sin(2*pi*Data101+pi/2)*1.5;
red_line(1)
for i = 1:length(Data101)
if red_line(i) >= 0.95 && red_line(i-1) <=0.95 % error here, trying to access red_line(0)
holdval(i) = 1;
else
holdval(i) = 0;
end
end
추가 답변 (1개)
the cyclist
2022년 5월 25일
You don't say what kind of figure you want. I suggest you look at the MATLAB Plot Gallery. If you see something like what you want, you can copy code from there.
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Graphics Object Identification에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!