2016-06-16 6 views
-1

Если у меня есть 3 вектора: среднее значение, среднее + стандартное отклонение и среднеквадратичное отклонение, как я могу заполнить пробел между средним значением + стандартное отклонение и среднеквадратичным отклонением и сохранить видимый третий веток " имею в виду"? Я попытался как этотЗаполнить область между двумя кривыми matlab

h1 = area(x,y_m); 
h2= area(x,y_std1); 
h3= area(x,y_std2); 

но он заполняет все пространство под средним + стандартное отклонение. В этом коде y_m = mean; y_std1 = среднее + стандартное отклонение; y_std2 = среднеквадратичное отклонение. Эти векторы импортируются из excel.

ответ

3

Нечто подобное может обеспечить то, что вы ищете

% random data 
x = 0:0.1:10; 
y = sin(x); 
ystd = ones(size(x))*1; 
y_std1 = y+ystd; 
y_std2 = y-ystd; 

figure 
fill([x fliplr(x)],[(y_std1) fliplr(y_std2)],'r'); hold on 
plot(x,y) 
+0

я нашел что-то подобное, но я не могу понять, что он делает. В моем случае x идет между 0 и 50; в то время как y имеет множество значений. У меня уже есть стандарт отклонения; Я не думаю, что мне нужно пересчитать это. – Shika93

+0

хорошо, поэтому x, y, ystd - ваши собственные данные. Вышеприведенный пример заключался в создании чего-либо для построения. Я предполагаю, что ваши значения x отсортированы. Позвольте мне привести пояснительный пример: x = [1 2 3 4]; y1 = [1,1 1,2 1,3 1,4]; y2 = [0,9 0,8 0,7 0,6]; [x fliplr (x)] = [1 2 3 4 4 3 2 1]; [y1 fliplr (y2)] = [1,1 1,2 1,3 1,4 0,6 0,7 0,8 0,9]; fliplr отменяет заказ, fill используется для рисования закрытой формы, приведенный выше пример генерирует закрытую форму. –

+0

@ Shika93 Вам нужно использовать 'fill', потому что он позволяет вам заполнить форму, определяемую координатами x и y. 'area' будет заполнять все пространство от заданной базовой линии, которая не является тем, что вы хотите. Первый аргумент 'fill' принимает x-координаты, второй - y-координаты. Чтобы нарисовать замкнутую форму, вам нужно x-координаты дважды. Однажды, чтобы идти слева направо, а затем снова справа налево (где они меняются на «fliplr»). Y-координаты - 'y_std1' от L до R и' y_std2' от R до L (опять же они меняются с R на L). Эти координаты определяют границы формы, которые 'fill' draws – Matt

Смежные вопросы