好的,我这样做:
Select[Range[1, 20], # > Dynamic[q] &]
然后我创建滑块:
Slider[Dynamic[q], {1, 20}]
而且它总是返回一个空集!为什么
更新
这样做的目的是在我移动滑块时更改设置。我想您希望将“Dynamic”(动态)排除在选择之外。当我玩它时,它似乎起作用:
In[20]:= x = 5
Out[20]= 5
In[21]:= Slider[Dynamic[x], {1, 20}]
Out[21]= \!
我有一个类似于时间序列的函数,它根据
实数列表(即,您可以在实数列表上运行函数)
1,2,3,…实数)。我遇到的问题是如何最大化
给定列表长度的函数(受一组约束)。
我可以将函数固定为固定数量的实数(即f[x\u real,y\u real]
而不是f[x_List]),并将x和y视为第一个
列表的两个元素,并调用函数上的最大化,但是
这不是很优雅。我希望能够轻松地更改号码
列表中元素的名称
优化我所描述的函数的最佳方法是什么
对于固定的列表长度,将列表作为参数?我不确定这是否是您要问的,但您可
在Equal的文档页面上,我们看到了
机器的近似数
考虑精度或更高
如果它们的最大差异是
最后七位二进制数字(大约
最后两位小数)
以下是示例(32位系统;对于64位系统,在中间添加更多的零):
我想知道Mathematica中是否有一个“正常”模拟的Equal函数不删除最后7个二进制数字?我不知道已经定义了一个运算符。但您可以定义,例如:
longEqual[x_, y_] := Block[{$MaxPrecision = 20, $MinPrecision = 20},
正如我最近所说,Mathematica中有一些类型的表达式由前端自动解析
例如,如果我们计算holdplete[Rotate[Style[expr,Red],0.5]]我们会看到前端没有显示原始表达式:
有可能控制前端的这种行为吗
是否有可能获得前端自动解析的表达式的完整列表
编辑
使用Print时,我们可以看到对makebox的调用:
On[MakeBoxes]; Print[HoldComplete@Rotate["text", Pi/2]]
但是,复制粘贴打印输出
我经常希望看到Mathematica图形对象的内部表示形式不是在FullForm中,而是在可读性更高的InputForm中,它能够通过双击选择部分代码,并轻松地将此代码复制到新的输入单元格。但是默认的InputForm不允许这样做,因为InputForm默认显示为字符串,而不是Mathematica的代码。有没有办法将InputForm显示为Mathematica的代码
我还经常希望看到这种InputForm的缩短版本,其中所有长的坐标列表都显示为第一个坐标,后面是用Skeleton包装的跳过的
我正在寻找一种模式,该模式匹配由相同(在相等[]的意义上)原子对象组成的(可能为空)列表,但我无法找到它。非常感谢您的帮助。这对您有用吗
testList = {
{1, 1.0, 1.},
{a, b, c},
{0, Exp[Pi*I] + 1.0, Sin[Pi]}
}
Cases[testList, _List?(Equal @@ # &)]
使用条件,而不是模式测试:
In[31]:= testList = {{1, 1.0, 1.}, {a, b, c}, {0
这实际上是一个双重问题。首先:作为一个有OO编程背景的人,我觉得Mathematica使用列表作为一切的基础有点令人讨厌。以下是mathematica程序员(据我所知)如何定义图形:
graph={{1, 2, 3, 4, 5}, {1->2, 2->4, 4->4, 4->5}};
然后程序员就必须记住这一点
graph[[1]]
指顶点和顶点的列表
graph[[2]]
指边列表(在本例中定义为一组规则)
所以,我在学习Mathematica中的规则,我看到了
警告当Mathematica V8.0是最酷的孩子时,我发布了这个问题。从9.0.1版开始,该错误已被解决
国家:
然而:
CompleteGraph[4,
EdgeWeight -> Range@6,
VertexShapeFunction -> "Name",
EdgeLabels -> "EdgeWeight"]
结果:
所以,没有边缘标签。。。我想这是一只虫子
我使用了一个令人讨厌的结构,比如:
adj = {{\[Infinity], 1, 1, 1, 1
我想知道Mathematica应用于获得结果的步骤。
我有
Mathematica显示了0,但我想知道它是如何得到这个结果的。Mathematica无法做到这一点,它使用的算法与您想要看到的非常不同
对于某些特定的条目,会返回一些关于计算过程的信息,但它们的输出完全是混乱的——这些都是开发诊断,而不是帮助完成家庭作业或准备考试
对于某些类型的问题,如极限、积分、导数等,您可以使用,它将详细描述整个求解过程
Limit[n^Log[2, n]/1.001^n, n -> \[Infinity
我想在mathematica中为双和写这个简单的代码,但它没有给我答案
实际上我想把下列级数的平方(n可能是无穷大)写成一个双和。
试试这个
Sum[a[i]*b[j-i],{j,0,n},{i,0,j}]
有关mathematica中的和与积的更多信息,请参阅文档:
希望能有帮助
关于你的第二个问题,写下:
(Sum[(-1)^(k-1)/k^t,{k,1,n}])^2
不确定您的更新是什么,但如果是关于无限的更新,请键入:
(Sum[(-1)^(k-1)/k^t,{k,1,Inf
我正在为一个大学课程项目评估Wolfram Mathematica 8
我很难定义目标编程模型。
首先是因为我在数学方面非常缺乏:)其次是因为我在(寻找“多目标优化:目标规划”)中发现的东西很差
我试图为软件项目维护阶段的资源分配定义一个小模型。这是非正式的模型定义:
不要担心功能。这是一个激活函数,如果小时数超过阈值,则返回1。阈值是解决bug所需的平均小时数
请不要评论这个模型的有用性:这不是本课程的目标。此外,这里的小时数是随机的,用于测试
我请求帮助将这个非正式模型表达为Mathema
有人读过罗曼·梅德的《数学编程》吗?它对WM8用户有用还是过时?请对这本旧书给我一些评论 它仍然是关于Mathematica编程的最佳书籍之一,强调良好的编程风格和实践(尽管选择第三版-于1996年出版)。你可以从我对这本书的观点中找到更多的延伸
请注意,您将在Maeder的书中找到对核心语言的非常优雅的描述,但没有更多现代的补充。关于核心语言的重要内容,您在这里找不到,包括:
压缩稀疏阵列
集成字符串操作操作
收获和播种
处理选项的现代方法:选项模式,选项值,过滤规则
Mathematica
如果您有Mathematica和输入:
ParametricPlot3D[{Sin[u], Sin[v], Sin[u + v]}, {u, 0, 2 Pi}, {v, 0, 2 Pi]
您将生成一个三维实体,该实体看起来像一个侧面被压碎的立方体。我想做的是,取这个固体的横截面和水平面:z=0,z=1,z=-1,z=1/2,和z=-1/2
生成这些横截面图的命令是什么?这可以通过指定一个区域函数来完成,该函数是一个布尔条件,用于确定允许在何处绘制曲面。在这里,您可以使用
RegionFunct
我刚刚安装了mathematica 8,无法输入mathematica编程语言。自由形式语言模式之所以有效,是因为它连接到wolfram服务器,但如果尝试绘制一些简单的内容,如:
Plot[Sin[x], {x, 0, 6Pi}]
点击Shift Enter,我会得到以下信息:
MakeExpression::boxfmt: InputForm in MakeExpression[FormBox[RowBox[{Plot,
[,RowBox[{RowBox[{<<4>>
我有一个代表概率分布的数据点列表。我需要整合这个分布。但是,由于我没有函数,只有一组数据点,因此我提出了以下代码来表示概率分布:
dList1 = Import["Z-1.txt", "Table"];
dList2 = Import["Z_over-1.txt", "Table"];
dDist[X_,sym_] := (
dList = 0;
If[sym,
dList = dList1;
,
dList = dList2;
];
val = 0;
关于Mathematica 9中的$\tau$,如何最大化以下等式:
$$max_\tau \sqrt{(1 - \tau)y^i} + \sqrt{\tau y}$$
我想找到像这样的东西
$$\tau^i = \frac{y}{y^i + y}$$
设x=t然后f(x,y)=sqrt((1-x)*y^c)+sqrt(xy)
我假设c是一个常数,所以这里只有两个自变量
取一阶偏导数w.r.t.x,将其设为零
我可以帮你。请查看最大化。
我有一个关于存储值的问题
例如,如果我有一个数字列表
{1,2,3,4,5,6},
如何将其保存为例如,f[x],以便当我输入f[0]时,它打印出1,如果我输入f[1],它打印出2,依此类推
当我只使用数组或列表时,我无法使用像f[0]这样的方法来打印列表中的第一个
非常感谢。此功能将完成以下工作:
f[l_List, x_Integer] := l[[x + 1]];
或者,您可以随时以某种方式修改代码,这样您就不必这样做。也许f[l_u,x_u]:=l[[x-1];f[{1,2,3},
我有一个nxm数据矩阵
如何创建一个包含每列元素的和的函数,这样如果我输入一个值,就会得到一个1 x m行(其中m>100)
更具体地说,我正在计算每列数据的离散傅里叶变换,该变换适用于我输入的任何输入频率
以下是我的单列代码:
(* Length of time data *)
n = Length[t]
(* Compute discrete fourier transform at specified frequency f *)
DFT[f_] := (t[[2]] - t[[1]])
在Mathematica中,我试图操纵一个列表,这样我可以从以下内容开始:
myList = List[{a,b,c,d}];
a=12;
b=15;
c=7;
d=9;
然后我希望能够对列表进行重新排序,输出是变量名而不是数字 正如@george在评论中所说,做你想做的事最简单的方法之一
就是使用转换规则。它们允许用一个值替换
符号,而不为该符号指定值。比如你的情况
(我破坏了订单,因为它与此处无关):
转换规则有两个参数,您可以提取它们。下面是一种从转换规则列表中获取符号列表的方法
我想解以下方程:
DSolve[u''[x]+k^2 u[x], u[x],x]
如果k^20,则解决方案为
u[x] -> C[1] Sin [kx] + C[2] Cos[kx]
在我的等式中
k^2=a-b/c-d
当b>a和c>d时,意味着k^2引入一个常数k2n,它是假定的负k^2的负值:
E^Sqrt[k2n]xc[1]+E^Sqrt[k2n]xc[2]
现在我们知道k2n>0,所以返回替换
% /. Sqrt[k2n] -> k
E^k x C[1]+E^-k
我需要计算Mathematica中的以下表达式:
(1/((3 + E^(4 k))^8))
2 (1 + E^(4 k))^2 k (729 + E^(24 k) + 210 k + 2 E^(20 k) (9 + 7 k) +
4 E^(12 k) (135 + 49 k) + 6 E^(4 k) (243 + 61 k) +
E^(16 k) (135 + 82 k) + E^(8 k) (1215 + 284 k)) == k
其中E是指数。在Maple中,它是用根(函数(k)=
我想使用类似于:
等高线图[Abs[z-1]==2]
将z定义为=x+iy
我在某处看到了一个类似with函数的例子,但我再也找不到了,我的所有尝试都没有成功。是的,你可以。您只需确保将与一起放置在轮廓图之外:
With[{z = x + I y},
ContourPlot[Abs[z - 1] == 2, {x, -2, 2}, {y, -2, 2}]]
您还可以使用评估:
ContourPlot[
With[{z = x + I y}, Abs[z - 1] == 2] // E
考虑以下几点
Needs["Combinatorica`"];
$ContextPath = DeleteCases[$ContextPath, "Combinatorica`"];
当我第二次执行它时,速度快了10倍,而且它不会打印兼容性警告
Mathematica如何知道此程序包已加载?
当从$ContextPath加载和删除包时,有什么好方法可以避免重新加载包?
对于一些图算法,我依赖于Combinatica,但每次加载元素时,我都需要重新定义元素,所以我尝试将重新加载保持在最小值
您可
在mathematica中,如何将文本定位在绘图之外?快速的谷歌搜索将
带你去
这还不够,因为您希望通过代码实现这一点。在mathematica中放置文本的简单示例如下:
Show[
Plot[x^3, {x, -1, 1},
Frame -> True,
ImageSize -> Medium,
FrameLabel -> {"x", "y"},
PlotRang
是在Mma v7中添加的,这似乎是一种为绘图获得灵活刻度的好方法。参见示例及其答案
用法示例:
f[fd_] := Join[
{#, #, {.07, 0}, Directive[Black, Thickness[.01]]} & /@ fd[[1]],
{#, #, {.05, 0}, Directive[Black, Thin]} & /@ Flatten[fd[[2]]]];
plot[pr_List] :=
Plot[Sin
在Mathematica中,如果不先将列表拟合到数学表达式(即使用FindFit),如何在数字上区分列表
具体来说,我想在列表中找到最大坡度点
我曾考虑过使用差异并找到最大差异,但数据中的噪声会使其不准确。使用MovingAverage平滑数据也无济于事
提前感谢。您可以尝试使用带有高斯核的列表卷积来平滑数据。这种方法的一个很好的特点是,使用高斯核的卷积的导数相当于使用高斯核的导数卷积
以下是一些示例数据:
data = Table[Sin[x] + .5 RandomReal[{-1, 1}]
对只在行为方面再现的makebox进行模拟的最简单方法是什么:将只涉及符号而不包含FormatValues的正确表达式转换为BoxForms:
Trace[MakeBoxes[graphics[disk[]], StandardForm], TraceInternal -> True]
这个函数应该是递归的,因为makebox是递归的。真正令人困惑的是如何将disk[]转换为RowBox[{“disk”、“[”、“]”}]避免解析原始表达式的字符串表示形式
另外,这个问题来自于。我不认为
我有一个图形3D对象。我想将其导出为位图,并计算某些3D点的位图像素坐标
Mathematica在绘制3D图形时,显然会将3D对象投影到2D像素坐标。我怎样才能知道这个投影是什么
我宁愿避免基于ViewVector、ViewAngle、ImageSize和BoundingBox进行大量复杂的几何计算。有捷径吗
Damon。渲染Graphics3D对象时,可以指定该选项。可以设置变换(例如旋转),然后设置投影
通过这种方式,您可以使用投影的明确知识来计算正确的平面坐标。您可以使用选项“变换”->“
当我试图通过评估>并行内核配置在mathematica中配置远程内核时。。。然后我转到“远程内核”并添加主机。之后,我尝试启动远程内核,但只启动了其中的一些内核(数量不同)。我得到了如下的味精
KernelObject::rdead:出现通过远程连接的子内核[nodo2]
死了。>>LinkConnect::linkc:无法连接到
链接对象[36154@192.168.1.104,49648@192.168.1.104,38,12]. >>
常规::停止:LinkConnect::linkc的进
Mathematica 7.0似乎不喜欢分母中有空格。有人能解释为什么会这样吗
输入:
ClearAll["Global`*"];
(*Without blanks:*)
a^2 / b^2 /. a^2 / b^2 -> d
(*with:*)
a^2 / b^2 /. a^c_ / b^c_ -> d
(*Without blanks:*)
a^2 / b^2 /. (a / b)^2 -> d
(*With:*)
a^2 / b^2 /. (a / b)^c_ ->
我目前正在一个大型文本信息数据库中可视化单词和短语的频率(307个文本文件中大约108MB)。我的目标是找到一种方法来快速查看哪些文件最相关,并且以一种视觉上最吸引人的格式(尽管这个项目可能也会证明,只有文本表示总是更清晰)
现在我有以下几点:
SetDirectory["/MYMATHEMATICADIRECTORY/"];
filelist = FileNames[];
viewerCount1 = {0};
viewerCount2 = {0};
word1 = "freedom";
wo
我正在使用Leonid的宏方法()来帮助我管理操作的控制变量布局
但我发现,在宏中,我无法使用其他地方定义的另一个宏。所以我想知道是否有一种方法可以从另一个宏中使用一个宏
为了解释这个问题,我将首先展示一个使用一级宏的非常简单的操作,然后通过尝试从另一级宏中使用宏来展示问题
Manipulate[Text["ok"],
Evaluate@With[{
x = Function[{}, (*----> macro x *)
TabView[{
"x
我需要获得一个矩阵vvT,该矩阵由列向量v构成。i、 e.列向量v矩阵乘以其转置
我发现Mathematica不支持列向量。请帮忙。这是你想要的吗
v = List /@ Range@5;
vT = Transpose[v];
vvT = v.vT;
v // MatrixForm
vT // MatrixForm
vvT // MatrixForm
要将{1,2,3,4,5}转换为{1}、{2}、{3}、{4}、{5},您可以使用以下任何一种方法:
List /@ {1, 2, 3, 4
我在使用哪个时遇到问题。我在Mathematica中创建一个函数,其中一个参数(arg2)应该是符号(None或Full)。
我希望函数的输出依赖于如下所示的arg2,但它不起作用:
testFunction[arg1_,arg2_:None]:=Which[arg2==None,arg1*2,arg2==Full,arg1*3]
如果arg2为None似乎没有问题,但对于arg2为Full,testFunction只返回自身。
当使用实数或整数代替符号None和Full时,testFunct
我已经将求解方程组的计算步骤嵌入到一个块中。然后,我使用定义为块的函数传递该代码块的局部变量值,其输出见下文。这一切都很好,除了当我尝试使用Table为一系列参数值计算此函数时,返回值的顺序错误
代码如下。我没有包括评估所需的所有函数,因为问题一定在于我定义evaluationfun的方式,对于更高级的Mathematica用户来说,这可能是显而易见的。但是,如果需要所有函数,我很乐意添加它们
evalfun[nn_, naa_, qap_, qbp_, outvar_] :=
Block[{
我如何在mathematica中进行符号计算?我不想给任何变量赋值。我可以使用Mathematica创建一组仅由符号变量组成的方程,然后将它们组合起来,或者通过一个特定变量求解吗
如果这是好的,它几乎可以取代做数学的纸张
如果你能提供一些例子,那就太棒了。我希望问题是清楚的礼貌的建议:编辑你的帖子,包括一个你想给Mathematica的简单具体示例输入,你想让Mathematica从中创建的方程,你想让Mathematica如何组合这些方程,你想让Mathematica如何通过一个特定变量求解,
我想用solove函数来解方程组。所以我写了一行:
NSolve[{0.1==Exp[-((0.01-y)^2/(2x^2))/(Sqrt[2[Pi]]x),
0.3==Exp[-((0.04-y)^2/(2x^2))/(Sqrt[2[Pi]]x},{x,y}]
在评估之后,Mathematica给了我同样的形式,没有任何x和y的结果。你知道怎么了吗。我觉得我的语法有些问题 @比尔的观点是正确的,FindRoot通常在NSolve不成功时成功,这就是其中一种情况。但是,首先必须将[Pi]替换为P
我有一个高度振荡的函数,我需要找到区间(-Pi,Pi)中的ArgMax
当我绘制函数时,很明显FindArgMax选择了错误的最大值。我尝试过调整AccuracyGoal和PrecisionGoal,以及各种可用的方法,但这似乎没有达到要求的效果
w[SNR_] :=
RandomVariate[NormalDistribution[0, 0.5*Sqrt[2]*10^(-SNR/20)], 16] +
I RandomVariate[NormalDistribution[0, 0.5*
首先,我想为这个新手问题道歉。
我刚开始学习mathematica,我有两个简单的绘图。我要做的是让Mathematica自动找到交点,给它们贴上标签,并显示坐标。
我搜索过这个论坛,有很多类似的问题,但它们对我来说太高级了。
有人能解释一下我是如何用最简单的方法做到这一点的吗?
求等式。使用以下命令获取点的值:points={x,x^2}/。sol也同样有效。偏移标签并在epilog中设置为文本
sol = Solve[x^2 == x + 2, x];
points = {x, x + 2}
这个问题似乎太容易回答,但事实并非如此,因为我必须处理没有封闭形式的函数(或者我不知道如何找到它们)。例如,我想找到以下函数的反函数:
y==x Tan[x]
和
y==a x+b Tan[x]
到目前为止,我使用牛顿-拉普森的方法进行逆变换。它工作正常,但需要迭代。我只是想知道是否有一种方法可以证明有更好的解决方案。我试过Wolfram Mathematica来寻找解决方案,但因为我是初学者。我没有运气得到任何有意义的东西 看来这是办不到的
Solve[y == x Tan[x], x]
S
我想要一个多项式a^3-4a^2+6a-2的因子。如果我申请
Factor[a^3 - 4a^2 + 6a - 2.]
在Mathematica中,结果是:
(-0.456311 + 1. a) (4.38298 - 3.54369 a + 1. a^2)
有没有办法理解这些系数(-0.456311,4.38298,-3.54369)是如何产生的?例如,获取这些系数作为根?这
Solve[a^3 - 4 a^2 + 6 a - 2 == 0, a]
将给你作为根的系数
请注意,我删除了,因
我刚刚开始学习数学中的模式。我想知道强制mma将-1+a显示为a-1的不同方式。非常感谢 最简单的方法可能是-1+a//TraditionalForm你可能会使用这样的黑客
$PrePrint = (# /. -1 + expr__ :> Interpretation[Row[{expr, -1}], expr - 1]) &
但是(正如花环所建议的那样)如果你想让它看起来更像人类会写的东西,最好使用默认的Mathematica表达式排序并使用传统形式
(您可能还对Jens Pe
我刚刚发现了浮点数的两种输入形式之间的根本区别:
In[8]:= 1.5*^-334355//Hold//FullForm
1.5*10^-334355//Hold//FullForm
Out[8]//FullForm= Hold[1.5000000000000000000000000000000001`15.954589770191005*^-334355]
Out[9]//FullForm= Hold[Times[1.5`,Power[10,-334355]]]
这两种形式在内存和时间消耗
在Mathematica editor(即笔记本电脑)中,我经常发现的最困难的事情之一是,当我想编辑一些长表达式,并在我有机会删除右“]之前删除一些表达式的左端“[”,单元格中的代码将变得乱七八糟,因为它不再平衡,因此很难追逐现在悬空的右端“]”,因为它已不在原来的位置
这里有一个简单的例子,假设我们有
Text[Row[{PaddedForm[currentTime, {6, 3}, NumberSigns -> {"", ""}, NumberPadding -> {"0", "
SetDelayed::write:0.05[t_2;]中的标记实值受保护。>>
NDSolve::deqn:应为方程或方程列表,而不是
$在第一个参数中失败
ReplaceAll::reps:
为了便于阅读,我没有包括整个错误消息
我的代码如下:
Needs["VectorAnalysis`"]
Needs["DifferentialEquations`InterpolatingFunctionAnatomy`"];
Clear[Eq4, EvapThickFilm, h, S, G, E1,
我想让一个数学例子起作用。这是我穿的那件
我认为Mathematica在编写代码(2008年5月)后肯定已经改变了,因为我无法从中得到任何合理的东西,尽管几乎改变了一切。我是否使用ImageData而不是导入?有人能推荐一个适用于Mathematica 8的代码版本吗
imagePool =
Map[With[{i = Import[#]}, {i, Mean[Flatten[N[i[[1, 1]]], 1]]}] &,
FileNames["Pool/*.jpg"]];
cl
我想测试一个列表是否包含连续整数
consQ[a_] := Module[
{ret = True},
Do[If[i > 1 && a[[i]] != a[[i - 1]] + 1, ret = False; Break[]], {i,
1, Length[a]}]; ret]
尽管函数consQ可以完成这项工作,但我想知道是否有更好(更短、更快)的方法来完成这项工作,最好使用函数式编程风格
编辑:
上面的函数将具有递减序列的连续整数的列表映射为Fal
在玩傅立叶积分的时候,我注意到我的计算花费了很长的时间。我有两组分段函数,两个函数和两个积分。我不认为Mathematica需要花这么长时间来计算这些。尤其是什么东西使我的计算速度慢了这么多?如何提高计算时间?使用一些记忆的组合会有帮助吗(:=,对此我不太理解)
减小积分的极限有点帮助,但没有我想象的那么多
我的代码如下:
MM = 50;
qf = 10;
(*First Set*)
f[t_] = Piecewise[{{1, t <= 0.5}, {
您好,我正在Wolfram Cloud上尝试模拟数字转换器(ADC)的软版本。代码如下所示
min =0.0;
max =15.0;
val=5.0;
avg =0.0;
ans= ConstantArray[0.0,8];
i=0;
while[i<8,i=i+1;
avg = (max+min)/2;
min = If[avg<val , min , avg];
max = If[avg<val, avg, max];
Insert[ans, If[val<av
因此,我的计算结果如下:
n\[Element]整数和(n=2)
我如何解析\计算它以产生我(在本例中)2的方式,然后我可以在进一步的计算中使用它?您想要最小值,所以在解决方案上使用带约束的最小化
Minimize[{n,n \[Element] Integers &&(n<0 || n>=2) && n>0},n]
{2,{n->2}}
上一页 1 2 ...
5 6 7 8 9 10 11 ...
下一页 最后一页 共 59 页