循环赋值函数时缺少赋值的问题
mathematica吧
全部回复
仅看楼主
level 3
轰天雷sss 楼主
\[CapitalXi] = \[CapitalXi]r + I \[CapitalXi]i;
\[CapitalLambda] = -0.2 I ;
H = ( {
{Sqrt[2] I (1 + \[CapitalLambda]) , -1, 0},
{-1, I \[CapitalXi], -1},
{0, -1, -Sqrt[2] I (1 + \[CapitalLambda])}
} );
Do[Print[\[CapitalXi]r, \[CapitalXi]i,
Eigenvalues[H]]; \[Lambda][\[CapitalXi]r, \[CapitalXi]i] =
Eigenvalues[H], {\[CapitalXi]r, -0.5, 0.5,
0.1}, {\[CapitalXi]i, -0.5, 0.5, 0.1}]
\[Lambda][0.1, 0.1]
代码见上,对\[Lambda][\[CapitalXi]r, \[CapitalXi]i]进行循环赋值时,自变量为{0.1,0.1}的位置也是可以看到本征值的,但是\[Lambda][0.1,0.1]却没有被赋值,很多点被成功赋值了,偶然发现一些点没有值,请知道的大佬解答一下,感激不尽
PS:如果有一系列四维坐标点的列表{{x1,x2,x3,x4},...},如何画图可以让{x1,x2,x3}表示三维图中的点,x4的大小表示点的颜色,有大佬知道的话可以顺便说一下,谢谢!
2022年10月18日 14点10分 1
吧务
level 10
你要的值实际上存在于0.10000000000000009处。
这个误差在Range中也存在,有这么大误差我也挺意外的。
要避免这个问题,考虑使用1/10这样的精确数。
2022年10月18日 15点10分 2
也算比较常见的问题了(但我一时搜不出相关帖子……),所以这种需要用坐标做“索引”的场合一般都是用准确数,或者任意精度数。
2022年11月05日 03点11分
吧务
level 15
翻了半天可算翻到了几个:
Strange behavior when defining a symbol/function pointwise
mathematica.stackexchange.com/q/85059/1871
MemberQ not working?
mathematica.stackexchange.com/q/153201/1871
Strange behavior of MemberQ, Position
mathematica.stackexchange.com/q/55109/1871
Position function not always returning an answer even with no apparent problems
mathematica.stackexchange.com/q/15907/1871
Can Someone Please Explain Internal`$SameQTolerance?
mathematica.stackexchange.com/q/86815/1871
你猜1.001`2 /. (1.002`2 -> a)会返回啥?
tieba.baidu.com/p/7433595017
2022年11月05日 05点11分 3
1