在matlab中绘制变量中的约束

时间:2012-07-24 10:37:39

标签: matlab

我想绘制表格

的功能

f(p,q)=0

区域0 < p < 1, 0 < q < 1-p中的

。我使用ezplot

ezplot('f(p,q)',[0,1]) 

是我能做的。但它看起来更丑陋,因为该功能仅在三角形区域0 < p < 1, 0 < q < 1-p中得到很好的定义。因此,我认为,除了这个区域之外,它只是绘制函数的实部/虚部,因而是丑陋的部分。但我想只在三角形区域0 < p < 1, 0 < q < 1-p画画。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

以下是一个如何展示您想要绘制的值的示例。对于你所做的事情,这绝不是复制粘贴答案。

p = -1:.1:2; % Just giving p some random values so that we can pull 0 < p < 1 from it.
ind = intersect(find(p>0), find(p<1)); % This returns the intersection of the two sets from p.  Not really the best way, but it's a concise one-liner.

% Now to pull the values from p.
p_values = p(ind); % That simple!  This is because ind has the actual indexes where p < 1 and p > 0.

老实说,这可能不是从p获取信息的最好方法,但它才是我喝咖啡之前的最佳方式。

就拉动q的信息而言,您可以按照类似的方式确保您保持在为其设置的约束范围内。

请记住,当涉及到绘图时,您需要具有相同长度的向量,但如果您使用p_values的索引来获取q_values,那么您应该很好。

希望能让你在某种程度上开始并走上正确的道路。