Как закрасить область между 2 графиками в Matlab?

Как использовать Matlab для затенения области между верхней и нижней линиями? Спасибо!

clc; clear
upper=[54.48 62.83  46.53   44.11   46.33   49.95   53.68   58.03   62.99 69.33];
lower=[54.48 45.65  40.37   40.87   42.38   44.99   47.65   50.70   53.92 57.89];
t=[0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5];
plot(t,upper);
hold on;
plot(t,lower);

Всего 1 ответ


Вы можете просто определить многоугольник:

t_area = [t, t(end:-1:1)];
y_area= [lower, upper(end:-1:1)];
fill(t_area, y_area, 'y');

Здесь мы просто «склеиваем» две последовательности точек вместе, чтобы пройти слева направо для нижней части, а затем слева направо для верхней части, что создает красивый многоугольник, ограниченный двумя кривыми.


Есть идеи?

10000