Matlab-在逻辑数组中取得第一个非零位置

时间:2018-06-25 11:31:01

标签: matlab

我的问题如下:是否有一种简单的方法来确定逻辑数组中非零条纹中第一个非零元素的位置?可能有几个“一”条纹与之间的“零”条纹。

示例输入:

1 1 1 1 0 0 0 1 1 1 0 0 1 1 1

示例输出:

1 0 0 0 0 0 0 1 0 0 0 0 1 0 0

谢谢!

1 个答案:

答案 0 :(得分:3)

您应该可以使用[ { "user_id": "123", "AF": [ { "formula_type": 'FORMULA-1', "lag": 0 } ], "Trend": [ { "is_active": 0 } ] }, { "user_id": "859", "AF": [ { "formula_type": 'FORMULA-1', "lag": 0 } ], "Trend": [ { "is_active": 0 } ] } ] 命令执行此操作:

var JSON_OBJECT = [
{
    "user_id": "123",
    "AF": [
        {
            "formula_type": 0,
            "lag": 0
        }
    ],
    "Trend": [
        {
            "is_active": 0
        }
    ]
},
{
    "user_id": "859",
    "AF": [
        {
            "formula_type": 0,
            "lag": 0
        }
    ],
    "Trend": [
        {
            "is_active": 0
        }
    ]
}
];

var currentUserID = '123';
var formulaType = 'FORMULA-1'

Object.keys(JSON_OBJECT).forEach(function(k) {
  if (currentUserID == JSON_OBJECT[k]['user_id']) {
      JSON_OBJECT[k]['AF'][0]['formula_type'] = formulaType;
  }
});
console.log(JSON_OBJECT);

diff取MATLAB数组中相邻值之间的差。您必须附加一个前导零,以确保抓住前导零(如果存在)。