我已经找到了一些关于如何在图上找到与y值相对应的x值的指导,但我处理的是略微不同的事情。 以下是我一直试图做的代码:
Conditional jump or move depends on uninitialised value(s)
==26785== at 0x4013BC: PNode::operator<(PNode const&) const (test.cpp:13)
==26785== by 0x4027A0: bool __gnu_cxx::__ops::_Iter_less_iter::operator()<__gnu_cxx::__normal_iterator<PNode*, std::vector<PNode, std::allocator<PNode> > >, __gnu_cxx::__normal_iterator<PNode*, std::vector<PNode, std::allocator<PNode> > > >(__gnu_cxx::__normal_iterator<PNode*, std::vector<PNode, std::allocator<PNode> > >, __gnu_cxx::__normal_iterator<PNode*, std::vector<PNode, std::allocator<PNode> > >) const (predefined_ops.h:43)
因此,我的a = 1 + (2-1).*rand(1,10);
b = 5 + (10-5).*rand(1,10);
c = linspace(0, 100, 10);
y = (c-a)./b
x = linspace(0, 10, 10);
scatter(x,y,'b.')
idx = (5 <= y & y <= 10);
hold on, plot(x(idx), y(idx), 'r.')
hold off
值(来自y
和a
)是随机的,我想找出b
和a
的范围我5&lt; b
&lt; 10.我介绍了y
来查看x
值的可能范围,因此尝试查找y
的范围,这些范围x
对我来说不会有用y
。是否有更简单的方法来解决这个问题?任何建议将不胜感激!
答案 0 :(得分:0)
如您所知find(y >= 5 && y <= 10)
找到您期望的索引。这样,如果您找到y的索引,则可以将其应用于a
和b
。由于y
的每个元素的值完全由a
,b
和c
中的相应等效索引定义,因此您找到了a
的相关索引和b
获取y
中的指定范围。