arrays - Julia中数组内的成对比较
问题描述
假设我们在 Julia 中有一个 6 元素数组,例如Int64[1,1,2,3,3,4]
. 如果我们想逐元素比较两个数组,我们知道可以使用 ".=="; 但我的目标是在上述数组中进行所有成对比较:如果每对的元素 (i,j) 相等,则将其设置为 1(或 true),但如果它们不同,则将其设置为 0 . 所有成对比较都存储在一个 6x6 矩阵中。是否可以在没有循环的情况下在 Julia 中做到这一点?谢谢你。
解决方案
您可以使用广播将行与列进行比较的事实来简单地在数组及其转置之间进行比较:
julia> A = [1,1,2,3,3,4]
6-element Array{Int64,1}:
1
1
2
3
3
4
julia> A .== A'
6×6 BitArray{2}:
true true false false false false
true true false false false false
false false true false false false
false false false true true false
false false false true true false
false false false false false true
推荐阅读
- hadoop - 通过 MapReduce 生成 tfrecord 时出错
- reactjs - 什么时候在 React 应用程序中进行 UI 测试?
- tfs - 如何从 TFS 中的变更集中获取工作区 ID?
- ms-access - 无法从 VBA Access 中的表中查询特定年龄范围的数据
- sql-server - 左连接产生错误数据
- azure - jenkins 可以将模型解决方案部署到 Azure 分析服务吗?
- scala - 即使使用 POJO,Flink 中的任务也无法序列化
- watir - Watir 如何在浏览器上执行脚本时记录步骤以及如何从所有脚本中生成报告
- azure-devops - VSTS 选项卡扩展内容的大小
- reactjs - 如何为上一个/下一个按钮 ReactJS 创建单独的组件