Wolfram mathematica Mma中错误使用点命令时的一个问题
我知道这使用了Wolfram mathematica Mma中错误使用点命令时的一个问题,wolfram-mathematica,Wolfram Mathematica,我知道这使用了Dot命令错误。有人能给我一个明确的理由来解释上述不同的结果吗 谢谢 a.b被解释为Dot[a,b],然后变量a和b被替换,这意味着Dot[1,2],因此等式成立。这与1.2不同,其中点代表十进制分隔符,而不是dot的内联运算符 当你写1.2时,Mma理解一个数字(也称为6/5),但如果你写{1,1}.{2,2}或a.b时,Mma理解a,就像在任何使用向量的书中一样 嗯 在Hold和FullForm下查看表达式可以提供信息: In[1]:= SameQ[Dot[1, 2], 1.2
Dot
命令错误。有人能给我一个明确的理由来解释上述不同的结果吗
谢谢
a.b
被解释为Dot[a,b]
,然后变量a
和b
被替换,这意味着Dot[1,2]
,因此等式成立。这与1.2
不同,其中点代表十进制分隔符,而不是dot的内联运算符
当你写1.2
时,Mma理解一个数字(也称为6/5),但如果你写{1,1}.{2,2}或a.b
时,Mma理解a,就像在任何使用向量的书中一样
嗯 在Hold
和FullForm
下查看表达式可以提供信息:
In[1]:= SameQ[Dot[1, 2], 1.2]
TrueQ[Dot[1, 2] == 1.2]
a = 1; b = 2;
SameQ[Dot[a, b], a.b]
TrueQ[Dot[a, b] == a.b]
Out[1]= False
Out[2]= False
Out[4]= True
Out[5]= True
尝试输入时比较:
1*^6 //Hold //FullForm
进一步的信息:如果你想使用中缀点和参数像1和2,你需要添加一些空格:1。谢谢你,莫兰。真的很有帮助和广泛!
Hold[SameQ[Dot[a, b], Dot[a, b]]]
1*^6 //Hold //FullForm
a = 1;
a*^6