2017-02-09 8 views
3

Я совершенно новый для MATLAB и имею некоторые проблемы.Контурный график в MATLAB с ограничениями

мне нужно сделать контурный график следующей нелинейной задачи оптимизации:

enter image description here

Для того, чтобы определить область допустимых для данной функции. Я пробовал поиск по Mathworks, но до сих пор не повезло. У меня также есть следующий пример:

x = -5:0.005:5; 
y = -5:0.005:5; 
[X,Y] = meshgrid(x,y); 
F = (X.^2+Y-11).^2 + (X + Y.^2 - 7).^2; 
v = [0:2:10 10:10:100 100:20:200] 
[c,h]=contour(X,Y,F,v,'linewidth',2); 

colorbar 
yc1 = (x+2).^2; 
yc2 = (4*x)/10; 

hold on 
fill(x,yc1,[0.7 0.7 0.7],'facealpha',0.2) 
fill([x x(end) x(1)],[yc2 -5 -5],[0.7 0.7 0.7],'facealpha',0.2) 
hold off 

Но это не показано, как он должен либо (это, предполагают, чтобы выглядеть следующим образом):

enter image description here

ответ

1

Вы уже там. Только пределы регулировки оси Y. Добавьте следующую строку:

ylim([-5 5]) 
2

Ваш код работает, вам просто нужно установить пределы

% your code here 

% Set limits 
ylim([-5,5]) 
% Set colours 
colormap 'jet' 

contour plot

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