我有一个m×1大小的矩阵Y,整数范围从1到10.我想用逻辑Y(i)== 1:10创建一个大小为m x 10的逻辑数组。而且我不想使用for循环。
我所做的是定义一个功能
f = @(y) (y == 1:10)'.
然后我用arrayfun(f,y,'UniformOutput',false)
调用它,它给出了一个输出正确的单元格。然后我将单元格转换为cell2mat
的矩阵。
这感觉有点做作,所以我的问题是:有更简单的方法吗?
答案 0 :(得分:5)
我认为你在寻找的是
bsxfun(@eq, y, 1:10)
答案 1 :(得分:0)