Участок области неравенств с использованием Matlab
У меня есть вопрос по поводу Matlab. Это кажется простым, но я не могу найти решение для неравенства линейного участка графика в Matlab. Например, я хочу построить области yx и y>x и показать цвет для каждой из них. Для любого x, y, но мы можем принять x = [-50:50].
Спасибо.
Я пробовал это, но не знаю, как показать цвет для третьего параметра.
[X,Y]=meshgrid(-1:0.01:1,-1:0.01:1);
ineq1 = Y<X;
ineq2 = Y>X;
ineq3 = Y>-X;
colors = zeros(size(X))+ineq1+ineq2+ineq3;
scatter(X(:),Y(:),3,colors(:),'filled')
1 ответ
Решение
[X,Y]=meshgrid(-1:0.01:1,-1:0.01:1);
x1=reshape(X,[size(X,1)*size(X,2) 1]);
y1=reshape(Y,[length(x1) 1]);
a=[x1 y1];
ineq1=a(a(:,1)>a(:,2),:);
ineq2=a(a(:,1)<a(:,2),:);
ineq3=a(-a(:,1)<a(:,2),:);
scatter(ineq1(:,1),ineq1(:,2),3,'b','filled');
hold on;
scatter(ineq2(:,1),ineq2(:,2),3,'r','filled');
scatter(ineq3(:,1),ineq3(:,2),3,'g','filled');