MATLAB中的一些结果看起来很奇怪,
我得到一个数字向量,如下所示:
0.2104 + 0.0000i
0.8404 + 0.0000i
0.2564 + 0.0000i
...如何将这些数据转换为一组正常的数字?
我正在完成最大似然估计并记录p值。
下面是我的5000个数字中的一个更长的列表
0.210375413 0.210375412872214 + 0.00000000000000i
0.053300966 0.0533009655998162 + 0.00000000000000i
0.569707287 0.569707286911292 + 0.00000000000000i
0.789479544 0.789479543799722 + 0.00000000000000i
0.792401416 0.792401416159656 + 0.00000000000000i
0.449510767 0.449510766546419 + 0.00000000000000i
0.967223276 0.967223275937553 + 0.00000000000000i
0.365126323 0.365126322610076 + 0.00000000000000i
0.572278247 0.572278247118208 + 0.00000000000000i
0.462192501 0.462192500844107 + 0.00000000000000i
0.891594566 0.891594565688343 + 0.00000000000000i
0.509256161 0.509256160918297 + 0.00000000000000i
0.195843938 0.195843938121061 + 0.00000000000000i
0.446937982 0.446937981596096 + 0.00000000000000i
0.715944643 0.715944642525015 + 0.00000000000000i
0.041095144 0.0410951439103705 + 0.00000000000000i
0.565493597 0.565493596672335 + 0.00000000000000i
0.110642354 0.110642353871931 + 0.00000000000000i
0.538977891 0.538977891429440 + 0.00000000000000i
0.633743323 0.633743322903976 + 0.00000000000000i
0.573735606 0.573735606007466 + 0.00000000000000i
0.776896023 0.776896022759461 + 0.00000000000000i
0.685299218 0.685299218035155 + 0.00000000000000i
0.273675891 0.273675891163331 + 0.00000000000000i
0.713439449 0.713439449399772 + 0.00000000000000i
0.778393872 0.778393872231057 + 0.00000000000000i
0.291038278 0.291038277535648 + 0.00000000000000i
1 0.999999999954056 - 750325.850663069i
0.884944383 0.884944383017724 + 0.00000000000000i
0.202998566 0.202998565584345 + 0.00000000000000i在整个5000个数字中,只有一个数字0.999999999954056 - 750325.850663069i似乎是关闭的。我可以忽略那里的虚构部分吗?
发布于 2019-10-08 21:35:57
您将获得complex numbers。我假设你想要实数。您可以使用函数real()来完成此操作。real()将捕获复数的“实数”部分,即由实数和虚数部分组成的数字,如real+imaginary,通常虚数部分被标记为i,因此您不会认为它是一个和。
但是,请注意:如果这是某些计算的输出,则您所做的数学运算很可能会产生虚数/复数(例如,sqrt(-1)结果为1i或仅为i)。由于您缺乏复数是什么的知识,并且对找到复数感到惊讶,我怀疑导致这些结果的数学不应该返回复数,并且很可能您的代码中存在错误。
https://stackoverflow.com/questions/58287413
复制相似问题