sqrt(1./x)和sqrt(1.0/x)得到的结果不同 matlab
2024-01-10 14:36:39
?
原因(from chatgpt):
?
MATLAB中的两个表达式 sqrt(1.0/lamda)
和 sqrt(1./lamda)
的区别在于它们如何处理数组和数据类型。
-
sqrt(1.0/lamda)
:- 这里的
1.0
被视为一个标量的双精度浮点数。 - 当执行
1.0/lamda
时,MATLAB会隐式地将lamda
数组中的每个元素除以1.0
,这会导致相同的值。 - 然后,它计算结果的平方根。
- 由于您正在计算一个恒定标量的平方根,因此除了发生除以零的情况外,结果对所有元素都相同,都为
0
。
- 这里的
-
sqrt(1./lamda)
:- 这里的
1./lamda
是逐元素的除法。 - MATLAB会将
lamda
中的每个元素除以相应的lamda
中的元素。 - 然后,它单独计算每个元素的平方根。
- 结果是一个平方根数组,其中每个元素对应于
lamda
中相应元素的倒数的平方根。
- 这里的
所以,关键的区别在于 MATLAB 如何处理 1.0/lamda
(标量除法)与 1./lamda
(逐元素除法)。在大多数情况下,当您打算对数组执行逐元素操作时,应使用 1./lamda
。
其实还是不太理解。。。?
文章来源:https://blog.csdn.net/zhangjipinggom/article/details/135500571
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!