我想创建一个派生数据类型,其中包含一个表和该表的长度.理想情况下,我想声明如下
type mydata
integer :: ndata
real, dimension(ndata) :: x
end type mydata
Run Code Online (Sandbox Code Playgroud)
但是在开始时ndata是未知的,因此x是动态表.
我必须使用allocatablex并在知道ndata时分配它吗?
type mydata
integer :: ndata
real, dimension(:), allocatable :: x
end type mydata
....
type(mydata) :: var
var % ndata = 10
allocate(var % x(10))
Run Code Online (Sandbox Code Playgroud)
管理此类案件的最佳方法是什么?
我为pygments编写了一个新的词法分析器,并尝试使用它。因此我看这个页面
http://pygments.org/docs/lexerdevelopment/
描述安装过程的位置。他们说可以,make mapfiles但我不知道在哪里。
我查看了这两个目录,那里有他们谈论的other.py模块。
/usr/share/pyshared/pygments/lexers/
Run Code Online (Sandbox Code Playgroud)
和
/usr/share/pyshared/pygments/lexers/
Run Code Online (Sandbox Code Playgroud)
但是那里没有任何makefile。因此,我该怎么办?
我试图说明如何将函数传递给Newton Raphson过程.我成功了一个非常简单的函数(unefonction见下文)但它不适用于有参数的函数.这第二个fonction叫gaussienne,它需要一个参数,x和两个可选参数mu和sig.在我的牛顿拉夫森程序中,我用这种方式调用了这个函数:f(x).什么是奇怪,我是在执行过程中,程序操作,就好像可选参数sig和mu存在,但他们不...因此我不明白...
这是包含这些功能的模块
module fonction
implicit none
! parametre pour la gaussienne
double precision :: f_sigma = 1.d0, f_mu = 0.d0
! pi accessible uniquement en interne
double precision, parameter :: pi = 3.14159265359d0
contains
double precision function unefonction(x)
! fonction : unefonction
! renvoie
! $\frac{e^x - 10}{x + 2}$
implicit none
! arguments
double precision, intent(in) :: x
unefonction = (exp(x) - 10.) / …Run Code Online (Sandbox Code Playgroud) 我的问题可能更多地与OOP相关而不是python.我写了一个类来描述一个分子,然后我写了一个函数,以便从特定的文件格式创建一个分子对象:fromFILE.因此,例如,当我使用我的课时,我会执行以下操作:
import mymodule
mol = mymodule.fromFILE("toto")
mol.method()
...
Run Code Online (Sandbox Code Playgroud)
我的问题是组织事物的好方法是什么.函数fromFILE()是否属于类的一部分,如果是,那么写这个的最佳方法是什么?
到目前为止,我只是将类和可用于创建此类的函数放入同一个模块中,但我不知道这是否是最好的方法.
我尝试在我的 PC 上的 webdav 文件夹(box 帐户)上同步本地文件夹的 pdf 文件。我用 : 安装了那个文件夹davs://dav.box.com/dav。我在 ubuntu 14.04
rsync -avu --include="*/" --include="*.pdf" --exclude="*" L2/ /run/user/1000/gvfs/dav:host=dav.box.com,ssl=true/dav/Cours/
Run Code Online (Sandbox Code Playgroud)
上面的 rsync 命令在 webdav 文件夹中创建了目录树,但它不复制任何文件。
我有很多:
rsync: failed to set times on "/run/user/1000/gvfs/dav:host=dav.box.com,ssl=true/dav/Cours/SymCristalline": Operation not supported (95)
rsync: failed to set times on "/run/user/1000/gvfs/dav:host=dav.box.com,ssl=true/dav/Cours/SymCristalline/Cours": Operation not supported (95)
...
Run Code Online (Sandbox Code Playgroud)
然后我得到了我想要同步的文件列表。
SymCristalline/
SymCristalline/TD_2013.pdf
SymCristalline/blanche.pdf
SymCristalline/inter_tables_of_crist__vol_a.pdf
SymCristalline/inter_tables_of_crist__vol_d.pdf
....
Run Code Online (Sandbox Code Playgroud)
然后我得到了很多
rsync: mkstemp "/run/user/1000/gvfs/dav:host=dav.box.com,ssl=true/dav/Cours/SymCristalline/.TD_2013.pdf.tgEY8n" failed: Operation not supported (95)
rsync: mkstemp "/run/user/1000/gvfs/dav:host=dav.box.com,ssl=true/dav/Cours/SymCristalline/.blanche.pdf.tZ2XyK" failed: Operation not supported (95)
....
Run Code Online (Sandbox Code Playgroud)
最后:
sent 93,577,889 bytes received …Run Code Online (Sandbox Code Playgroud) 我试图在matplotlib中计算箱形图的胡须和框坐标.我不明白我的错误以及为什么我不计算相同的值.
Q1, median, Q3 = np.percentile(becher, [25, 50, 75])
IQR = Q3 - Q1
Qs = [Q1, median, Q3, Q1 - 1.5 * IQR, Q3 + 1.5 * IQR]
Qname = ["Q1", "median", "Q3", "Q1-1.5xIQR", "Q3+1.5xIQR"]
for Q, name in zip(Qs, Qname):
plt.axhline(Q, color="k")
plt.text(1.52, Q, name)
plt.boxplot(becher)
Run Code Online (Sandbox Code Playgroud)
如下图所示,Q1,Q3和中位数都可以.但胡须是错的.
这是我的数据:
becher = [9.1495,
9.9479,
9.7933,
9.8002,
8.47,
9.14,
9.06,
9.6933,
9.7871,
10.5676,
9.7441,
10.4874,
7.9584,
7.9598,
8.3483,
7.2536,
9.0823,
10.8343,
10.4104,
7.2004,
9.6297,
9.96,
9.761,
9.684,
8.6062,
10.2098,
8.9002,
8.4511, …Run Code Online (Sandbox Code Playgroud) 我在OS X系统上安装了anaconda发行版。
如果查看随anaconda导航器安装的软件包,我会发现很多软件包都可以升级。如果我升级其中之一,则列表中将带有anaconda软件包,其中包含版本custum。如果我升级了此软件包,我会回到以前升级的软件包的先前版本。
此后,我遵循了文档的这一页。
--> conda update conda
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /blabla/anaconda:
The following packages will be UPDATED:
anaconda: 4.2.0-np111py35_0 --> custom-py35_0
conda: 4.2.13-py35_0 --> 4.2.14-py35_0
requests: 2.11.1-py35_0 --> 2.12.4-py35_0
Proceed ([y]/n)? y
...
[ COMPLETE ]
--> conda update anaconda
Fetching package metadata .......
Solving package specifications: ..........
Package plan for installation in environment /blabla/anaconda:
The following packages will be UPDATED:
anaconda: custom-py35_0 --> …Run Code Online (Sandbox Code Playgroud) 我想将一组子图分成三行,第一行有一个子图,第二行有两个,第三行有三个。我做了以下事情:
fig, axes = plt.subplots(figsize=(10, 10), sharex=True, sharey=True, ncols=3, nrows=3)
x = np.linspace(0, 10, 100)
for i in range(3):
for j in range(0, i+1):
axes[i, j].plot(x, np.sin((i+j) *x))
Run Code Online (Sandbox Code Playgroud)
如何删除三个空地块?