Questions tagged «julia»

Julia是用于技术计算的高级,高性能动态编程语言。通过将诸如R和Python之类的语言的易用性与C和Fortran的性能相结合,解决了两种语言的问题。

1
用户定义的中缀运算符
我知道Julia中的运算符只是标准函数,我可以使用普通的前缀调用语法来使用它们: julia> +(1, 2) 3 但是,它们在可以(通常)用作中缀运算符的意义上也很特殊: julia> 1+2 3 我可以定义自己的中缀运算符吗?如果是这样,怎么办? 例如: julia> α(x, y) = x+y α (generic function with 1 method) julia> α(1, 2) 3 # as expected julia> 1α2 # expected result: 3 ERROR: UndefVarError: α2 not defined Stacktrace: [1] top-level scope at REPL[5]:1 julia> 1 α 2 …
10 julia 

1
将单位矩阵提升为幂
是否可以将单位矩阵提升为幂?如果尝试使用^运算符,则会收到错误消息。 x = [2 0 ; 0 2] x^2 # this works fine (2I)^2 #throws MethodError: no method matching ^(::UniformScaling{Int64}, ::Int64) 注意:我知道我可以简单地做(2^2)I,但是在某些情况下无法做到这一点(例如,当将矩阵传递给引发矩阵的函数时)。
10 matrix  julia 

2
导出函数名称会在Julia中导出所有不同的函数版本吗?
我具有同一个函数名称的多个函数/调度。我想确保它们都已导出。我是否只需要在export语句中包含函数的名称,然后让Julia做其余的事情? 例: function hello(a::Int64, b::Int64) #nothing end function hello(a::Bool, b::Bool) #nothing end export hello 这两个都只是做出口export hello吗?
9 julia 

3
Python与Julia的速度比较
我试图比较这两个片段,看看在一秒钟内可以完成多少次迭代。事实证明,Julia实现了250万次迭代,而Python实现了400万次迭代。朱莉娅不是应该更快吗?或者这两个片段不相等? 蟒蛇: t1 = time.time() i = 0 while True: i += 1 if time.time() - t1 >= 1: break 朱莉娅: function f() i = 0 t1 = now() while true i += 1 if now() - t1 >= Base.Dates.Millisecond(1000) break end end return i end
9 python  julia 

2
Julia中的系统信号拦截
在Linux下运行的Julia程序中,需要在调整控制台窗口大小时启动专用操作。那么在Julia中,我怎样才能截获系统信号SIGWINCH(调整窗口大小)并附加执行所需动作的功能呢? 在Ada中,声明它非常简单: protected Signalhandler is procedure Handlewindowresizing; pragma Attach_Handler (Handlewindowresizing, SIGWINCH); end Signalhandler; 基于方案思想的解决方案:我尝试使用C库进行SIGWINCH中断监视。 myLibrary.h void Winresize (void Sig_Handler()); myLibrary.c #include "myLibrary.h" #include <stdio.h> #include <stdlib.h> #include <signal.h> void Winresize(void sig_handler (void)) { signal(SIGWINCH, sig_handler); } 编译与图书馆准备 gcc -c -Wall -fPIC myLibrary.c gcc -shared -fPIC -o myLibrary.so myLibrary.o Julia中使用C库的程序: function …
9 julia  signals  ada 


1
如何方便地键入xor(⊻)运算符?
julia中的“ xor”运算符由以下符号定义:⊻ 如果我没记错的话,这也是代表“ xor”的唯一符号。 您应该如何方便地键入此内容? 我是否应该将其复制或粘贴到我的代码中,或者记住心脏的unicode表示形式?
9 julia  xor 

1
如何在Julia中读取二进制文件?
我使用过Matlab,现在尝试将一些代码转换为Julia。 % Load data in Matlab fileID = fopen('./data_6000x3199.bin'); Data = fread(fileID,[6000,3199],'single'); fclose(fildID); 但是,我不知道如何在Julia代码中读取此单一类型的二进制文件。有人可以帮忙吗?
9 julia 

1
如何从出现过的kwarg字段中检索关键字参数?
如果我有类似的函数签名f(args...; kwargs...),如何从中获得特定的关键字kwargs?单纯键入 kwargs.x不起作用: julia> f(args...; kwargs...) = kwargs.x f (generic function with 1 method) julia> f(x=1) ERROR: type Pairs has no field x Stacktrace: [1] getproperty(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::Symbol) at ./Base.jl:20 [2] #f#7(::Base.Iterators.Pairs{Symbol,Int64,Tuple{Symbol},NamedTuple{(:x,),Tuple{Int64}}}, ::typeof(f)) at ./REPL[2]:1 [3] (::var"#kw##f")(::NamedTuple{(:x,),Tuple{Int64}}, ::typeof(f)) at ./none:0 [4] top-level scope at REPL[3]:1 这个问题出现在#helpdesk的JuliaLang Slack频道中。要自动邀请非常有用的julia slack,只需填写https://slackinvite.julialang.org
9 julia 

2
如何消除Julia可执行文件中的JIT开销(使用MWE)
我使用PackageCompiler希望创建一个可执行文件,从而消除了即时编译开销。 该文档解释说,我必须定义一个函数julia_main来调用程序的逻辑,并编写一个“探听文件”,该脚本调用我希望预编译的函数。My julia_main接受一个参数,即包含要分析的输入数据的文件的位置。因此,为了简单起见,我的监听文件只需要julia_main使用特定的输入文件进行一次调用即可。因此,我希望看到针对相同的输入文件执行时,生成的可执行文件运行得很快且运行良好(没有编译开销)。 但是a,那不是我所看到的。在新的Julia实例中julia_main,第一次执行大约需要74秒,后续执行大约需要4.5秒。每次调用可执行文件大约需要50秒。 我对build_executable函数的使用如下所示: julia> using PackageCompiler julia> build_executable("d:/philip/source/script/julia/jsource/SCRiPTMain.jl", "testexecutable", builddir = "d:/temp/builddir4", snoopfile = "d:/philip/source/script/julia/jsource/snoop.jl", compile = "all", verbose = true) 问题: 以上参数是否正确实现了我的无JIT开销的可执行文件的目标? 还有其他建议吗? 这是对的响应build_executable。从Start of snoop file execution!到的行End of snoop file execution!由我的代码发出。 Julia program file: "d:\philip\source\script\julia\jsource\SCRiPTMain.jl" C program file: "C:\Users\Philip\.julia\packages\PackageCompiler\CJQcs\examples\program.c" Build directory: "d:\temp\builddir4" Executing snoopfile: "d:\philip\source\script\julia\jsource\snoop.jl" Start …

1
速记for循环遍历具有值和索引的数组
是否有便捷/简便的方法来遍历数组上的for循环,同时获取值和索引? 基本选项: i = 1 for file in ["foo.csv", "bar.csv"] ... i += 1 end files = ["foo.csv", "bar.csv"] for i in 1:length(files) files[i] end
9 julia 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.