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