2014-02-13 4 views
0

Я следую большинству голосующих ответов на вопрос по ссылке ниже, но я никуда не денусь. MATLAB, Filling in the area between two sets of data, lines in one figureЗаполнить область между двумя горизонтальными линиями

Я хочу, чтобы заполнить пространство между одной горизонтальной линии у = 6, и другой горизонтальной линии у = 9

x=ones(1,110)     %#initialize x array 
y1=6*(x);      %#create first curve 
y2=9*(x);      %#create second curve 
X=[x,fliplr(x)];    %#create continuous x value array for 
Y=[y1,fliplr(y2)];    %#create y values for out and 
fill(X,Y,'b');     %#plot filled area 

Просто это не работает! Любая идея, почему бы и нет?

ответ

2

Ваш код может быть упрощен:

area([1 110],[9 9],6) % plot a line between (x1,y1) and (x2,y2), then fill down to a baseline (6) 
ylim([0 10])    % scale y axis to fit 

Для прямых линий, вам нужно всего лишь два очка, а не 110.

3

Вы почти находитесь.

X должен содержать индекс x-точек (1: 110), а не ones(110).

X=[1:110,fliplr(1:110)]; 

дает

enter image description here

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