小编use*_*579的帖子

检查目录是否已经创建了python

一个非常基本的问题,我有一个模块可以动态创建目录,但是,有时我想在一个目录中放置多个文件.如果发生这种情况,python会出现异常并说已经创建了dir,我该如何避免这种情况并检查dir是否已经创建?

保存模块看起来像这样:

def createdirs(realiz):
# Create all the necessary directories                                                                           
path = "./doubDifferences_probandamp_realiz%d/"%realiz
os.mkdir(path,0755)
directory = os.path.split(path)[0]
return directory
Run Code Online (Sandbox Code Playgroud)

在主程序上,我有这个:

for realiz in range(1,1000):
    for i in range(dim):
        for j in range(i+1,i+4):
            ...
            dirspaths = mod_savefile.createdirs(realiz)
Run Code Online (Sandbox Code Playgroud)

python python-2.7

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

gnuplot中的epslatex没有给出正确的输出

我使用以下脚本生成一个简单的eps图像:

set terminal epslatex 8
set output 'sample1.tex'
set size 0.75,0.75
set xrange [-pi:pi]
set yrange [0:1.2]
set xlabel "$x$"
set ylabel "$y$"
plot sin(x)*sin(x) title "$\\sin^2(x)$"
Run Code Online (Sandbox Code Playgroud)

但是,当我在gnuplot中运行它时

gnuplot> load "sample.gpi"
Run Code Online (Sandbox Code Playgroud)

我得到一张空白图片,只显示没有数字的网格.有什么建议我做错了什么?

latex gnuplot

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

在numpy中使用数组优化操作

我必须应用一些我在python中编写的数学公式:

    for s in range(tdim):
        sum1 = 0.0
        for i in range(dim):
            for j in range(dim):
                sum1+=0.5*np.cos(theta[s]*(i-j))*
                eig1[i]*eig1[j]+eig2[i]+eig2[j])-0.5*np.sin(theta[s]*(i-j))*eig1[j]*eig2[i]-eig1[i]*eig2[j])

        PHi2.append(sum1)
Run Code Online (Sandbox Code Playgroud)

现在,这是正确的,但显然效率低下,另一种方法是:

for i in range(dim):
            for j in range(dim):
                PHi2 = 0.5*np.cos(theta*(i-j))*(eig1[i]*eig1[j]+eig2[i]+eig2[j])-0.5*np.sin(theta*(i-j))*(eig1[j]*eig2[i]-eig1[i]*eig2[j])
Run Code Online (Sandbox Code Playgroud)

但是,第二个例子在PHi2的所有元素中给出了相同的数字,所以这个更快但答案是错误的.你怎么能正确而有效地做到这一点?

注意:eig1和eig2具有相同的尺寸d,θ和PHi2的尺寸D相同,但是d!= D.

python optimization numpy numerical-computing

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

julia包中不可变名称的含义

我刚刚将包RandomMatrices.jl下载到julia,因为我需要计算Tracy-Widom密度.然而,文档并没有帮助我理解它的含义:

immutable TracyWidom <: ContinuousUnivariateDistribution
end
Run Code Online (Sandbox Code Playgroud)

这个TracyWidom名字是什么类型的?我应该提供什么才能使用该功能进行一些测试

pdf(d::TracyWidom, t::Real)
Run Code Online (Sandbox Code Playgroud)

包含在TracyWidom.jl中?

julia

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

Julia 中对称矩阵的对角化产生奇怪的结果

我想了解我在朱莉娅的程序发生了什么。问题如下:我有一个对称非负矩阵,我使用它对角化

egvals, egvecs = eig(H_mat)
Run Code Online (Sandbox Code Playgroud)

根据定理,我的矩阵应该具有与非负特征向量相关的最大特征值。H_mat 还有一个技巧,它的第一列和第一行都有一个填充零的条目。

