首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化Convex.MaxAtom数组朱莉娅

初始化Convex.MaxAtom数组朱莉娅
EN

Stack Overflow用户
提问于 2017-09-14 15:24:46
回答 1查看 30关注 0票数 1

如何使用Array包创建Convex.MaxAtomConvex (或其他Convex类型)?我不确定Array是否是正确的结构,但我要做的是初始化长度为nmy_array,以便更新循环中的每个元素

代码语言:javascript
复制
using Convex
v = Variable(n)
w = Variable(n)
my_array = ...initialized array?...
for i = 1:n
    my_array[i] = max(v[i],w[i])
end

我试过

代码语言:javascript
复制
my_array = Convex.MaxAtom[]
for i = 1:n
    push!(x, max(v[i], w[i]))
end

但我想避免重新分配内存,并提前做。我觉得我一定是错过了朱莉娅的一个重要部分,因为我不知道该用什么类型来构造它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-14 21:50:39

在Julia中,Vector{AnyType}(n) (用应用程序中的有效类型替换AnyType )分配长度为n的未初始化AnyType元素的向量。更广泛地说,Array{AnyType,3}(2,3,4)会分配一个尺寸为2x3x4的三维张量,类似地,任何尺寸或形状都可以分配。

对于问题中的情况,解决办法是:

代码语言:javascript
复制
a = Vector{Convex.MaxAtom}(n)

元素被分配但未初始化,这是快速的,但是使用fill(some_value, n)zero(AnyType, n)可能更安全(这需要定义zero(AnyType) )。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46223004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档