13

次の不等式をプロットしたいと思います: y < p 2 (1 - p 1 ) およびx < p 1 (1 - ( y / (1 - p 1 )))。

最初が満たされていることを考えると、両方が満たされている領域をプロットしたいと思います。
p 1p 2は [0,1] の範囲内で変化する可能性があります。

助けていただければ幸いです。

4

3 に答える 3

17

これを試してみてください: 赤い領域は、両方の不等式が満たされる場所です。

[X,Y]=meshgrid(0:0.01:1,0:0.01:1); % Make a grid of points between 0 and 1
p1=0.1; p2=0.2; % Choose some parameters
ineq1 = Y<p2*(1-p1);
ineq2 = X<p1*(1-(Y./(1-p1)));
colors = zeros(size(X))+ineq1+ineq2;
scatter(X(:),Y(:),3,colors(:),'filled')

ここに画像の説明を入力

于 2012-07-05T14:43:21.790 に答える
9

別の解決策(Sam Robertのものと同様)は、以下を使用することcontourfです。

[X, Y] = meshgrid((0:999) / 1000, (0:999) / 1000);
p = rand(2, 1);                            %# In this example p = [0.1, 0.2]
ineq1 = Y < p(2) * (1 - p(1));             %# First inequation
ineq2 = X < p(1) * (1 - (Y / (1 - p(1)))); %# Second inequation
both = ineq1 & ineq2;                      %# Intersection of both inequations

figure, hold on
c = 1:3;                                   %# Contour levels
contourf(c(1) * ineq1, [c(1), c(1)], 'b')  %# Fill area for first inequation
contourf(c(2) * ineq2, [c(2), c(2)], 'g')  %# Fill area for second inequation
contourf(c(3) * both, [c(3), c(3)], 'r')   %# Fill area for both inequations
legend('First', 'Second', 'Both')
set(gca, ...                               %# Fixing axes ticks
    'XTickLabel', {t(get(gca, 'XTick'))}, 'YTickLabel', {t(get(gca, 'YTick'))})

そしてこれは結果です:

結果

赤い領域(凡例に記載されている)は、両方の不等式が満たされている場所を示しています。

contourf2番目と3番目の呼び出しは説明のためであり、不等式の1つだけが満たされる場所を示すことに注意してください。

于 2012-07-06T00:34:15.240 に答える