标签: wolfram-mathematica

使用哪个与基于符号的测试

我有问题使用Which.其中的一个参数(我在做数学的函数arg2)应该是一个Symbol(或NoneFull).我希望函数的输出依赖于arg2这样,但它不起作用:

testFunction[arg1_,arg2_:None]:=Which[arg2==None,arg1*2,arg2==Full,arg1*3]
Run Code Online (Sandbox Code Playgroud)

如果arg2None似乎没有什么问题,但对于arg2Full,testFunction刚刚返回本身.当使用实数或整数,而不是符号NoneFull,testFunction功能正常.

我在测试中使用符号时犯了错误吗?或者在使用Which和符号时我应该注意其他任何"规则" 吗?

我已经搜索了这个和其他网站的答案,但找不到任何答案.Mathematica帮助文件也没有为我提供答案.到处都是我看过哪个不是巫婆符号.

wolfram-mathematica

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

在Mathematica中评估三个变量函数的导数

我试图在Mathematica中的点(3,5,1)处评估函数的导数.那么,这就是我的意见:

   In[120]:= D[Sqrt[(z + x)/(y - 1)] - z^2, x]
   Out[121]= 1/(2 (-1 + y) Sqrt[(x + z)/(-1 + y)])
   In[122]:= f[x_, y_, z_] := %
   In[123]:= x = 3
             y = 5
             z = 1
             f[x, y, z]
   Out[124]= (1/8)[3, 5, 1]
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我得到了一些奇怪的输出.有关在(3,5,1)处评估该衍生物的任何提示吗?

wolfram-mathematica

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

Mathematica不能简化[Log [4]/Log [2]]?

当我Simplify[Log[4]/Log[2]]在Mathematica时,它恢复原状.我如何强迫Mathematica回馈2

Log2[4]收益率为2,但Log2[x]收益率Log[x]/Log[2],表明Mathematica在这里做了一些不寻常的事情.

wolfram-mathematica

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

函数式编程

假设我有这个Mathematica代码,其输出是一个实数,取决于输入,比如x,y,z.如何根据代码在x,y,z中创建实值函数?

如果代码描述了x,y,z之间的简单关系,我可以直接定义这个函数.这里的要点是给定的代码是一个非常复杂的块(或模块).

例如,如果代码简单地对x,y,z求和,我只需定义

f[x_,y_,z_]=x+y+z
Run Code Online (Sandbox Code Playgroud)

如果我有一个非常复杂的例子,如下所示:

s0[a_, b_, x_] :=
{1, 0, (a + b) x + (1 - a - b)}

s1[a_, b_, c_, d_, p_, q_, n_, x_] :=

Which[0 <= x <= c, {2, n - 1, x/c*q + p},
c <= x <= c + d, {2, n, (x - c)/d*p},
c + d <= x <= 1, {1, n + 1, (x - (c + d))/(1 - c - d)*(1 - a - b)}]

s2[s_, t_, …
Run Code Online (Sandbox Code Playgroud)

wolfram-mathematica

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

Mathematica中的Plotlegend不适用于函数表

我试图在Mathematica v8中使用PlotLegend绘制一个带有图例的函数列表.作为一个简单的测试,说明我正在尝试做什么.

<<PlotLegends`
test = Table[f[x], {f, {Sin, Cos, Tan, Log, Exp}}]
Plot[test, {x, 0, 1}, PlotRange -> Full, Axes -> {True, False}, 
PlotStyle -> Thick, AxesOrigin -> {0, 0}, 
PlotLegend -> {"Sin", "Cos", "Tan", "Log", "Exp"}, 
LegendPosition -> {0, -0.5}, LegendShadow -> None]
Run Code Online (Sandbox Code Playgroud)

作为输出

{Sin[x], Cos[x], Tan[x], Log[x], E^x}
Run Code Online (Sandbox Code Playgroud)

传奇不正确

但是,如果我明确地将表放在Plot命令中,我会得到正确的图例.

Plot[{Sin[x], Cos[x], Tan[x], Log[x], Exp[x]}, {x, 0, 1}, 
PlotRange -> Full, Axes -> {True, False}, PlotStyle -> Thick, 
AxesOrigin -> {0, 0}, 
PlotLegend -> {"Sin", "Cos", "Tan", "Log", "Exp"}, …
Run Code Online (Sandbox Code Playgroud)

plot wolfram-mathematica

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

Mathematica不知道Cos [2]甚至Sin [12 Degree]!

我尝试了一些常见的角度,如pi/2,pi/3或pi/6但是它可以工作但是当你使用不常见的角度,如2 rad或12度mathematica不会返回任何值!请不要告诉我mathematica使用20入口表或类似的余弦和正弦!

wolfram-mathematica

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

Mathematica代码绘制这个微分方程的图形?

有谁知道将跟踪下图的Mathematica代码?

这是图的等式,具有常系数的二阶线性微分方程:

在此输入图像描述

以下是此等式跟踪的图表:

在此输入图像描述

从"时间序列分析和预测示例"一书中引用:

......其中δ(t)是脉冲(δ)函数,就像豌豆击中一样,在时间t = 0时迫使摆远离其平衡,a是豌豆撞击的大小.很容易想象,这个二阶微分方程所追踪的曲线是时间的阻尼正弦函数,但是,如果摩擦或粘度足够大,(过阻尼)摆可能会在指数曲线之后逐渐停止而没有交叉中心线.

wolfram-mathematica

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

删除Mathematica中的列

我有一个巨大的名单,例如.{a,b,c},{d,e,f}我必须只有{a,c},{d,f}.我使用url中的import.我的一句话:

Drop[Import["url"],{2}] 
Run Code Online (Sandbox Code Playgroud)

它不起作用.为什么?

wolfram-mathematica

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

Python/MatPlotLib产生奇怪的,意外的轮廓

我试图在单位正方形的4个顶点处绘制一个函数,该函数为0,在该正方形的中间为1.我试过这个:

import matplotlib.pyplot 
z = [[0,0,0], [1,0,0], [0,1,0], [1,1,0], [.5,.5,1]] 
cn = matplotlib.pyplot.contour(z) 
matplotlib.pyplot.show(cn) 
Run Code Online (Sandbox Code Playgroud)

得到了这个:

在此输入图像描述

我期待一系列同心正方形,如下所示:

在此输入图像描述

这就是我做的时候

ListContourPlot[{{0,0,0}, {1,0,0}, {0,1,0}, {1,1,0}, {.5,.5,1}}, 
ColorFunction -> (Hue[#1]&)] 
Run Code Online (Sandbox Code Playgroud)

在Mathematica.

我做错了什么?

编辑:我意识到为给定数据绘制轮廓的方法不止一种.在这种情况下,一系列同心圆也可以.

python wolfram-mathematica matplotlib

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

压缩Mathematica中的HDF5文件

我正在使用Mathematica 9并导出大量列表(典型列表的尺寸为182500,4,8,42).每个文件大约有6个这样大小的列表(所有整数,不确定这是否会对列表产生影响,我知道它在其他数组类型中也是如此).保存它们是HDF5格式,但是,文件的大小相对较大(1.5 GB).

因此,我试图在Mathematica中使用GZIP压缩文件,因为他们声称它是导出函数中的一个选项,顺便说一下,它有很多错误.

在文档之后的所有尝试都没有完成后,无法找到任何帮助.我想知道我们的Mathematica爱好者是否可以提供一些技巧.

compression wolfram-mathematica export hdf5

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