我正在Windows 7 64位计算机上安装/设置Julia。我在安装GLPK包时遇到问题。到目前为止,我试图完全重新安装朱莉娅,但没有成功。我尝试删除.julia文件夹和我的首选项,但没有成功。我总是遇到以下错误:
julia> Pkg.build("GLPK")
INFO: Building GLPK
INFO: Attempting to Create directory C:\Users\Justin\.julia\v0.3\GLPK\deps\downl
oads
INFO: D
我有一个Julia矩阵,由多个时间数组组成。第一列是日期,还有其他几列?
是否可以更改保留TimeArray格式的列的名称
非常感谢。由多个时间数组组成的矩阵。具体点。贴一个简化的例子。你试过什么?谢谢你的回复,我设法解决了这个问题!
当我运行Pkg.update、Pkg.status时,有时Julia会挂在那里。有没有办法停止与Pkg相关的命令?我试过C-C,C-C,C-d,C-q,它们都不起作用
有没有办法停止这些命令?Pkg.xxx启动许多分离的任务,即使使用Ctrl-C中断Pkg命令,这些任务也不会被终止。要终止这些任务,请使用interruptworkers
在未来版本的Julia中,Ctrl-C的行为可能会得到改进。Ctrl-C在Unix上工作。从你的其他问题来看,我认为你在Windows上?@StefanKarp
我想内联许多小函数,例如测试某些条件下的标志:
const COND = UInt(1<<BITS_FOR_COND)
function is_cond(flags::UInt)
return flags & COND != 0
end
我的动机是我正在使用的C代码中有许多类似的宏函数:
#define IS_COND(flags) ((flags) & COND)
我反复计时函数、宏、用@inline定义的函数以及表达式本身,但在多次运行中,没有一个函数
是否可以使用矩阵变换图像(如下所示)?
如果是的话,你能提供一个简单的例子吗
我知道Compose.context方法中的rotation关键字参数,但我想知道一般仿射变换是否也有类似的情况。谢谢
您可以使用剪切机。例如,您可以转换
来自教程(下面的代码)
然后用剪刀把它剪下来
julia> composition_sheared = compose(context(shear=Shear(0.3,0.0,0.5,1.0)),
(context(units=
在Julia中,我可以使用
[1 2 3 4 ; 5 6 7 8]
2×4 Array{Int64,2}:
1 2 3 4
5 6 7 8
问题是,我需要解析作为脚本参数提供的2D数组,即字符串
比如说
$ julia script.jl "[1 2 3 4 ; 5 6 7 8]"
在脚本中,类似于:
c = parse.(ARGS[1])
c应该是一个2×4的数组
我对输入字符串的格式很灵活
用例是,我想从Java中调用Julia+JuMP实现的优化问题 检查该函数,它将允许
一般问题是如何使用Julia中的任何非标准库,例如从C导出的库,特别是我从下载的GNU科学库,根据Julia手册,我认为它可以使用,但我从GSL文件夹中读取了安装文件,并尝试按照步骤进行操作,但是我没能完成,因为我不懂一些步骤
如果有人能给我一些建议来使用朱莉娅的图书馆,我将非常感激
一些细节
-操作系统:Windows10
-Julia版本:0.6在一般情况下,
调用编译后的代码是使用
对于GSL,对于大多数操作,您不应该使用GSL。
Julia标准库或维护良好的Julia包很好地涵盖了GSL
我安装了Julia 1.0,想制作一个简单的绘图。第一步是在Julia上键入:
Pkg.add("PyPlot")
但是,出现以下错误:
ERROR: UndefVarError: Pkg not defined.
我打字时也会发生同样的情况:
Pkg.status()
在Julia中安装软件包的最佳方式是什么?我使用MacOS。在Julia 1.0中,有两种安装软件包的方法。首先,你能做到
using Pkg
Pkg.add("Packagename")
其次,您可以通过按]使用Pkg
将秒转换为小时:分钟:秒对于Python来说有多种解决方法
在朱莉娅身上,人们会怎么做呢?方法1:
这段代码遵循Brandon Rhodes在原始问题的链接上用Python给出的答案。它回答了原来的问题
优点:简单
缺点:对于长时间模拟运行,输出的格式将不如此模拟运行后给出的方法好
using Printf
start = time()
sleep(65.129) # 65.129 seconds
elapsed = time() - start
(minutes, seconds) =
我想根据函数的参数在函数内部进行条件函数赋值(通过调用函数bar1或bar2)。问题是,它必须将bar1或bar2分配给一个单参数函数
这是我正在做的一个例子:
function foo(a, b=false)
if b
f(t) = t*a; #bar1(t,a)
else
f(t) = t/a; #bar2(t,a)
end
return f(2.0);
end
召唤
foo(1.1, true)
foo(1.1, fals
我一直在尝试转换一些用0.7编写的Julia代码:
type SCA <: DiscreteMDP
nStates::Int64
nActions::Int64
actions::Vector{Symbol}
grid::RectangleGrid
function SCA()
grid = RectangleGrid(Ranges, Thetas, Bearings, Speeds, Speeds,Responses, Responses)
return new(NSta
因此,我有以下几点:
私人软件包:PrivPack.jl
在PrivPack.jl中,我有两个模块:mod1和mod2
在PrivPack.jl文件中,我确实include(“mod1.jl”)和include(“mod2.jl”)是存放模块的文件。但是,当我尝试访问包中的任何位置时,我似乎都无法访问它。我要么需要包含该文件并使用.mod1执行,要么必须使用startup.jl文件将该文件推入我的加载路径
解决这个问题的方法是什么?我不想每次都重新包含该文件 如果我正确理解了这个问题,您应该在包
它在更新之前工作,但现在要求联合。定义数组而不指定其元素值的一种方法如下:
julia> Array(Int8,2,3)
ERROR: MethodError: no method matching Array(::Type{Int8}, ::Int64, ::Int64)
Closest candidates are:
Array(::LinearAlgebra.UniformScaling, ::Integer, ::Integer) at /buildworker/worker/
在茱莉亚
Array{Int32, 1} <: Array{Integer, 1}
计算结果为true,因为Int32请参见手册
具有不同T值的具体点类型决不是彼此的子类型:
julia>Point{Float64}Point{Float64}
基本上,它是对向量{Integer}含义的语法选择。有三种类型可供选择:
julia> Vector{Int32} <: (Vector{T} where T <: Integer)
true
julia> Vecto
我创建了一个复合类型
mutable struct Person
id::Int64
end
这很好,所以我想像这样扩展类型
mutable struct Person
id::Int64
contacts::Array{Int64}
end
但我被告知,这是对常量Person的无效重新定义
如何删除类型?除了重新启动REPL,还有其他方法吗?(请说是。)不,如果不重新启动Julia,这是不可能的。不幸的是,这是为数不多的Revise.jl(如果有办法做到这一点,它可
标签: Julia
ijulia-notebook
当我尝试使用以下命令从Julia terminal安装IJulia时:
using Pkg
Pkg.add("IJulia")
我得到以下错误:
SystemError: opening file "C:\\Users\\lenovo\\.julia\\registries\\General\\Registry.toml": No such file or directory
如何修复此问题?您可以通过执行以下操作尝试删除注册表:注册表rm General,然后尝试运行:注册表添加https
我一直在学习Julia教程,奇怪的是(1,2,3)返回(1,2,0)
(1,2,3,4)返回(1,2,0,0)
(1,2,3,4,5)按预期返回(1,2,3,4,5)
似乎大小为3或4的集合将第三和第四个元素替换为0。我不认为这是正常的行为,但我不熟悉环境,所以我不确定是什么导致了这种情况
我从我的个人资料中删除了所有julia文件并重新启动了解释器,这种行为仍然存在
在cygwin中执行windows下的0.3.5版(2015-01-08 22:33 UTC)。
从命令执行时出现同样的问题。这
有没有一种方法可以从文件中加载SVG,然后将其渲染到Cairo画布?理想的情况是:
image = read_from_svg("my.svg")
set_source_surface(cr, image, 0, 0)
paint(cr)
有一个包可以包装库。该软件包可以与Pkg.add(“Rsvg”)一起安装。您可能需要对本机Cairo和Rsvg库的安装进行故障排除——软件包将尝试自动执行此操作,但这是一个基于多种不同配置的难题
使用这个软件包,似乎可以做你想做的事情。从软件包的自述文件:
我正在学习一个Julia类,我正在尝试创建一个方法来计算用户定义类型的自然日志
我已经创建了一个参数化类型MyCube
type MyCube{T}
h::T
w::T
l::T
end
我已经创建了两个这种类型的实例,我将它们定义为Float64,希望这能解决问题,但它没有
cube1 = MyCube{Float64}(2,3,2)
cube2 = MyCube{Float64}(4,3,2)
现在尝试定义该方法
import Base.log
log(u::My
构造字符串时,包含可选参数非常简单:
julia> "Hallo $(true ? "Nils" : "")"
"Hallo Nils"
julia> "Hallo $(false ? "Nils" : "")"
"Hallo "
但是,当尝试将相同的技术应用于backticks表示法(以运行外部命令)时,会出现以下问题:
julia> `command $(true ? "--flag" : "")`
`command --flag`
julia> `command
是否有将字符串转换为Expr的方法?我尝试了以下方法,但无效:
julia> convert(Expr, "a=2")
ERROR: MethodError: Cannot `convert` an object of type String to an object of type Expr
This may have arisen from a call to the constructor Expr(...),
since type constructors fall back to
我希望一个矩阵的形状与另一个矩阵的形状不同,而是与另一个矩阵的形状相同
shape=[2,3]
matrix=zeros(shape)
size(matrix)=(2,)
如何获得大小(矩阵)=形状
我可以这样做:
matrix=zeros(shape[1],shape[2])
有更通用的方法吗?试试零(形状…)。splat运算符…将向量转换为函数的参数:
v = [a,b,c]
func(v...) # is the same as
func(a,b,c)
它也适用于元组:
t = (
从几个月前开始,我就对GPU编程感兴趣,现在我正在努力学习如何在Julia中实现它。理想情况下,我希望能够使用GPU编写如下类似代码:
addprocs(4);
a = cell(nworkers())
@sync for (idx, pid) in enumerate(workers())
@async a[idx] = remotecall_fetch(pid, fun, vargs...)
end
我环顾四周,尝试了ArrayFire,但是我没有找到一种方法来使用类似于@syn
我运行了一些示例,得到了一些结果。对于大量的迭代,我们可以得到一个好的结果,但是对于较少的迭代,我们可以得到一个更差的结果
我知道有一点开销,这是绝对可以的,但有没有任何方法可以运行一些循环,以较少的迭代量并行方式优于顺序方式
x = 0
@time for i=1:200000000
x = Int(rand(Bool)) + x
end
7.503359秒(200.00 M分配:2.980 GiB,2.66%gc时间)
0.432549秒(3.91K分配:241.138千磅)
我在
我刚刚在《朱莉娅》中了解到了世界时代,我必须说,这个概念需要一些时间才能理解。为了帮助我理解它,在一些例子中能够明确地看到世界时代可能是有用的。有没有一个简单的方法可以做到这一点
我想我可以以某种方式做出我的例子,使它们总是遇到世界时代的错误,但我希望有一种不那么令人难以置信的方法来实现这一点 以下内容是黑客的,适用于0.6.1,但稍后可能会中断:
min_world(f) = (methods(f)).ms[1].min_world
macro cur_world()
:(min_w
我不知道为什么需要IteratorEltype()。每个iterable都保证生成类型为Any的对象,因此如果您不知道任何更好的方法,那么您可以始终默认使用该方法。区分“我知道它可能是任何东西”(IteratorEltype==HasEltype&&eltype=Any)和“我不知道它是什么,因此它可能是任何东西”(IteratorEltype==EltypeUnknown)有什么意义
在Base Julia中,我能找到的唯一使用EltypeUnknown()的类型是Generator,它是(i
Julia中的卷积函数具有以下行为:
_
_ _ _(_)_ | A fresh approach to technical computing
(_) | (_) (_) | Documentation: https://docs.julialang.org
_ _ _| |_ __ _ | Type "?help" for help.
| | | | | | |/ _` | |
| |
标签: Julia
ubuntu-16.04rammemory-consumption
我正在开发不同的离散化方案,为了找出哪一种是最有效的方案,我想确定最大内存消耗以及执行特定任务所需的时间,例如解方程组、覆盖矩阵或将数据写入文件
有什么代码或东西可以做我需要的吗?
顺便说一下,我正在Ubuntu中使用Julia,但我也可以在Windows中使用
非常感谢我喜欢使用内置的@time来做这种事情。看见例如:
julia> @time myAwesomeFunction(tmp);
1.293542 seconds (22.08 M allocations: 893.866
我试图将元素从二维数组推送到或附加到三维数组。数组2(第二维)与这样的索引相关联[1,2,2,3,3,3,4,4,4,4,5,5,5,5…],我希望将同一索引的最后一个元素推送/附加到数组1,即第1个、第3个、第6个、第10个元素等。。以下是MWE:
arr1 = Array{Float64,3}(length, per, ro)
arr2 = Array{Float64,2}(length, per * ro * (ro + 1) ÷ 2)
length = 100
per = 20
ro
标签: Julia
precisionbigintegerdigitsarbitrary-precision
julia round函数在阶乘(75)之前似乎工作正常,但在阶乘76处中断。这是一个全面的错误吗
julia>round(factorial(big(75)), sigdigits=2)
2.5e+109
julia>round(factorial(big(76)), sigdigits=2)
1.900000000000000000000000000000000000000000000000000000000000000000000000000006e+111
您必须提高Bi
我有这样一个文件:
chr1 47727 47778 2PJ3LS1:190:C5R7BACXX:3:2202:6839:64070 1 +
chr1 48132 48183 2PJ3LS1:190:C5R7BACXX:3:2109:14612:23955 60 +
chr1 49316 49367 2PJ3LS1:190:C5R7BACXX:3:1107:8369:30676 1 +
chr1 57049 57100 2P
在julia中连接数组时,有没有避免内存分配的方法?比如说,
const x = [1.0,2.0,3.0]
我预先分配
y = zeros(3,3)
然后获取新的y
y = hcat(x,x,x)
BenchmarkTools.Trial:
memory estimate: 256 bytes
allocs estimate: 4
--------------
minimum time: 62.441 ns (0.00% GC)
median time: 68.44
我试图模拟一个ODEs系统(Tilman,1994,生态学,第75卷,第1期,第2-16页,图3 B),但Julia积分法未能给出解决方案
误差是dt我想你把方程式看错了。本课程的最后一学期是
我还明确指出,dpk是pk的倍数。这是必要的,因为它确保动态保持在正变量的八分之一
使用python时,该图类似于
def p_ode(p,c,m):
返回[p[i]*(c[i]*(1-求和(p[j]表示范围(i+1)中的j))-m[i]-求和(c[j]*p[j]表示范围(i))中的j)表示范围(le
我正在尝试将julia代码翻译成python,我一直在理解julia或Gurobi中使用CLP的线性规划函数,函数是:
function setc(c)
for i = 1:size(A, 1)
m.linconstr[i].lb = float(c[i])
end
其中A是一个矩阵,lb和m是所用模型的名称,是下限。更具体地说,我想了解m.linconstr[I]代码的含义。请编辑问题,使代码显示为一个单独的块?将空行放在前后应该会有帮助。这里纯粹是猜测,但我
我正在绘制不同的函数,但每个图周围都有一个方框。我坚持使用PyPlot软件包
例如,在下面的代码中,输出周围有一个框
using PyPlot
plot(randn(5,5),linewidth=2)
我只想要轴的线条,而不是盒子的另外两条线条。
这是怎么可能的?您可以使用轴命令来转动长方体
但是,轴文档中似乎没有任何选项可以省略左边框和下边框-因此您需要自己绘制它们:
using PyPlot
PyPlot.cla()
PyPlot.axes(frame_on=false)
plot(ran
我试图编写一个简单的程序,使用Julia测试数组的所有元素是否相同。朱莉娅有没有一个简单的方法可以做到这一点 allunique测试数组的所有元素是否唯一。为了测试数组的所有元素是否相同,您可以编写以下代码,例如:
function allequal(itr)
local x
isfirst = true
for v in itr
if isfirst
x = v
isfirst = false
如果我想为TOML文件中的条目创建一个字典,我如何在Julia中设置它
我希望它是这样的:
["hello"]
world = Dict("z" => 25, "c" => 1)
您可以通过执行以下操作非常简单地使用TOML:
添加https://github.com/JuliaLang/TOML.jl.git在软件包管理器中
import TOML
TOML.print(Dict("hello" => Dict("world" => Dict("hellow" =&
我已经创建了这种类型的数据结构
abstract type Node end
struct Tree{A <: Node, B <: Node} <: Node
a::A
b::B
end
但我也可以定义一个函数,比如
function test(node::Tree{Tree{Character, Character}, Tree}) end
它寻址一棵树,最左边的分支包含两个字符,右边的分支包含一棵任意的树
我的实现以类似的方式分派许多方法
这种类型的
如果我创建一个整数向量
a = Vector(1:3)
我索引了一个元素,它有元素的类型
typeof(a[3])
Int64
但是如果我用一个range对象索引一个元素,它的类型是数组
typeof(a[3:3])
Vector{Int64}
如何确保在只有一个元素的情况下,返回的是元素而不是数组。原因是我想将索引向量发送到一个函数,并根据类型调用不同的方法。我不确定我是否正确理解了您的问题,但您是否正在查找eType
编辑:阅读@Miles Lucas的答案,我发现你的问题有不同的解释
我有一个二维数组:a=[(1,2)(2,3);(3,4)(4,5)]我想转换成:
(1, 2)
(2, 3)
(3, 4)
(4, 5)
#1D Array
我怎样才能在朱莉娅身上做到这一点 Julia提供了一个简单的接口,用于将二维数组转换为单个一维数组。需要注意的是,还有其他方法可以将二维数组转换为一维数组,但这些方法可能无法提供一维数组中相同的元素顺序
请参见下面的示例:
julia> a = [ (1,2) (2,3) ; (3,4) (4,5)]
2×2 Array{Tuple
假设我有一个系统,在2d系统a,b,c中有3个粒子,位置如下
a = [0.1,0.0]
b = [-0.1,0.0]
c = [0.0,0.1]
每个粒子由高斯函数描述,因此系统函数如下:
σ = 0.08
f(x,y) = exp(-((x-a[1])^2+(y-a[2])^2)/(2(σ^2)))+exp(-((x-b[1])^2+(y-b[2])^2)/(2(σ^2)))+exp(-((x-c[1])^2+(y-c[2])^2)/(2(σ^2)))
我画出了系统的初始形状
x = r
考虑Base中的一个现有函数,它接受一些抽象类型的变量数量T。我已经定义了一个子类型S,我想说,如果没有类型盗版,就不可能做到干净(但如果可能的话,我还想了解如何做到)
例如,考虑你问的 CAT。它在Base中有一个非常通用的签名(实际上不要求A在编写时成为AbstractArray):
您可以编写一个特定的方法:
Base.cat(A::AbstractArray...; dims) = ...
并检查A的任何元素是否是您的特殊数组,但这将是盗版类型
现在的问题是,你甚至不能写Union{S
在哪里可以找到包模式或包管理的命令选项列表及其文档?
cmd[opts][args]
例如:
st-m图
在那里我可以阅读有关选项的信息:-m
对于每个命令的可能选项交互方式,您可以在package REPL模式下使用帮助命令:
julia> # type ] to enter package mode
(@v1.5) pkg> help st
[st|status] [-d|--diff] [pkgs...]
[st|status] [-d|--diff] [-p|--pr
标签: Julia
linear-regressionlinear-algebra
我在执行此练习时遇到问题
这是我的密码:
N = 50
M = 20
a = 0.1
b = 0.2
c = 0.5
d = 1.0
σ = 0.1
estimates = zeros(M, 5)
for i ∈ 1:M
x₁ = Vector{BigFloat}(randn(N))
x₂ = Vector{BigFloat}(randn(N))
w = Vector{BigFloat}(randn(N))
# Derive y vector
如何从两个数组创建Dict(),一个带有键,另一个带有值:
a = ["a", "b", "c"] # keys
b = [1,2,3] # values
解决方案1
Dict(zip(a,b))
解决方案2
Dict(a .=> b)
为了补充Georgery的答案,请注意第一种方法(Dict(zip(a,b)))对于小向量要快得多,但是对于较大的向量,差异变得可以忽略不计:
julia> using
假设我有一个二维数组
a = [1 2 3; 1 2 3]
2×3 Array{Int64,2}:
1 2 3
1 2 3
我想沿着维度进行求和,例如沿着维度1
[2, 4, 6]
或者沿着维度2屈服
[6, 6]
在Julia中如何正确执行此操作
julia> sum(a; dims=1)
1×3 Array{Int64,2}:
2 4 6
julia> sum(a; dims=2)
2×1 Array{Int64,2}:
6
6
您可以使用vec
我正在尝试使用Queryverse加载csv文件,如下所示
using Queryverse
df = load("my_file.csv"
, delim = ";"
, row_estimate = 215_000
, type_detect_rows = 2_000) |>
DataFrame
但我得到了以下错误:
MethodError: no method matching UI
我有以下代码,其中跳转约束抛出了一个错误
using JuMP
using MosekTools
K = 3
N = 2
penalties = [1.0, 3.9, 8.7]
function A_tau(r::Number, n::Number, tau::Float64)
fac = 1
for m in 1:r
fac *= (n - (m - 1))
end
if n >= r
return fac * tau ^
鉴于这些数据:
data = ["red", "blue", "green"]
counts = [2000, 2000, 1]
为什么我能这样做
[fill("red", 2000)..., fill("blue", 2000)..., fill("green", 1)...]
但不是
[fill(data[i], counts[i])... for i in 1:3
我想知道是否有一个函数可以计算嵌套数组的形状
multiArr = [[1,2,3,4],[5,6,7,8]]
size(multiArr)
#Out > (2,)
我正在寻找输出(2,4)
我知道如果你把它转换成矩阵你就能得到这个输出
mat = reshape(hcat(multiArr...),size(multiArr)[1],size(multiArr[1])[1])
size(mat)
#Out > (2,4)
但是想知道是否有一种方法可以获得嵌套数组的内
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 85 页