I am not able to fill with the color between 2 lines in matlab

6 views (last 30 days)
% I am not able to fill with the colour between 2 lines (y1 and y2) in Matlab. The Matlab code is attached as follows:
close
x = (0:60)';
y1 = 0.5025*exp(0.0471*x); y2=0.2045*exp(0.02*x);
hold all
plot(x,y1)
plot(x,y2)
patch([x fliplr(x)], [y1 fliplr(y2)], 'c','EdgeColor','none', 'FaceAlpha',0.25)

Answers (1)

Voss
Voss on 6 Jan 2023
Since x (and consequently y1 and y2) are column vectors, using fliplr does not have the desired effect. Instead you can use flipud or the more general flip. And use vertical concatentation (i.e., [x; flip(x)]) rather than horizontal concatenation (i.e., [x flip(x)]).
close
x = (0:60)';
y1 = 0.5025*exp(0.0471*x); y2=0.2045*exp(0.02*x);
hold all
plot(x,y1)
plot(x,y2)
patch([x; flip(x)], [y1; flip(y2)], 'c','EdgeColor','none', 'FaceAlpha',0.25)

Categories

Find more on MATLAB in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!