Clear Filters
Clear Filters

How to plot a curve when x(3,idx) is within a certain range

1 view (last 30 days)
EDIT: modifies code to just load x, as otherwise there are a lot of warnings.
I want to plot a curve when x(3,idx) is whithin the range (6.077865,16.053016). How to do that? The code below makes the whole curve for (6.077865,20) red. I want to get a red curve for (6.077865,16.053016) and blue curve for (16.053016,20). Please help.
idx = x(3,:)>16.053016;
plot(x(3,idx),x(1,idx),'b', 'LineWidth',2)
hold on
idx = 6.077865<x(3,:)<16.053016;
plot(x(3,idx),x(1,idx),'r', 'LineWidth',2)
axis([0 20 0 .8]);

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 30 Nov 2023
Edited: Dyuman Joshi on 30 Nov 2023
In MATLAB, when using multiple conditions to compare, the conditions need to be specified separately -
idx = 6.077865<x(3,:) & x(3,:)<16.053016;

More Answers (0)


Find more on 2-D and 3-D Plots in Help Center and File Exchange


Community Treasure Hunt

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

Start Hunting!