MATLAB 反三角函数>> dot(ta,tb)/(norm(ta)*norm(tb))ans =-1.000000000000000>> acos(dot(ta,tb)/(norm(ta)*norm(tb)))ans =3.141592653589793 - 0.000000021073424i单独计算acos(-1)=pi.为什么第二个表达式的返回结果不是pi,而是一个复

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/05 00:08:59
MATLAB 反三角函数>> dot(ta,tb)/(norm(ta)*norm(tb))ans =-1.000000000000000>> acos(dot(ta,tb)/(norm(ta)*norm(tb)))ans =3.141592653589793 - 0.000000021073424i单独计算acos(-1)=pi.为什么第二个表达式的返回结果不是pi,而是一个复
xN@_KjJK)$׺@]b*Zl [iYIiL;} 6,xٸ9͜Qꐀj4zʮ8˗4UʐL /\r/2$dC?K拁;M\4%8"Hv0qp$ 5~=t%b , ,n 0&;F5\N6ϰq'FnbB `HX U>S`kFi0wxҿK'q3ggo˦ݮt5L=fLS~E/Mz{?3aσqy:戂oPՁ5S(8‡r{ `X۽!* [s^RHۊl7h)霰7

MATLAB 反三角函数>> dot(ta,tb)/(norm(ta)*norm(tb))ans =-1.000000000000000>> acos(dot(ta,tb)/(norm(ta)*norm(tb)))ans =3.141592653589793 - 0.000000021073424i单独计算acos(-1)=pi.为什么第二个表达式的返回结果不是pi,而是一个复
MATLAB 反三角函数
>> dot(ta,tb)/(norm(ta)*norm(tb))
ans =
-1.000000000000000
>> acos(dot(ta,tb)/(norm(ta)*norm(tb)))
ans =
3.141592653589793 - 0.000000021073424i
单独计算acos(-1)=pi.为什么第二个表达式的返回结果不是pi,而是一个复数?

MATLAB 反三角函数>> dot(ta,tb)/(norm(ta)*norm(tb))ans =-1.000000000000000>> acos(dot(ta,tb)/(norm(ta)*norm(tb)))ans =3.141592653589793 - 0.000000021073424i单独计算acos(-1)=pi.为什么第二个表达式的返回结果不是pi,而是一个复
数值计算是会有些误差的.
不过,既然虚部的大小只有1e-8的数量级,完全可以忽略.
如果题主有什么特殊需要,请指明.