作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个向量 x
和 y
, 长度分别为 n 和 p。有没有内置的方法来创建一个 np x 2 矩阵,它将是
x[1] y[1]
x[1] y[2]
...
x[1] y[p]
x[2] y[1]
...
x[n] y[p]
最佳答案
Julia 在嵌套循环中通常非常快,所以如果它们对你来说正常工作,你应该检查性能,也许只是坚持下去。
另一种选择是使用 repmat (这个比使用重复快一点):
[repmat(x,1,length(y))'[:] repmat(y,length(x),1)[:]]
x=rand(1000)
y=rand(1000)
function withrepeat(x,y)
[repeat(x, inner=[size(y,1)]) repeat(y, outer=[size(x,1)])]
end
function withrepmat(x,y)
[repmat(x,1,length(y))'[:] repmat(y,length(x),1)[:]]
end
withrepeat(x,y)
elapsed time: 0.21556302 seconds (95986112 bytes allocated)
with repmat(x,y)
elapsed time: 0.075604488 seconds (56000560 bytes allocated)
function withloops (x,y)
leny=length(y)
lenx=length(x)
m=leny*lenx
OUT = zeros(Float64, m,2)
c=1
for i = 1:lenx
for j = 1:leny
OUT[c,1] = x[i]
OUT[c,2] = y[j]
c+=1
end
end
return OUT
end
rand(1000)
为
x
和
y
.
withloops(x,y)
elapsed time: 0.011350679 seconds (16000128 bytes allocated)
关于julia - Julia 中两个向量的笛卡尔积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29347559/
我是一名优秀的程序员,十分优秀!