How do I shade the area between two curves on a plot that is generated by arrays?

2 Ansichten (letzte 30 Tage)
For example:
x1 = [ 1 2 3 ];
y1 = [2 5 8];
x2 = [1 2.5 3.5];
y2 = [1 6 3];
plot(x1, y1)
hold on
plot(x2, y2)
Thanks for the help!

Akzeptierte Antwort

Davide Masiello
Davide Masiello am 2 Aug. 2023
Bearbeitet: Davide Masiello am 2 Aug. 2023
Use the patch function.
x1 = [1 2 3];
y1 = [2 5 8];
x2 = [1 2.5 3.5];
y2 = [1 6 3];
hold on
patch([x1 flip(x2)], [y1 flip(y2)],'y','EdgeColor','none')
plot(x1, y1,'b')
plot(x2, y2,'r')
box on
axis padded
  4 Kommentare
Rowan Quintero
Rowan Quintero am 2 Aug. 2023
I am getting the error:
"error in horzcat:
dimensions in array being concatenated are not consistent"
Any ideas? I appreciate your responsiveness.
Rowan Quintero
Rowan Quintero am 2 Aug. 2023
Fixed: The arrays were 1250x1 instead of 1x1250. thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by