当另一列中的值等于特定数字时,如何在列中绘制数值

时间:2016-06-17 11:52:34

标签: matlab matlab-figure

如果另一列中的数值(例如第9列)等于特定数字,我如何获取列中的数值(让我们说第10列)并将其绘制成图表。

例如,当第9列的值== 4时,获取第10列的相应值并绘制。我使用行索引号作为时间标记。

我正在绘制所有第10列以获取波形然后我想使用第9列的数据向我的波形添加标记,这些标记代表在某个时间点发生的命令。

这是我的代码:

$like = "%girl's bag's%";// pass  string
$sql = "select * from tbl_product where itm_name like ? and status= ? and is_available=? order by itm_id DESC limit ?";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('siii', $like, 1, 1, 20);
$stmt->execute();

我希望我的解释清楚,因为我第一次尝试使用我的代码的最小工作示例。

1 个答案:

答案 0 :(得分:1)

您需要使用逻辑索引来执行此操作。您希望首先创建一个0(false)和1(true)值的数组,其中第9列等于您想要的值。

bool = E(:,9) == 4;

然后,您将要使用此01数组作为行索引。这将仅获取第9列等于4的行。这称为logical indexing

E(bool, 10)

然后你可以绘制这个

plot(t(bool), E(bool, 10))

正如所指出的那样,由于浮点表示,值可能 到<4>。为了解决这个问题,你只想用一个非常小的epsil来检查它们是否“足够接近”。

bool = abs(E(:,9) - 4) < 1e-12;