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

6 ビュー (過去 30 日間)
Sahil Wani
Sahil Wani 2023 年 1 月 6 日
コメント済み: Voss 2023 年 1 月 7 日
% 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)

回答 (1 件)

Voss
Voss 2023 年 1 月 6 日
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)
  1 件のコメント
Voss
Voss 2023 年 1 月 7 日
@Sahil WANI: Any questions, please let me know. Otherwise, please "Accept This Answer". Thanks!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMATLAB についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by