Vector mathematica中向量机在其他向量中的辅助

Vector mathematica中向量机在其他向量中的辅助,vector,wolfram-mathematica,variable-assignment,Vector,Wolfram Mathematica,Variable Assignment,如果我有这些向量,让我们说 d = {34, {e[1] -> 2, e[2] -> 3, e[3] -> 44}} s = {e[1], e[2], e[3]} 为什么这种替代不起作用 s /. d[[2]] 或者换句话说,我如何在向量e中分配向量d[[2]]的这些值 谢谢您的帮助。以下是您的要求: {e[1],e[2],e[3]}/. {e[1]->2,e[2]->3,e[3]->44} 以下是您得到的: {2,3,44} 这正是您所要求的:使

如果我有这些向量,让我们说

d = {34, {e[1] -> 2, e[2] -> 3, e[3] -> 44}}

s = {e[1], e[2], e[3]}
为什么这种替代不起作用

s /. d[[2]]
或者换句话说,我如何在向量
e
中分配向量
d[[2]]
的这些值


谢谢您的帮助。

以下是您的要求:

 {e[1],e[2],e[3]}/. {e[1]->2,e[2]->3,e[3]->44}
以下是您得到的:

{2,3,44}
这正是您所要求的:使用
ReplaceAll
将这三个变量中的每一个替换为规则中指定的值。您说您希望设置这些变量的值,但避免这样的设置正是您采取的方法的目的。要改为设置值,您可以

d[[2]] /. {Rule -> Set}

但是请注意,如果这样做,您将丢失
d
中的变量。

替换不起作用是什么意思?当您显示的最后一行被执行时,Mathematica返回
{2,3,44}
,这正是我所期望的。你预计会发生什么?@高性能标记当我写e[1]或e[2]时,它们没有我预期的值2和值3。你显示的代码没有为
e[1]
等设置值,你的预期很奇怪。我想你需要回到你最喜欢的Mathematica教程的前几章,阅读关于
Set
SetDelayed
规则
和相关事项的内容。@High Performance Mark,你想说你知道很多吗??你现在感觉好多了哈@谢谢你,艾伦