小编Yar*_*tov的帖子

正确的写行到文件的方法?

我习惯了 print >>f, "hi there"

但是,它似乎print >>已被弃用.建议的方法是什么?

更新:关于所有这些答案"\n"......是通用的还是特定于Unix的?IE,我应该"\r\n"在Windows 上做什么?

python file-io

985
推荐指数
11
解决办法
196万
查看次数

Emacs Shell模式:如何将区域发送到shell?

是否有一些模块或命令可以让我将当前区域发送给Shell?我希望有类似Python-mode的"python-send-region",它将选定的区域发送到当前运行的Python shell.

emacs

38
推荐指数
5
解决办法
8584
查看次数

如何确定PlotRange包含所有图形?

给定Graphics对象,如何确定包含所有图形所需的坐标范围?基本上,我需要的东西像什么Show(默认设置),但我想说明PlotRange,PlotRangePaddingImagePadding明确.

例如,Show下面两个应该呈现相同

g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, PlotRange -> getPlotRange[g], PlotRangePadding->getPlotRangePadding[g], ImagePadding->getImagePadding[g]]
Run Code Online (Sandbox Code Playgroud)

动机:在这个问题中修复图表

更新: AbsoluteOptions给我PlotRange但不是其他两个选项.默认情况下,明确指定ImagePadding->Automatic更改外观Automatic.

下面的两张图片显示不同,我不明白为什么

g = Graphics[{Thickness[1], CapForm["Round"], Line[{{0, 0}, {1, 1}}]}];
Show[g]
Show[g, Sequence @@ AbsoluteOptions[Show[g]]]
Run Code Online (Sandbox Code Playgroud)

更新2:一年前提出了类似的问题,没有提出解决方案,也没有像Mathematica 8.0那样修复.总结一下

  1. Show[g]明确的设置,没有办法重现上面的内容PlotRange
  2. 没有办法绝对ImagePadding使用Show[g]
  3. Show[g,PlotRange->Automatic] 看起来与众不同 Show[g]
  4. AbsoluteOptions可以给错误的结果PlotRange

wolfram-mathematica

34
推荐指数
2
解决办法
3004
查看次数

自定义Mathematica快捷方式

有没有我可以查看/更改全局快捷方式选项的地方,如Command+ 9(转换为输入样式)?

特别是,我需要一种更快的方法来创建项目符号列表.它是Cell上下文菜单中的"Item"样式,它没有自己的快捷方式.

wolfram-mathematica

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

挑战动态编程问题

这是我需要解决的计算机视觉问题的低调版本.假设给你参数n,q并且必须计算将整数0 ..(q-1)分配给n-by-n网格的元素的方式的数量,以便对于每个赋值,以下都是真的

  1. 没有两个邻居(水平或垂直)获得相同的值.
  2. 位置(i,j)的值为0
  3. 位置(k,l)的值为0

由于没有给出(i,j,k,l),输出应该是上面的一个评估数组,每一个有效设置为(i,j,k,l)

蛮力方法如下.目标是获得一个有效的算法,适用于q <= 100和n <= 18.

def tuples(n,q):
  return [[a,]+b for a in range(q) for b in tuples(n-1,q)] if n>1 else [[a] for a in range(q)]

def isvalid(t,n):
  grid=[t[n*i:n*(i+1)] for i in range(n)];
  for r in range(n):
    for c in range(n):
      v=grid[r][c]
      left=grid[r][c-1] if c>0 else -1
      right=grid[r][c-1] if c<n-1 else -1
      top=grid[r-1][c] if r > 0 else -1
      bottom=grid[r+1][c] if r < n-1 else -1
      if v==left or v==right or v==top or v==bottom:
        return …
Run Code Online (Sandbox Code Playgroud)

python complexity-theory dynamic-programming

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

从Python内部设置LD_LIBRARY_PATH

有没有办法在运行时设置指定Python查找共享库?

fontforge.so找到了fontforge_bin并尝试了以下内容

os.environ['LD_LIBRARY_PATH']='fontforge_bin'
sys.path.append('fontforge_bin')
import fontforge
Run Code Online (Sandbox Code Playgroud)

得到

ImportError: fontforge_bin/fontforge.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

这样lddfontforge_bin/fontforge.so提供了以下

linux-vdso.so.1 =>  (0x00007fff2050c000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00007f10ffdef000)
libc.so.6 => /lib/libc.so.6 (0x00007f10ffa6c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f110022d000)
Run Code Online (Sandbox Code Playgroud)

python linux fontforge

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

Python退出代码

在哪里可以找到有关Unix上"python"进程退出代码含义的信息?例如,如果我执行"python thisfiledoesntexist.py",我会得到退出代码2

摘要:

from errno import errorcode
print errorcode[2]
Run Code Online (Sandbox Code Playgroud)

python unix

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

列出四面体的所有有趣部分

答案更新,12/22:使用Peter Shor 观察到立方体上不同部分和对象排列之间存在同态,通过将一组立方体对称性表示为SymmetricGroup [8]的子组并使用GroupElements/Permute列出所有这些排列,发现使用Mathematica的SAT求解器质心的任务,选择不同的定奇异值,一些更为详细的,完整的代码点集合在这里

有趣的2D截面是穿过常规3D 单形和其他2个点的中心的平面,每个点都是一些非空顶点子集的质心.它由两个顶点子集定义.例如{{1},{1,2}}给出一个由3个点定义的平面 - 四面体的中心,第一个顶点,以及第一个和第二个顶点的平均值.

一组有趣的部分是一个集合,其中没有两个部分在顶点重新标记下定义相同的平面.例如,设置{{{1},{2}},{{3},{4}}}并不有趣.有没有一种有效的方法来找到一组有趣的部分?我需要的东西可以推广到7D单形的3D部分的类似问题,并在一夜之间完成.

我的尝试方法如下.一个问题是,如果你忽略几何,一些等效的部分将被保留,所以我得到10个部分而不是3.更大的问题是我使用蛮力并且它肯定不会扩展和(需要10 ^ 17比较7D单纯形)

http://yaroslavvb.com/upload/simplex-sections.png

这是上面生成图片的Mathematica代码.

entropy[vec_] := Total[Table[p Log[p], {p, vec}]];
hadamard = KroneckerProduct @@ Table[{{1, 1}, {1, -1}}, {2}];
(* rows of hadamard matrix give simplex vertex coordinates *)

vertices = hadamard;
invHad = Inverse[hadamard];
m = {m1, m2, m3, m4};
vs = Range[4];

(* take a set of vertex averages, generate all combinations arising \
from labeling of vertices *)
vertexPermutations[set_] := …
Run Code Online (Sandbox Code Playgroud)

algorithm geometry wolfram-mathematica

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

检查是否定义了符号

有没有一种简单的方法来检查是否有x的定义?我需要一个带有某种形式的函数f,f[_]或者如果有它的定义则f[_][_]返回True

要真正具体,我使用f [x] = b和g [x] [y] = z等构造存储东西,我需要检查f [x]是否对某些列表中的每个x都有定义,如果g [x] [y]在某些值集中对每个x,y都有一个定义

wolfram-mathematica

18
推荐指数
2
解决办法
7774
查看次数

如何为Mathematica安装新软件包?

为Mathematica安装新软件包的正确程序方法是什么?

特别是,当您从MathWorld 下载任何笔记本时,您将获得Mathworld软件包的链接,这些软件包是带有几十个.m文件的zip文件

他们去哪里?

wolfram-mathematica

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