我有一个文本文件(很确定)是用 UTF16 编码的,但我不知道如何在 Julia 中加载它。我是否必须将它作为字节加载然后转换为UTF16String?
我想有可扩展的图形,能够添加顶点和边缘,并运行dijkstra_shortest_paths算法.我无法找到正确的方法来定义图形,以便dijkstra_shortest_paths工作.以下是我的尝试.
using Graphs
g1= graph(ExVertex[], ExEdge{ExVertex}[], is_directed=false)
dist_key = "dist"
v1 = add_vertex!(g1, "a")
v2 = add_vertex!(g1, "b")
v3 = add_vertex!(g1, "c")
e12 = add_edge!(g1, v1, v2)
e12.attributes[dist_key]=1.0
e13 = add_edge!(g1, v1, v3)
e13.attributes[dist_key]=1.0
e23 = add_edge!(g1, v2, v3)
e23.attributes[dist_key]=1.0
epi = AttributeEdgePropertyInspector{Float64}(dist_key)
dijkstra_shortest_paths(g1, epi, ["a"])
Run Code Online (Sandbox Code Playgroud)
错误信息:
dijkstra_shortest_paths has no method matching dijkstra_shortest_paths(::GenericGraph{ExVertex,ExEdge{ExVertex},Array{ExVertex,1},Array{ExEdge{ExVertex},1},Array{Array{ExEdge{ExVertex},1},1}}, ::AttributeEdgePropertyInspector{Float64}, ::Array{ASCIIString,1})
Run Code Online (Sandbox Code Playgroud) 我在Julia中附加一个空向量时遇到了麻烦.
v = Int64[]
append!(v,1)
append(v,1)
Run Code Online (Sandbox Code Playgroud)
追加!给出了错误
ERROR: `Variable` has no method matching Variable(::Int64, ::Int64, ::Int64, ::Int64)
Run Code Online (Sandbox Code Playgroud)
并附加给出了错误
ERROR: append not defined
Run Code Online (Sandbox Code Playgroud)
这可能是我的一个基本错误,但我无法弄清楚为什么这两个命令都不起作用.
我写了以下代码:
using JuMP
m = Model()
const A =
[ :a0 ,
:a1 ,
:a2 ]
const T = [1:5]
const U =
[
:a0 => [9 9 9 9 999],
:a1 => [11 11 11 11 11],
:a2 => [1 1 1 1 1]
]
@defVar(m, x[A,T], Bin)
@setObjective(m, Max, sum{sum{x[i,j] * U[i,j], i=A}, j=T} )
print(m)
status = solve(m)
println("Objective value: ", getObjectiveValue(m))
println("x = ", getValue(x))
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我收到以下错误
ERROR: `*` has no method matching *(::Variable)
in anonymous at …Run Code Online (Sandbox Code Playgroud) 我想知道是否有人知道使用sigma的julia等效函数。例如,如果我想要这种总和(不确定如何显示sigma表示法,那么这是我要寻找的图片):
双方c并x就矩阵,我会确定在前面的代码。有谁知道如何用Julia编写代码,或者julia是否具有等效功能?
我已经使用sum了更简单的向量和,但是不确定是否会转化为更大的矩阵。有任何想法吗?
我从R移动,我使用head()函数很多.我在Julia找不到类似的方法,所以我为Julia Arrays写了一个.还有其他几个R功能,我也在移植到Julia.
我需要这些方法可以在每个启动的Julia实例中使用,无论是通过IJulia还是通过命令行.是否有朱莉娅的"启动脚本"?我怎样才能做到这一点?
PS:如果其他人感兴趣,这就是我写的.需要为通用目的做很多事情,但它现在正在做我需要它.
function head(obj::Array; nrows=5, ncols=size(obj)[2])
if (size(obj)[1] < nrows)
println("WARNING: nrows is greater than actual number of rows in the obj Array.")
nrows = size(obj)[1]
end
obj[[1:nrows], [1:ncols]]
end
Run Code Online (Sandbox Code Playgroud) 我正在寻找Julia中元素矩阵乘法的原位实现,也就是Schur Product又名Hadamard产品.
它可以通过A.*B进行分配来执行,但每次执行此操作时都无法分配额外的内存.
当然我可以自己实现它,但如果它存在,我更喜欢标准实现.
谢谢
我在Julia 0.4-prerelease中尝试以下代码,它以两种不同的方式执行矩阵求幂(精确vs系列扩展).我尝试使用几种方法来获取数组维度n和设置单位矩阵eye( n ).
function test()
A = [ 1.0 -1.0 ; -1.0 1.0 ]
lam, U = eig( A ) # diagonalization: A U = U diagm(lam)
Bref = U * diagm( exp(lam) ) * U' # Bref = exp(A) (in matrix sense)
#[ Get the dimension n ]
n = length( lam ) # slow (1a)
# const n = length( lam ) # slow (1b)
# n::Int = length( lam ) # fast …Run Code Online (Sandbox Code Playgroud)