Octave c++接口:从矢量复制数据
Octave c++ interface: copy data from vector
我将数据存储在一个向量中,我想将其传递到倍频程中进行处理,但我不确定最有效的方法。使用matlab mwArray,我会做一些类似的事情:
vector<float> vec(100, 0.0);
mwArray data_mw(1, 100, mxSINGLE_CLASS);
data_mw.SetData(vec.data(), vec.size());
我想要的是一种类似的将数据转换为八度音阶的方法(我假设是通过FloatMatrix)。有人能给我指正确的方向吗?
在即将发布的4.2版本中将有一个构造函数。当它发布时,您将能够执行:
Array<T> a (your_std_vector, dim_vector (1, 100));
同时,您可以拥有自己的功能:
template<typename T>
Array<T>
array_from_vector (const std::vector<T>& v, const dim_vector& dv)
{
Array<T> a (dv);
const T* vd = v.data ();
T* ad = a.fortran_vec ();
for (octave_idx_type i = 0; i < a.numel (); i++)
*ad++ = *vd++;
return a;
}
相关文章:
- 在 C++ AMP 数组中复制数据多少次?
- 字符串是否在其构造函数中复制数据
- 在不复制数据的情况下,将double数组转换为只有double成员的structs数组
- 有没有一种方法可以在不复制数据的情况下从string_view创建字符串流
- 如何在不复制数据的情况下将 cv::Mat 转换为 2d 标准::矢量
- C++ 在节点内存储对数据对象的引用,而不复制数据
- 是否可以在不分配内存或复制数据的情况下构造对象?
- 如何在不复制数据的情况下在平面数组和多维数组之间进行转换?
- C 2D char阵列有时会在随机位置复制数据
- 在不复制数据的情况下更改 opencv mat 中的列顺序
- 有没有办法将 EGL 绘制到 /dev/fb1 而不是 /dev/fb0,而无需在树莓派上复制数据
- 使用C 和目标C从原始图像中复制数据
- 给定 myvector.start() 和 myvector.end(),我想在不复制数据的情况下创建 myvector
- 复制数据时出现奇怪错误
- 如何在 C/C++ 中从数组末尾开始复制数据
- glTexImage2D 复制数据或仅指定数据
- 如何在C++中从void指针复制数据
- 在不复制数据的情况下将OpenCV Mat发送到MATLAB工作区的方法
- 如何使用 GPU-DMA 从 GPU-CUDA 代码来复制数据
- 在矢量到矢量中复制数据<float> <Mat> (Opencv/C++)