对角化产生最大正特征值 E_max,实际上它是最后一个特征值,因为 Julia 按顺序排列特征值直至最大,但我与 E_max 相关的特征向量的所有条目并非为零或正(即它们具有负条目)

egvecs[:,end] # Some or several components ii, egvecs[ii,end]<0
Run Code Online (Sandbox Code Playgroud)

这是我没有得到正确结果的矩阵,例如:

[0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
 0.0 1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
 0.0 0.0 2.0 0.0 0.0 1.414213562373095 0.0 0.0 0.0 0.0 0.0 1.414213562373095 0.0 0.0 0.0 0.0 0.0 0.0 …
Run Code Online (Sandbox Code Playgroud)

matrix julia

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

直方图拟合与python

我一直在冲浪,但没有找到正确的方法来执行以下操作.

我用matplotlib完成了直方图:

hist, bins, patches = plt.hist(distance, bins=100, normed='True')
Run Code Online (Sandbox Code Playgroud)

从图中,我可以看到分布或多或少是指数(泊松分布).考虑到我的hist和bin数组,我怎样才能做到最佳拟合

UPDATE

我使用以下方法:

x = np.float64(bins) # Had some troubles with data types float128 and float64
hist = np.float64(hist)
myexp=lambda x,l,A:A*np.exp(-l*x)
popt,pcov=opt.curve_fit(myexp,(x[1:]+x[:-1])/2,hist)
Run Code Online (Sandbox Code Playgroud)

但我明白了

---> 41 plt.plot(stats.expon.pdf(np.arange(len(hist)),popt),'-')

ValueError: operands could not be broadcast together with shapes (100,) (2,)
Run Code Online (Sandbox Code Playgroud)

python matplotlib data-analysis scipy pandas

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

奇怪的设置索引错误

我被困在这段代码上

hdiag = zeros(Float64,2)
hdiag = [0,0]
println(hdiag)
hdiag[1] = randn()
Run Code Online (Sandbox Code Playgroud)

在最后一行我获得了一个InexactError.这很奇怪因为randn()它是一个Float64,但由于某种原因我必须这样做hdiag=randn(2),然后应该没有问题.

julia

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

matplotlib 中 3d 条形图的颜色图应用于每个条形

有谁知道如何在 matplotlib 中轻松实现 3d 条形图的颜色图?

考虑这个例子,我如何根据颜色图更改每个条形?例如,短条应该以蓝色为主,而较高的条则将颜色从蓝色渐变为红色......

matplotlib

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

无法git推julialang

我正在尝试获得最新的朱莉娅主提交.我通过git clone安装它,但是,当我这样做时

$ git push
Run Code Online (Sandbox Code Playgroud)

它返回一个异常:

 fatal: remote error: You can't push to git://github.com/JuliaLang/julia.git
 Use https://github.com/JuliaLang/julia.git
Run Code Online (Sandbox Code Playgroud)

如果我使用给定的选项,git需要我一个密码.

github julia

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

在朱莉娅印刷选定长度的浮子

当我保存我的数据文件时,我有一个参数,它是一个浮点数,我想把它作为文件名中的浮点数.我没有舍入错误,因为我使用定义参数的值

parameters = zeros(Float64, 1000)##50)
iijj = 4.8999
for jjj in 1:1000
    iijj += 1/10000
    iijj = round(iijj, 4)
    parameters[jjj] = iijj
end
Run Code Online (Sandbox Code Playgroud)

因此每个parameter[i]都是一个只有4小数的浮点数.打印文件时出现问题,我正在使用

printfile = open("outfile_param$(param).dat" ,"w")
Run Code Online (Sandbox Code Playgroud)

哪里param=parameters[i].如果我有,例如4.89,我想有名字outfile_param4.8900.dat,而不是outfile_param4.89.dat.

我知道有几种方法可以在输出文件中写入,但我想保留我所拥有的格式,因为如果不是,那么纠正我使用的程序会很麻烦.

julia

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