How to plot section of a vector with a condition

Hello,
i am struggling with something. let me explain what exactly i need to plot. Suppose i have 4 vectors i.e Time, speed, torque, and power. say length of each vector is 15000x1. i want to plot time(x) vs speed(y),time(x) vs torque(y),time(x) vs Power(y). In all the three plots i don't want to shows points where power is less than a certain value. say power varies from 0 to 300. then in all the plots i don't want to show sections of plot whenever power is less than 225.
Thank you. -Amit

 Accepted Answer

I'm not clear on whether you want to connect across the skipped points, or leave them out. Here's an example that illustrates both:
npts=1000;
x=linspace(0,4*pi,npts);
y1=cos(x);
y2=sin(x);
mask=y1>.5;
figure
subplot(2,1,1)
plot(x(mask),y1(mask))
subplot(2,1,2)
plot(x(mask),y2(mask))
figure
subplot(2,1,1)
ytmp=y1;
ytmp(~mask)=nan;
plot(x,ytmp);
subplot(2,1,2)
ytmp=y2;
ytmp(~mask)=nan;
plot(x,ytmp);

3 Comments

Thank you Mike for the answer. i want to skip the points i.e. your 2nd option. it will be helpful.
hello ! the above command did not work. as i wanted the power points less than 225 were not "masked" in the speed and torque plots. is there any other way?
thanks -Amit
Got it corrected. works great now.

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Tags

Community Treasure Hunt

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

Start Hunting!