标签: mathematica-8

如何使用没有警告的质量列表定义任意离散概率分布

在Mathematica 8中,我想定义一个离散分布,其密度质量作为列表给出.例如,

In[1] f = ProbabilityDistribution[{2/3, 1/3}[[x]], {x, 1, 2, 1}];
Run Code Online (Sandbox Code Playgroud)

这似乎有效.然而,这发出了两次重复的警告:

"Part::pspec: Part specification x is neither an integer nor a list of integers." 
Run Code Online (Sandbox Code Playgroud)

然而,f似乎正常工作.这条消息让我觉得可能有更好的方法来定义相同的分布.如何使用列表定义离散分布但不调用警告?

wolfram-mathematica mathematica-8

14
推荐指数
2
解决办法
3260
查看次数

Mathematica:PNG的透明背景

这很可能是Mathematica 8.0.1中的一个错误,也可能是其他版本.让我们尝试以下方法:

Table[
 Export[
  "Res_" <> ToString[r] <> ".png", Rasterize[
  Style[x^2 + y^2, 40],
  Background -> None,
  ImageResolution -> r
 ],
 Background -> None],
 {r, {20, 40, 100, 300, 400, 500, 600}}
]
Run Code Online (Sandbox Code Playgroud)

这是我获得的屏幕截图:

产量

首先要注意的是,最后两张图片的尺寸错误.这在某种程度上是好的,因为我对300或以上的分辨率感到满意.现在看看这个:

