gpt4 book ai didi

c++将 vector 规范化为 double ?

转载 作者:太空宇宙 更新时间:2023-11-03 10:41:59 25 4
gpt4 key购买 nike

我正在尝试遵循一个代数方程,并将其转换为 C++。

我坚持:

Calculate the radius as r = ||dp||

其中 dp 是一个 vector ,并且:

 dp = (dx,dy)

根据我的谷歌搜索,r = ||dp|| 中的竖线意味着我需要规范化 vector 。

我有:

std::vector<double> dpVector;
dpVector.push_back(dx);
dpVector.push_back(dy);

我应该如何对其进行规范化,以便它返回一个 double 值作为“r”?

最佳答案

||dp|| 是 vector dp 的欧氏范数。查看此链接以获得更完整的解释:

https://en.wikipedia.org/wiki/Euclidean_distance

欧氏范数计算如下:||dp|| = sqrt(dp.dp),其中 .代表点积。

在 C++ 中,这等同于 ||dp|| = std::sqrt(dx*dx + dy*dy)。如果 dp 有更多维度,你最好使用线性代数库来计算点积。

关于c++将 vector 规范化为 double ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33803718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com