为了简单起见,请问用以下 Python 代码在 C++ 中编写以下代码的最佳方法是什么
import numpy as np
X = np.array([1,2,3,...])
Y = np.array([10,11,12,...])
def funct(X,Y):
return 0.5 * X + 0.5 * 3 * Y
Run Code Online (Sandbox Code Playgroud)
或者,在没有 Python 的情况下进行解释,有没有办法:
#include <vector>
std::vector<double> Z {};
std::vector<double> X {1,2,3,4};
std::vector<double> Y {5,6,7,8};
Z = 0.5 * X + 0.5 * 3 * Y; // something like this
Run Code Online (Sandbox Code Playgroud)
也许valarray
是你需要的:
#include <iostream>
#include <valarray>
int main() {
std::valarray<double> Z {};
std::valarray<double> X {1,2,3,4};
std::valarray<double> Y {5,6,7,8};
Z = 0.5 * X + 0.5 * 3 * Y;
for(auto v : Z) std::cout << v << '\n';
}
Run Code Online (Sandbox Code Playgroud)
输出
8
10
12
14
Run Code Online (Sandbox Code Playgroud)
请注意std::valarray
:“当两个参数是大小不同的 valarray 时,行为未定义。 ”
归档时间: |
|
查看次数: |
83 次 |
最近记录: |