在MATLAB中将"布尔"字符串转换为数组

Que*_*det 0 matlab octave

我需要将一串布尔索引转换为一个如下所示的数组:

convert('11001') = [1 2 5]
convert('0000') = []
convert('001') = [3]
Run Code Online (Sandbox Code Playgroud)

我不控制产生字符串的函数.

有什么想法以优雅的方式做到这一点?我已经用循环做了它,但它看起来有点不对劲.

Nzb*_*buu 5

function y = convert(s)
y = find(s == '1');
Run Code Online (Sandbox Code Playgroud)