in = 72;
G3D = Graphics3D[AspectRatio -> 0.925, Axes -> {True, True, True}, 
  AxesEdge -> {{-1, -1}, {1, -1}, {-1, -1}}, AxesStyle -> Directive[10, Black],
  BaseStyle -> {FontFamily -> "Arial", FontSize -> 12}, Boxed -> False,
  BoxRatios -> {1, 1, 1}, LabelStyle -> Directive[Black], 
  ImagePadding …
Run Code Online (Sandbox Code Playgroud)

plot wolfram-mathematica image mathematica-8

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

对大量信息机构的案件监控过程[]

我目前正在对大量文本进行操作(在一个文件中大约290MB的纯文本).在将其导入Mathematica 8之后,我现在开始将其分解为小写单词等,因此我可以开始进行文本分析.

问题是这些过程需要很长时间.有没有办法通过Mathematica监控这些操作?对于带变量的操作,我使用了ProgressIndicator等.但这是不同的.我搜索文档和StackOverflow没有发现类似的东西.

在下面,我想监视Cases []命令的过程:

input=Import["/users/USER/alltext.txt"];
wordList=Cases[StringSplit[ToLowerCase[input],Except[WordCharacter]],Except[""]];
Run Code Online (Sandbox Code Playgroud)

monitoring text wolfram-mathematica mathematica-8

13
推荐指数
3
解决办法
260
查看次数

mathematica 8.0和psfrag

我最近从mathematica 7.0更新到8.0,现在遇到使用psfrag包用LaTeX代码替换我的绘图标签的问题.一切都与早期版本和完全相同的图表完美配合,但现在psfrag保持所有标签不变.我在Ubuntu 11.04上使用Kile进行LaTeX编辑.

例如,在Mathematica中:

plot = Plot[x, {x, -0.1, 0.1}, 
            AxesLabel -> {eps, SUM}, BaseStyle -> {FontSize -> 10}]  
Export["plot.eps", plot]
Run Code Online (Sandbox Code Playgroud)

然后在LaTeX:

\begin{figure}   
\psfrag{eps}{$\epsilon$}  
\psfrag{SUM}{$\Sigma$}  
\includegraphics{plot.eps}  
\end{figure}  
Run Code Online (Sandbox Code Playgroud)

现在应该用LaTeX排版替换标签,但没有任何反应.有什么建议如何解决这个问题?有谁知道Mathematica 8如何编码eps文件中的文本与早期版本相比有何不同?

latex wolfram-mathematica mathematica-8

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

GCC已安装.Mathematica仍然不会编译为C语言

我在MacOSX上运行Mathematica 8,尝试将最简单的程序编译为C.任何与C有关的东西都不能在Mathematica中运行.我安装了GCC 4.2; 我甚至用XCode多次重新安装它.这就是我正在做的和我得到的错误:

首先,我总是评估命令

Needs["CCompilerDriver`"]
Run Code Online (Sandbox Code Playgroud)

如果我将编译目标设置为C,

c = Compile[ {{x}}, x^2 + Sin[x^2], CompilationTarget -> "C"];
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,其中包含:Compile :: nogen:无法从已编译的函数创建库.

如果我尝试创建一个库,

demoFile = FileNameJoin[{$CCompilerDirectory,"SystemFiles","CSource","createDLL_demo.c"}];
lib = CreateLibrary[{demoFile},"testLibrary"]
Run Code Online (Sandbox Code Playgroud)

我收到消息$ Failed.Wolfram说这是因为我没有安装C编译器.我觉得很难相信因为我跑的时候

CCompilers[]
Run Code Online (Sandbox Code Playgroud)

它告诉我我已经安装了GCC:{{"Name" - >"GCC","Compiler" - > CCompilerDriver'GCCCompiler`GCCCompiler,"CompilerInstallation" - >"/ usr/bin","CompilerName" - >自动}}

更重要的是,终端说我也安装了GCC !! 任何帮助,将不胜感激.我真的很想将Mathematica编译成C.

c compiler-construction gcc wolfram-mathematica mathematica-8

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

保存FittedModel是错误的

使用Mathematica 7和8,我们发现Mathematica无法正确保存并获得适合例程的结果.我希望有人知道:这个bug的最佳实践解决方法是什么?

我们的任务是使用NonlinearModelFit拟合大量数据集,该模型为每个数据集返回一个FittedModel.这些配合需要一段时间,我们尝试使用Save和DumpSave将结果记忆到文件中.随后的分析使用Get将FittedModel拉回来.

Mathematica在没有警告的情况下执行Save&Get,但返回的FittedModel是错误的.我们调用Get并从磁盘加载一个FittedModel,调用结果"foo".尝试foo [10]用输入10来评估拟合模型.我们看到的错误是foo ["BestFitParameters"]应该返回一个列表规则,而是将字符串插入到函数中,因为它是一个类似10的数字.尝试foo [{"BestFitParameters","BestFitParameters"}]应该在列表中给出两次规则,但是对于有缺陷的foo仍然没有评估.

根据我们是否删除/清除foo或退出内核,在此基础上存在一种奇怪且误导性的行为:

  • 将FittedModel计算为foo
  • 保存或DumpSave foo到磁盘
  • 删除和/或清除foo
  • 从磁盘获取foo
  • foo工作正常

但是如果我们重新启动内核就会失败

  • 将FittedModel计算为foo
  • 保存或DumpSave foo到磁盘
  • 杀死并重新启动内核
  • 从磁盘获取foo
  • foo是越野车

以前有没有人见过这种行为?

这个bug背后有一个很好的解释吗?

有一个很好的解决方法吗?

wolfram-mathematica mathematica-8

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

你如何在Mathematica中计算出条件概率.可能吗?

Mathematica可以进行贝叶斯规则条件概率计算,而无需手动计算吗?如果是这样的话?

我一直在搜索Mathemtaica doco和网络上的提示,但找不到任何东西.我不是在如何通过Mathematica手动执行贝叶斯规则,我想知道是否有一种方法来定义条件概率并自动计算其他概率.

因此,使用假设伯努利分布的玩具示例

P(Cancer+) = 0.01
P(Cancer-) = 0.99

P(Test+|Cancer+) = 0.9
P(Test-|Cancer+) = 0.1
P(Test+|Cancer-) = 0.2
P(Test-|Cancer-) = 0.8
Run Code Online (Sandbox Code Playgroud)

是否有可能解决问题

P(Cancer+|Test+) = 0.0434
Run Code Online (Sandbox Code Playgroud)

所以使用下面的内容.

Print["P(C+) = ", PCancerT=BernoulliDistribution[0.01]];
Print["P(C-) = ", PCancerF=BernoulliDistribution[0.99]];
Print[]
Print["P(T+|C+) = ", PTestTGivenCancerT=BernoulliDistribution[0.9]];
Print["P(T-|C+) = ", PTestFGivenCancerT=BernoulliDistribution[0.1]];
Print["P(T+|C-) = ", PTestTGivenCancerF=BernoulliDistribution[0.2]];
Print["P(T-|C-) = ", PTestFGivenCancerF=BernoulliDistribution[0.8]];
Print[]
Print["P(T+,C+) = ", PTestTAndCancerT = Probability[vCT&&vTTCT,{vCT\[Distributed]PCancerT,vTTCT\[Distributed]PTestTGivenCancerT}]];
Print["P(T-,C+) = ", PTestFAndCancerT = Probability[vCT&&vTFCF,{vCT\[Distributed]PCancerT,vTFCF\[Distributed]PTestFGivenCancerT}]];
Print["P(T+,C-) = ", PTestTAndCancerF = Probability[vCF&&vTTCF,{vCF\[Distributed]PCancerF,vTTCF\[Distributed]PTestTGivenCancerF}]];
Print["P(T-,C-) = ", PTestFAndCancerF = Probability[vCF&&vTTCF,{vCF\[Distributed]PCancerF,vTTCF\[Distributed]PTestFGivenCancerF}]];
Print[]
Print["P(C+|T+) = …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica mathematica-8

11
推荐指数
2
解决办法
2360
查看次数

有没有有效的简单方法来比较Mathematica相同长度的两个列表?

鉴于两个列表A={a1,a2,a3,...an}B={b1,b2,b3,...bn},我会说A>=B,当且仅当所有ai>=bi.

有两个列表的内置逻辑比较A==B,但没有A>B.我们需要像这样比较每个元素吗?

And@@Table[A[[i]]>=B[[i]],{i,n}]

有什么更好的技巧吗?

编辑: 非常感谢大家.

这是另一个问题:

如何在N个列表中找到最大列表(如果存在)?

使用Mathematica在N个列表中查找具有相同长度的最大列表的任何有效简便方法?

arrays wolfram-mathematica list mathematica-8

11
推荐指数
2
解决办法
4890
查看次数

我们可以在PowerPoint或Keynote中展示一些Dynamics/CDF吗?

我想在演示文稿中显示一些动态内容.但是,我不确定到星期四我有时间在Mathematica中以我想要的方式制作幻灯片.

是否可以在A Powerpoint(Microsoft)或Keynote(Apple)演示文稿中使用Mathematica构建动态对象?

wolfram-mathematica mathematica-8 mathematica-cdf wolfram-cdf

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

如何在Python程序中使用Mathematica函数?

我想知道如何从Python调用Mathematica函数.

我很欣赏一个例子,例如,使用Mathematica函数Prime.

我搜索过MathLink但是如何在Python中使用它对我来说有点模糊.

我试图使用一个名为pyml的Mathematica-Python库,但我没有成功,也许是因为这个lib看起来很旧(在教程中说Mathematica 2或3).

尝试编译源代码Wolfram/Mathematica/8.0/SystemFiles/Links/Python但在使用python 2.6时出现了几个错误(文档说只应该对python 2.3起作用).

Pythonika很有趣,但看起来只是在Mathematica笔记本中使用,我想编写.py调用Mathematica函数的文件.

那么,有人知道编写使用Mathematica函数的python程序的好方法并且可以给我一个例子吗?

python unix wolfram-mathematica mathematica-8 mathlink

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