【问题标题】:Expression in arrays to get a scalar one. Matlab数组中的表达式以获得标量。 MATLAB
【发布时间】:2014-06-30 12:25:20
【问题描述】:

我有一个向量数组,其中包含按升序排列的时间值。使用关系表达式,我可以从该数组中获取子集值,之后我需要该子集的第一个值而不创建新变量。 例如。 时间是一个列向量,那么我可以使用Time(something==X)来获取时间的子集值,但是我需要Time(something==X)的第一个值,我不能像一些编程语言u.u那样使用Time(something==X)(1)

【问题讨论】:

标签: arrays matlab logical-operators comparison-operators


【解决方案1】:

不幸的是,使用 MATLAB,您需要使用临时变量。它不支持这种索引,虽然它很自然,如果他们支持我会很高兴。

你必须这样做:

x = Time(something==X);
y = x(1);

Octave 确实有能力做这种索引。我能想到你逃避这种情况的唯一方法是使用cell arrays。但是,如果你想使用法线向量,那么你就是SOL

编辑:2014 年 5 月 13 日 - 参考 David 的评论,可以在没有临时变量的情况下执行此操作,但可读性很差。最后,临时变量仍然是提高可读性和可重复性的更好方法。检查他引用的以下 SO 帖子:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多