假设我们有nxn二进制矩阵 M . 在MATLAB中,我想找到对应于1的点的"average"索引 .
M
为了说明,示出了以下示例 . 红色圆圈表示单元格值为1,所有其他单元格值为0.绿色x是我想要返回的索引 . 最合适的蓝线进一步说明了我的观点 .
我特意寻找有效的代码来做到这一点 . 任何具有一些简单数学技能的人都可以计算出这个“平均”指数,但由于MATLAB基于循环/迭代的低效率,我需要编写快速代码 .
这个怎么样:
Rand_matrix=randi([0 1],3,3); %random binary matrix [rows,col]=find(Rand_matrix); row_mean=mean(rows); col_mean=mean(col); midpoint=[row_mean,col_mean]
1 回答
这个怎么样: