对 vector 求绝对值的函数
时间: 2023-11-21 16:03:59 浏览: 124
对一个 vector 求绝对值,可以使用以下的函数:
```c++
#include <vector>
#include <cmath>
std::vector<double> abs_vector(const std::vector<double>& vec) {
std::vector<double> result;
result.reserve(vec.size());
for (auto x : vec) {
result.push_back(std::abs(x));
}
return result;
}
```
该函数接受一个 double 类型的 vector,遍历其中的元素,对每个元素取绝对值,并将结果存入一个新的 vector 中返回。
相关问题
C++有一列vector,如何生成另一列vector,由这一列vector的元素的绝对值构成
要生成一个新的列 vector,其中包含原始 vector 中元素的绝对值,你可以使用 C++ 标准库中的 `abs()` 函数来计算绝对值。
以下是一个示例代码,展示了如何将一个 vector 中的元素的绝对值存储到另一个 vector 中:
```cpp
#include <iostream>
#include <vector>
#include <cmath>
int main() {
std::vector<int> originalVector = { -3, 6, -9, 12, -15 };
std::vector<int> absoluteVector;
for (int num : originalVector) {
int absoluteValue = std::abs(num);
absoluteVector.push_back(absoluteValue);
}
// 打印原始 vector 中的元素
std::cout << "原始 vector 中的元素:";
for (int num : originalVector) {
std::cout << num << " ";
}
std::cout << std::endl;
// 打印新生成的 vector 中的元素
std::cout << "新生成的 vector 中的元素:";
for (int num : absoluteVector) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
```
在这个示例中,我们首先定义了一个名为 `originalVector` 的 vector,其中包含一些整数。然后,我们创建了一个名为 `absoluteVector` 的新 vector。
使用 `for` 循环遍历 `originalVector` 中的每个元素,使用 `std::abs()` 函数计算绝对值,并将结果存储到 `absoluteVector` 中。
最后,我们分别打印了原始 vector 和新生成的 vector 中的元素。
运行示例代码,输出将会是:
```
原始 vector 中的元素:-3 6 -9 12 -15
新生成的 vector 中的元素:3 6 9 12 15
```
如上所示,新生成的 `absoluteVector` 包含了原始 vector 中元素的绝对值。
希望这个示例对你有所帮助!如果还有其他问题,请随时提问。
matlab怎么取绝对值
在MATLAB中,取绝对值的操作非常简单,你可以使用内置的`abs`函数来完成。`abs`函数接受一个或多个数值作为输入,返回它们的绝对值。例如:
```matlab
% 如果你有一个数值变量
x = -5; % 这里是一个负数例子
y = 3.14; % 这里是一个正数例子
% 取绝对值
x_abs = abs(x); % x_abs 的值现在是 5
y_abs = abs(y); % y_abs 的值保持为 3.14,因为正数本身就是其绝对值
% 如果你有一列或矩阵的值
vector = [-2, 4, -7, 0];
vector_abs = abs(vector); % vector_abs 将是一个所有元素都是非负的数组
```