如何将Julia Int/Bool数组/向量转换为Fortran逻辑数组以在Julia的ccall中使用
我尝试将其作为数组{Bool}传入,但代码工作不正常,我确信问题在于Bool逻辑转换。我不太了解如何调用Fortran代码,但根据
Fortran标准没有指定逻辑类型的变量如何
除了要求默认的逻辑变量之外,还表示
种类与默认整数和实数变量具有相同的存储大小。
GNU Fortran的内部表示如下所示
逻辑(种类=N)变量表示为整数(种类=N)
但是,变量只有两个允许值:1表示.TRUE。和
救命啊!我得到了一个sym形式的结果。但似乎eval不起作用。我怎样才能得到一个数字答案?谢谢
@show BBias
@show eval(BBias)
@show typeof(eval(BBias))
BBias = -213.53387843501*cos(6) + 73.4119295548356*sin(6) - 50*sin(6)*cos(6) + 316.255048160247
eval(BBias) = -213.53387843501*cos(6) + 73.4
我需要从下面的输入文件中读取输入并初始化所有变量
输入文件
A=1.0
B=1.0
C=2.0
我用下面的Julia代码来读这篇文章
# Read the delemited file
in = readdlm("inputFile.in",'=');
# Declare all the variables before initialising them with the data from input file.
A=0.0; B=0.0; C=0.0;
# Parsing
for i i
我必须摧毁Julia的某些类型,它看起来像:
struct City
x::Int
y::Int
index::Int
end
我想要一个函数,比如
destroy(City)
这将删除此项。可能吗
感谢您的回答。Julia是一种语言,您不需要显式地释放对象使用的内存,也没有这样做的机制。垃圾收集会自动响应内存压力,或者您可以通过调用gc()函数手动调用它。删除它是什么意思?@MattB。我的意思是释放记忆。它应该像C中的free()一样工作。如果需要呢?或者如何
我正在尝试设置Atom/Juno来运行Julia,这样它看起来就像这个网站上的屏幕抓图——它看起来和我想要的一模一样
我已经下载并安装了Julia和Atom。在Atom上,我安装了uber juno、julia client和语言julia软件包
尝试在Atom中启动Julia时,出现以下错误:
julia> Pkg.add("Atom")
INFO: Initializing package repository C:\Users\BRB\.julia\v0.5
INFO: Clonin
我是一个非常初级的Julia用户,但我想在我的一些项目中使用它
我的许多项目都要求我快速连接到Oracle,以获取其他数据的ID号。我可以通过从其他程序(如shell或tcl)运行sqlplus来实现这一点,但我已经尝试了Julia文档中的语法,但总是会出现这样或那样的错误
在Tcl中,它看起来像这样
exec sqlplus -s user/pass@dbname << "
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEA
允许关键字参数使用别名的好方法是什么。假设我想要这样的界面:
function f(a, b; k1=1, k2=2)
println(a, b)
println(k1, k2)
end
function f(a, b; key1=1, key2=2)
println(a, b)
println(key1, key2)
end
function f(a, b; kw1=1, kw2=2)
println(a, b)
println(kw1, k
编译时没有任何警告。当然,调用它会产生一个不精确的错误:Int64(0.5)。问:您能强制执行编译时检查吗?从这个意义上讲,Julia是一种动态语言。因此,如果不先运行函数,您似乎无法检测赋值的结果是否会导致此类错误,因为此类类型检查是在运行时完成的
我自己也不确定,所以我把这个函数包装在一个模块中,在没有运行函数的情况下强制(预)编译,结果是没有抛出错误,这证实了这个想法。(看看你是否想明白我的意思)
话虽如此,但要回答您问题的核心:有没有办法避免这些模糊的运行时错误以意外的方式蔓延
有。考虑
我有以下代码。它基本上迭代数据帧中的行,并尝试为列C赋值
我试图找到如何实现这一目标,但没有成功。我知道这个句子r.C=I*100是不正确的,哪一个是为每个迭代行的C列赋值的正确句子
请注意,这个问题是一个简化的示例,在我的实际代码中,我需要实际迭代每一行,因为计算要复杂得多
文件main2.jl:
struct MyStruct
a::Int32
b::Int32
c::String
end
df = DataFrame( A=Int[], B=Int[] )
pus
由于现有的JuMPeR无法再适应最新的JuMP和Julia版本,并且文档的版本非常落后,以至于编写代码的经验非常糟糕,以至于许多示例都无法顺利运行,因此我想知道是否有其他健壮优化包
同一个软件包有DDU,它为跳线框架提供了一组数据驱动的不确定性,但目前无法安装此软件包
最后,如果真的没有可用的软件包,我想知道哪一个旧版本的Julia可以解决我的问题,如果它能够适应Julia版本的JuMPeR和DDUS软件包的话
我是朱莉娅的新手
我想知道是否可以通过PackageCompiler.jl列出已编译的包,因为
我有时会感到困惑,我是否已经编译了一些感兴趣的软件包
有可能吗?给定一个已编译的现有系统映像,您可以使用Base.loaded\u modules查找已烘焙到其中的模块:
$ julia -q -J /path/to/sysimage.so
julia> Base.loaded_modules
Dict{Base.PkgId,Module} with 33 entries:
Mmap [a6
我试图利用Julia深入学习。在其中一个关于MLP的教程中,使用以下结构对ANN中的多个层进行建模。这个代码是什么意思
struct Chain
layers
Chain(layers...) = new(layers)
end
这个孤立的定义实际上并不“意味着”什么;它只包含一个字段(称为层)和一个。通常,像这样的自定义结构用于收集一些数据和/或用于定义上的操作,例如,您可以定义一个函数f在该结构上操作,如下所示:
function f(c::Chain)
# do
我想创建一个具有自定义顶点名称的图。对于MetaGraphs.jl,这可能吗
using MetaGraphs
using LightGraphs
using GraphPlot
# Create empty graph
gm = MetaGraph()
# Add vertices with properties
add_vertex!(gm, :A, [7.2,8.6])
add_vertex!(gm, :B, [3.2,6.7])
add_vertex!(gm, :C, [6.3,3.
有没有一种简单的方法来监视julia和所有julia包的提交和开发?我知道如果你观看repo,通过适当的GitHub设置,你会收到提交、请求、问题、评论等的电子邮件。包更难。同样,如果它们托管在GitHub上,您也可以观看它们,但总有新的软件包,您不会得到这些软件包的更新。然而,如果你观看回购,你会收到关于所有变更的通知,因此你至少会对新注册的软件包有所了解。我在Julia的生态系统中错过的唯一一件事是一个经典的邮件列表(而不是Google Groups),等等。这似乎只是一个替代的托管邮件列表
问题:
我想让julia在我们的公司网络上为我们的开发人员提供服务,由于敏感数据,公司网络根本没有互联网接入(没有代理)
据我所知,julia是为使用github而设计的。
例如,julia>Pkg.init()尝试访问:
git://github.com/JuliaLang/METADATA.jl
示例:
我通过创建一个本地CRAN存储库(rsync)并设置一个本地Web服务器,为R解决了这个问题。
我还通过创建本地PyPi存储库(bandersnatch)+Web服务器,以同样的方式解决了p
我试图(写,读)一个二进制文件中的许多表格数据表,数据是Integer,Float64和ascistring类型,我毫不费力地写它们,我lpadascistring使ascistring列具有相同的长度。现在我面临读取操作,我想通过调用read函数读取每个数据表,例如:
read(myfile,Tuple{[UInt16;[Float64 for i=1:10];UInt8]...}, dim) # => works
编辑->我在实际解决方案中不使用上述代码行,因为
我发现
sizeof
标签: Julia
lapackeigenvalue
我在Julia中使用eigs函数来计算特征值和特征向量。结果是不确定的,通常充满0.0。临时解决方案是链接LAPACK 2.0
你知道如何在Linux Ubuntu上实现吗?到目前为止,我无法链接它,也不知道Linux管理技能有多复杂,所以如果有人能发布一些关于如何正确链接它的指南,那将是一件好事
非常感谢
编辑:
我想添加结果,但我注意到代码中有一个缺陷。我使用的是matrix=sparsemapcollect,zip[triplee,edgesg中e的权重]……num_verticesg,n
标签: Julia
read-eval-print-loop
纯粹出于好奇,有并没有一种方法可以故意显示Julia REPL启动时看到的那个条横幅信息
查询帮助?时,我得到以下信息:
help?> banner
search: AbstractChannel
Couldn't find banner
Perhaps you meant base, Channel, Range, range or Base
ERROR: "banner" is not defined in module Main
in error at error.jl:21
Julia函数能否匹配特定符号而不仅仅是类型符号?例如:
function test(x::Symbol(:ALPHA)) end
function test(x::Symbol(:BETA)) end
以上是我试图完成的,尽管语法是错误的。您真的希望为每个符号编译一个附加版本的函数吗?额外的编译是相当昂贵的,而且编译器无论如何都必须放入一个分支。。。通过对值进行调度不会获得任何性能
相反,您可能应该编写如下代码:
function test(x::Symbol)
if x == :A
在julia中,我们如何知道类型是由值还是由引用操纵的
以java为例(至少对于sdk):
基本类型(名称以小写字母开头的类型,如“int”)由值操纵
对象(名称以大写字母开头的对象,如“HashMap”)和数组通过引用进行操作
因此,很容易知道在函数内部修改的类型会发生什么情况
我很确定我的问题是重复的,但我找不到重复的
编辑
此代码:
function modifyArray(a::Array{ASCIIString,1})
push!(a, "chocolate")
end
我想解决一个具有等式约束的非线性优化问题
我希望参数是一个向量,并希望无导数的方法
似乎NLsolve.jl使用:LD_SLSQP的算法支持此类问题,但我无法编写正确的代码
问题可能是grad,根据
谁能告诉我写代码的正确方法吗
using NLopt
function f(x,grad)
x1 = x[1]
x2 = x[2]
out= log(x1)+0.9*log(x2)
return out
end
function const1(x,grad)
可以同时记录控制台输出和打印图形的输出吗。并将其导出为PDF文件
我知道Jupyter,但不喜欢它,希望使用不同的东西。基本上,我希望将脚本计算的结果存储在某种PDF报告中。签出
下面是StackOverflow可能需要的一些额外文本。请签出
下面是StackOverflow可能需要的一些额外文本。hmm您考虑过与此python库的互操作吗:?hmm您考虑过与此python库的互操作吗:?谢谢,看起来不错:)谢谢,看起来不错:)
我试图在代码中计算以下示例,但得到了错误的答案:
julia> -1.259237254330301e-29*10^29
-9.930838679817422e-11
答案显然是错误的,预计为-1.25923725430301。
我得到了正确的答案
julia> -1.259237254330301e-29*1e29
-1.2592372543303008
有人知道原因吗?尽管浮点数有舍入错误,但错误结果的原因是使用整数算术,类型中有溢出:
在64位操作系统上,10^29溢出(
我有一个使用Julia 0.6的代码,最近我一直在尝试再次使用它,但是我在使用JLD时遇到了不同的问题。
我尝试使用最新的Julia版本,但仍然不起作用。
在0.6版本中,我拥有以下内容:
using JLD
信息:预编译模块JLD。警告:无法导入
Base.lastindex导入HDF5警告:无法将Base.lastindex导入
HDF5错误:LoadError:ArgumentError:在中找不到模块Libdl
当前路径。运行Pkg.add(“Libdl”)安装Libdl包
错误:未知
所以我已经从v0.6升级到了Julia v0.7。我正在尝试转换我的代码。我得到以下错误:
ERROR:LoadError:LoadError:ArgumentError:Package xxx的依赖项中没有ExcelReaders:
-如果您已签出xxx进行开发,并且
已将ExcelReaders作为依赖项添加,但尚未更新主环境的清单文件,请尝试Pkg.resolve()。
-否则,您可能需要向xxx报告问题
所以我做了一个添加ExcelReaders和解析,我只得到了一个警告:
Warn
标签: Julia
linear-programminggurobijulia-jump
我使用Gurobi solver在JuMP/Julia中构建了一个LP模型。我希望将检查模型整体正确性的约束可视化。在python中,我们可以定义一个函数来帮助可视化约束。请按照下面的链接获取pythons解决方案。如何访问约束矩阵并在JuMP中可视化它
最好的
NG
运算符
标签: Julia
typeerrorodedifferential-equations
最近,我开始学习Julia的(v1.0.3)differentialsequations.jl软件包。我试图解决一个简单的ODE系统,其结构与我的真实模型相同,但要小得多。
根据我使用的解算器,该示例要么解算,要么抛出错误。考虑这个MWE,CSTR中的一个连续/平行反应的化学工程模型:
using DifferentialEquations
using Plots
# Modeling a consecutive / parallel reaction in a CSTR
# A -->
我正在尝试使用GR后端的Plots.jl在Julia中创建一个包含三个子情节(一个曲面,两个热图)的动画。到目前为止,我的代码中最慢的部分是这些绘图的生成,所以我正试图找到最有效的方法来完成它
我尝试在动画循环中重新调用绘图,但这比就地修改要慢得多,因为:
using Plots,Profile
function mcve(n)
A = rand(n,100,100)
B = rand(n,100,100)
l = @layout [ a b ; c]
p1
我正在学习Julia,我试图读取二进制文件的最后128字节,而不读取所有文件。我想我应该设法从末尾开始读128字节,然后从那里开始读
我有这个函数,但它只允许我使用从文件开始的偏移量。有一个函数可以转到文件的末尾,但前面没有x字节。还有,但是,再一次,它只允许前进
我担心在一个大文件上使用skip(f,size\u of_my\u file-128)会读取size\u of_my\u file-128字节,而不是跳到那个位置。找到它:seek到文件末尾,“skip”-128字节:
content
我正在尝试开始使用Makie.jl,并想测试如何绘制一个简单的球体 这很简单。请注意,您需要安装Makie,这可以通过在Julia REPL中添加Makie来完成
using Makie
scene = mesh(Sphere(Point3f0(0), 1f0))
display(scene)
同样值得注意的是,Makie windows是交互式的!可以放大和缩小以及围绕球体旋转
标签: Julia
evalmetaprogramming
我试图在不同的函数上运行一个循环,使用不同数量的参数。变量是在循环内部的运行时创建的,我想在每次迭代中使用eval来使用变量:symbol实例化一个结构。但是,我不能这样做,因为eval只在全局范围内工作。这是有效案例的MWE:
function f1(x); return x; end
function f2(x1,x2); return x1+x2; end
handles = [f1,f2]
args =[:(x1),:(x1,x2)]
x1 = 1; x2 = 1;
for (i,f
标签: Julia
metaprogrammingopenblas
我正试着像这样用ccall给朱莉娅的布拉斯打电话
ccall((BLAS.@blasfunc(:zgemm_), BLAS.libblas),...other arguments)
就我所知,这与LinearAlgebra包调用BLAS()的方式相同
但是,我得到以下错误:
ccall: could not find function :zgemm_64_ in library libopenblas64_
有人知道可能是什么问题吗
编辑:发现直接使用:zgemm_64而不是BLAS.@bl
标签: Julia
julia-jumpcoin-or-cbccoin-or
我正在使用Julia语言(版本1.3.1)、跳转包(版本0.20.1)和Cbc包(版本0.6.6)来解决ubuntu:16.04 docker容器中的优化问题。优化器Cbc似乎挂起,cpu使用率为100%,没有退出,也没有任何消息。类似的问题很少发生,而且似乎不可复制:如果我用相同的数据运行相同的代码,它就不再挂起。希望通过gdb得到的回溯能有用
如果需要,我可以分享我的模型。它有11520个变量,4652个约束,10080个用于线性目标函数的变量
这是Cbc optimizer的日志:
欢迎来
我们可以使用以下方法将规则矩阵重塑为三维:
julia> data = rand(4,2)
4×2 Array{Float64,2}:
0.89585 0.328315
0.77878 0.619666
0.232389 0.132091
0.48543 0.829476
julia> reshape(data, 4, 1, 2)
4×1×2 Array{Float64,3}:
[:, :, 1] =
0.895850499952602
0.7787804
标签: Julia
audio-processing
我想在低音量下播放音频。我想要的功能,如阅读mp3文件和创建音频文件(与两个通道独立控制)。如果能够在代码笔记本(我正在使用冥王星)中实时收听生成的音频,将不胜感激。是否有任何软件包可以实现这一点?我发现了这一点:但它似乎没有得到维护,在尝试安装它时,我遇到了一个错误,说“没有项目文件”,这似乎是最近添加的julia软件包的一个新要求
我对Julia完全陌生,有python和javascript的经验。决定用Julia而不是python来完成这个项目,只是为了学习这种语言。看起来有两个fork支
我在Julia JuMP中使用for循环中的@optimize创建了同一个模型的多个目标函数。在Julia中有多个目标函数意味着什么?最小化的目标是什么,或者是所有目标共同最小化?如何将目标最小化
using JuMP
using MosekTools
K = 3
N = 2
penalties = [1.0, 3.9, 8.7]
function fac1(r::Number, i::Number, l::Number)
fac1 = 1.0
for m in 0:r-1
对于Julia 1.5.3,我有以下代码(当然它不是实际代码,只是一个我可以重新编程的人为示例):
function basic()
结果::元组{Int64,Int64,Int64}=(0,0,0)
因为我是1:100000
对于i in-1:1,j in-1:1,k in-1:1
结果=结果+(i,j,k)
结束
结束
结果
结束
函数(T)
结果::T=(0,0,0)
因为我是1:100000
对于i in-1:1,j in-1:1,k in-1:1
结果=结果+(i,j,k)::T
结束
ForwardDiff.jl的github repo有一些例子。我试图扩展这个例子,除了一个变量向量,一个参数。我不能让它工作
这是一个示例(它很短,因此我将显示它,而不是链接)
我想修改它,因为我使用了带有多个参数和变量的函数。作为一个简单的修改,我尝试添加一个参数
f(x::Vector, y) = (sum(sin, x) .+ prod(tan, x) * sum(sqrt, x)) * y;
我尝试了以下方法,但没有成功:
fp = x -> ForwardDiff.gradi
我正在学习宏,所以我想一个简单的步骤就是编写一个宏,根据数据帧对变量进行编码。我可以通过dfn手动设置df1,但我不想
例如:
macro mac(i)
quote
df$i = DataFrame(CSV.File("~/dev/book$i.csv"))
end
end
如果我测试,结果是2,但结果是一些奇怪的字符串
@mac(2)
df2
>> #416#$
宏中的变量是“随机化”的,以避免与宏展开所在代码中的变量冲
我在Windows上运行Julia,使用zip存档中提供的Julia.bat文件。我有几个基本问题。这将启动一个DOS控制台
键入plot()命令时,Julia返回plot not defined。如何使用plot()函数?是否有可用的图形界面
键入help时,我得到:
这是什么意思
zip存档中还有启动julia webserver.bat文件。运行此文件时,会打开两个DOS窗口,但不会发生其他情况。我们可以如何处理此文件
顺便说一句,我没有找到任何文件回答这些基本问题。。。当然,如
Julia中是否有任何方法可以在REPL中一步一步地执行现有脚本,同时能够修改/打印数组?(与Matlab调试一样)
注意:我特别要求的是版本0.4,希望新的调试系统正在实施中。您有几个选项:
提供逐步调试。但是,它还没有更新为0.4
为执行特定的线提供了一些不错的功能,并包括集成打印
将脚本复制/粘贴到REPL中
事实上,还有一个更通用的调试器正在进行中,但不可能说它什么时候准备好。未来调试器的工作是否托管在github中?对于那些感兴趣的人来说,基于GUI的调试现在可以通过最新版本的。现
下面是一些Julia代码:
addprocs()
@everywhere begin
type Test
values::Array{Any,1}
addValue::Function
function Test()
this = new()
this.values = Any[]
this.addValue = function(v)
push!(this.values,v)
我是朱莉娅的新手,我希望我的问题不要太琐碎。
我尝试创建一个FITS二进制表,其中包括不同的Float64列和一列ascistring。如中所述,write()函数的输入应该是“一个具有IString键(提供列名)和数组值(提供要写入每列的数据)的字典”
但字典似乎不能容纳混合类型,我得到以下错误:
data=Dict{"col1"=>[1.0,2.0,3.0], "col2"=>[4.0,5.0,6.0],"col3"=>["toto","tata","titi"]}
Loa
我试图使用参数化键入来使用type,但出现了一个错误。我的julia版本是0.6
代码:
a、b、c、output和cons都是Float64
matrix1是matrix1
vGisArray
vce是[0.9 0.8 0.1]您不能在同一Julia会话中修改类型,因为Julia使用有关确切类型布局的信息来编译内容,以便使函数快速运行。因此,如果您想更改类型定义,您需要刷新您的工作区或重新启动Julia,正如@tasospapstylateanou所说的那样。-Chris Rackauckas
我的代码如下
V = ntuple(x -> zeros(5, 5), 2)
V1 = rand(5,5)
copy!(V[1], V1)
我想用V1替换V[1]中的所有值复制在Julia 0.6.3中运行良好。但是,它在Julia 1.0.1中不起作用
错误消息:MethodError:没有与副本匹配的方法!(::数组{Float64,2},::数组{Float64,2})
非常感谢您的帮助。使用=:
V = ntuple(x -> zeros(5, 5), 2)
交叉发布,但如何使用HDF5在Julia中保存数组
在我的特殊情况下,我有一个数组,其中包含10000个不同长度的数组。我希望10000个数组成为“组”的一部分,但为每个数组创建新的数据集/组会使读取文件的速度非常慢,因此我正在寻找替代方法。您可以将数组的数组展平为一个数组,其中一列包含原始数据,另一列表示该数据最初来自哪个第i个数组
using HDF5
# Define your array of arrays.
arr = [[1,2],[3,4,5]]
# Open your hdf5
我想把一个数组变成这样
[1,2,3,4,5]
进入滞后版本
[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2
[2,3,4,5,missing] # lead 1
[3,4,5,missing,missing] # lead 2
还是led版本
[missing,1,2,3,4] # lag 1
[missing,missing,1,2,3] # lag 2
[2,3,4,5,missing] # lead 1
[3,4
我通过Julia使用CVXPY,一种使用列主顺序将多维数组存储在内存中的语言。但是CVXPY是用Python编写的,并且接受Numpy样式的数组(默认情况下是行主数组)作为常量
我想知道在翻译Python代码时是否应该注意顺序,例如使用矩阵A:
将cvxpy作为cp导入
将numpy作为np导入
m=30
n=20
A=np.random.randn(m,n)
b=np.随机随机随机数n(m)
#构造问题。
x=cp.Variable(n)
目标=cp.最小化(cp.平方和(A*x-b))
co
标签: Julia
stochastic-process
我试图创建一个简单的AR(2)流程Y,其中:
Y[t] = ϵ[t] + b1 * y[t - 1] + b2 * y[t - 2]
ϵ[t] ~ Normal(0, σ)
和b1和b2是从一些先验分布中提取的参数
代码如下:
using Statistics
using Turing, Distributions
# This is supposed to be AR(2) model
# Y[t] = ε[t] + b1 * Y[t-1] + b2 * Y[t-2]
@model fun
上一页 1 2 ...
4 5 6 7 8 9 10 ...
下一页 最后一页 共 87 页