c++ - 将 Matlab 数组移植到 C/C++

标签 c++ c matlab multidimensional-array

我正在将一个 matlab 程序移植到 C/C++。我有几个问题,但最重要的问题之一在这里:Matlab treats arrays with any dimension same。假设我们有这样一个函数,

function result = f(A, B, C)
result = A + 2 * B + C;

ABC 可以是任意维度/大小的数组。我不是 C/C++ 专业人士,但我想这在 C 中并不是一项简单而干净的工作。一个想法是使用 void 指针将数组传递给函数。那我应该如何处理维度和数组操作(+/*)? 另一个想法是使用 C++ 类。我也许可以编写一个模板类,其中包含所有必需的数组操作,例如 (*、+、<<、>>、...)。但我相信这将是一项令人筋疲力尽的工作。有人有更好的主意吗?任何支持 + 和 * 运算符的简单/多维/单个头文件/开源数组类?

最佳答案

您可以查看 boost::ublas 库。它支持 vector 、矩阵、线性代数等。

关于c++ - 将 Matlab 数组移植到 C/C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6578498/

相关文章:

c++ - 处理大量接口(interface)实现的正确方法是什么?

c++ - 将类对象传递给两个对象

c++ - munmap、mmap的作用是什么

c++ - 为什么 printf 不格式化 unicode 参数?

Matlab 列到行,同时匹配原始行

matlab - 如何使用 MATLAB 计算图像中的人数?

c++ - C++中的多维数组排序

c++ - 标准容器封装和基于范围的 for 循环

c - 是否有可能在 c 中有一个数组 union

matlab - MatLab:胆碱必须是正定的