gpt4 book ai didi

c++ - 如何在 C++ 中编写 MATLAB fix(X) 函数?

转载 作者:行者123 更新时间:2023-11-27 22:32:34 27 4
gpt4 key购买 nike

基本上我想用 C++ 代码重新创建一个 MATLAB 脚本,我注意到该脚本使用了一个 fix(X) 函数,该函数对 X 的每个元素进行舍入> 到最接近零的整数。非常感谢任何关于初学者应该如何开始的建议!

例如:

X = [-1.9 -3.4; 1.6 2.5; -4.5 4.5]

X =
-1.9000 -3.4000
1.6000 2.5000
-4.5000 4.5000

Y = fix(X)

Y =
-1 -3
1 2
-4 4

最佳答案

假设Xstd::vector<double> ,你可以这样做:

std::transform(
X.begin,
X.end(),
X.begin(),
[](auto& elem) { elem = static_cast<int>(elem); }
);

编辑:正如@walnut 所指出的,您需要记住 int可能溢出。 std::trunc , 是一个更安全的选择。

对于通用的 2D/3D 数组,不建议使用 std::vectorstd::vector s,你应该试试 Eigen 图书馆。它提供了与 Matlab 类似的 API。

关于c++ - 如何在 C++ 中编写 MATLAB fix(X) 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59130403/

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