标签: julia

确定特定包的版本

如何获取特定包的版本号?

显而易见的方法是获取所有已安装软件包的字典,然后筛选出感兴趣的软件包:

pkgs = Pkg.installed();
pkgs["Datetime"]
Run Code Online (Sandbox Code Playgroud)

获取所有已安装软件包的列表非常慢,特别是如果有很多软件包.

julia

13
推荐指数
3
解决办法
5248
查看次数

Julia:连接字符串和整数

Julia连接字符串和整数值的最简单方法是什么?我想做的事情如下:

julia> foo = "test: "
"test: "

julia> bar = 3
3

julia> foobar = foo * bar
ERROR: `*` has no method matching *(::ASCIIString, ::Int64)
Run Code Online (Sandbox Code Playgroud)

julia

13
推荐指数
2
解决办法
1万
查看次数

朱莉娅的符号数学?

我使用Mathematica进行符号数学计算.我打算换成另一种语言.Matlab(我用于标准计算的东西)包括这个功能,但我正在研究使用Julia的可能性,因为它似乎是未来.然而,似乎没有可用的象征工具(在官方文档中没有提到).显然,唯一可用的软件包(SymPy)在官方网站(http://pkg.julialang.org/)上说"测试失败" .

有谁能在朱莉娅这样做?

symbolic-math julia

13
推荐指数
2
解决办法
7229
查看次数

如何将Julia数组的数据类型从"Any"更改为"Float64"?

Julia中是否有一个函数返回所需类型的数组副本,即numpys astype函数的等价物?我有一个"任何"类型的数组,并希望将其转换为Float数组.我试过了:

new_array = Float64(array)
Run Code Online (Sandbox Code Playgroud)

但是我收到以下错误

LoadError: MethodError: `convert` has no method matching 
convert(::Type{Float64}, ::Array{Any,2})
This may have arisen from a call to the constructor Float64(...),
since type constructors fall back to convert methods.
Closest candidates are:
  call{T}(::Type{T}, ::Any)
  convert(::Type{Float64}, !Matched::Int8)
  convert(::Type{Float64}, !Matched::Int16)
  ...
  while loading In[140], in expression starting on line 1

  in call at essentials.jl:56
Run Code Online (Sandbox Code Playgroud)

我可以编写一个遍历数组的函数并返回每个元素的浮点值,但是如果没有内置方法来执行此操作,我会发现它有点奇怪.

arrays julia

13
推荐指数
3
解决办法
1万
查看次数

使用Julia在字符串中每10个字符插入一个换行符

我想在蛋白质序列中每10个字符插入一个换行符:

seq="MSKNKSPLLNESEKMMSEMLPMKVSQSKLNYEEKVYIPTTIRNRKQHCFRRFFPYIALFQ"
Run Code Online (Sandbox Code Playgroud)

在Perl中,它非常简单:

$seq=~s/(.{10})/$1\n/g ; # does the job!

perl -e '$seq="MSKNKSPLLNESEKMMSEMLPMKVSQSKLNYEEKVYIPTTIRNRKQHCFRRFFPYIALFQ"; $seq=~s/(.{10})/$1\n/g; print $seq'
MSKNKSPLLN
ESEKMMSEML
PMKVSQSKLN
YEEKVYIPTT
IRNRKQHCFR
RFFPYIALFQ
Run Code Online (Sandbox Code Playgroud)

在朱莉娅,

replace(seq, r"(.{10})" , "\n")
Run Code Online (Sandbox Code Playgroud)

不起作用,因为我不知道如何获取捕获组(.{10})并将其替换为自己+"\n"

julia> replace(seq, r"(.{10})" , "\n")
"\n\n\n\n\n\n"
Run Code Online (Sandbox Code Playgroud)

所以要做到这一点,我需要两个步骤:

    julia> a=matchall(r"(.{1,10})" ,seq)
    6-element Array{SubString{UTF8String},1}:
     "MSKNKSPLLN"
     "ESEKMMSEML"
     "PMKVSQSKLN"
     "YEEKVYIPTT"
     "IRNRKQHCFR"
     "RFFPYIALFQ"

    julia> b=join(a, "\n")
    "MSKNKSPLLN\nESEKMMSEML\nPMKVSQSKLN\nYEEKVYIPTT\nIRNRKQHCFR\nRFFPYIALFQ"

    julia> println(b)
    MSKNKSPLLN
    ESEKMMSEML
    PMKVSQSKLN
    YEEKVYIPTT
    IRNRKQHCFR
    RFFPYIALFQ

# Caution :    
a=matchall(r"(.{10})" ,seq) # wrong if seq is not exactly a multiple of 10 !

julia> seq
"MSKNKSPLLNESEKMMSEMLPMKVSQSKLNYEEKVYIPTTIRNRKQHCFRRFFPYIAL"

julia> matchall(r"(.{10})" ,seq) …
Run Code Online (Sandbox Code Playgroud)

regex replace julia

13
推荐指数
2
解决办法
1112
查看次数

Julia 是否有字符串“包含”子字符串方法?

我试图测试一个字符串是否包含一个特定的子字符串,然后如果它包含它出现的索引。我怎么能在朱莉娅做到这一点?

string julia

13
推荐指数
1
解决办法
5899
查看次数

在 Julia 中显示函数的所有方法

我如何可以显示所有函数方法在朱莉娅(多分派)?

例如,函数的命名空间中存在的所有方法abs

julia

13
推荐指数
1
解决办法
1453
查看次数

如何向我的 Julia 包添加依赖项?

我在 Julia 中创建了一个包(我们称之为 package_name);文件结构已经与 Project.toml 和 Manifest.toml 文件一起生成,并且在创建包时我已经添加了一些依赖项。

我忘记添加依赖项,我想让 REPL 显示:

(package_name) pkg > 
Run Code Online (Sandbox Code Playgroud)

这样我就可以输入

add dependency_name
Run Code Online (Sandbox Code Playgroud)

我如何让 REPL 来显示这一点?我想我需要转到包文件夹并(重新)激活该包,但我无法使用 cd 导航到它。

显示我应该在 REPL 中输入的确切命令会很有帮助。

julia

13
推荐指数
1
解决办法
4183
查看次数

什么是 julia 中的“.==”以及它在 python 中的等价物?

我是 julia 的新手,我正在努力将 julia 代码重写为 python 代码。我看到了一些使用.==表达式的代码。我无法理解这是什么意思。所以我在网上搜索它,但找不到答案。有人可以告诉我.==julia 中的内容及其在 python 中的等价物吗?

仅供参考,它是这样写的。

x = sum(y .== 0)  # y is array
Run Code Online (Sandbox Code Playgroud)

python python-3.x julia

13
推荐指数
2
解决办法
499
查看次数

复数的通用最大/最小函数

在 julia 中,人们可以找到(据称)对实数集合的min/minimummax/ 的有效实现maximum。由于这些概念不是为复数唯一定义的,我想知道是否已经在某处实现了这些函数的参数化版本。

我目前正在对感兴趣的数组的元素进行排序,然后取最后一个值,据我所知,这比找到具有最大绝对值(或其他值)的值要昂贵得多。

这主要是为了max在复杂数组上重现函数的 Matlab 行为。

这是我当前的代码

a = rand(ComplexF64,4)
b = sort(a,by  = (x) -> abs(x))
c = b[end]
Run Code Online (Sandbox Code Playgroud)

可能的函数调用看起来像

c = maximum/minimum(a,by=real/imag/abs/phase)
Run Code Online (Sandbox Code Playgroud)

使用提供的解决方案编辑Julia 1.5.3 中的一些性能测试

function maxby0(f,iter)
    b = sort(iter,by  = (x) -> f(x))
    c = b[end]
end

function maxby1(f, iter)
    reduce(iter) do x, y
        f(x) > f(y) ? x : y
    end
end

function maxby2(f, iter; default = zero(eltype(iter)))
    isempty(iter) && return default …
Run Code Online (Sandbox Code Playgroud)

julia

13
推荐指数
3
解决办法
274
查看次数

标签 统计

julia ×10

arrays ×1

python ×1

python-3.x ×1

regex ×1

replace ×1

string ×1

symbolic-math ×1