任意c++ /C等效函数在MATLAB中具有稀疏性
Any C++/C equivalent function with sparse in MATLAB
我尝试将m
代码移植到c
或cpp
。
在我的代码中有一行
A = sparse(I,J,IA,nR,nC);
将行索引I
、col索引J
和数据IA
转换为大小为nR x nC
的稀疏矩阵A
。
是否有c++或C的等效代码?
在完整矩阵中复制结果的naïve算法是
double *A;
A = malloc(sizeof(double)*nR*nC);
memset(A, 0, sizeof(double));
for(k=0; k<size_of_IA; k++)
A[I[k]*nC + J[k]] += IA[k];
注意,如果存在公共索引,该值不会被覆盖,而是累计。
Eigen是一个包含稀疏矩阵的c++数学矩阵库的例子。它重载操作符,使其感觉像是一个内置的功能。
有许多C和c++矩阵库。没有作为std
的一部分发布,也没有内置任何内容。
写一个好的稀疏矩阵库是相当困难的;最好的办法是找一份事先写好的。推荐问题离题
相关文章:
- 在C++STL中是否有Polyval(Matlab函数)等价物?
- 有可能在Armadillo中复制MATLAB circshift方法吗
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- MATLAB to C++: csvread() not supported by MATLAB Coder
- 加载由 MATLAB Coder 生成的带有函数的 DLL,该函数调用外部函数
- MATLAB:跟踪imufilter对象中的状态变化
- 如何将 c++ 中的客户端 TCP 的替身列表发送到 Matlab 中的 TCP 服务器?
- 将三角函数的正确值与matlab进行比较
- 连接 MATLAB 和 Visual Studios 的问题
- 如何将C++连接到 Matlab
- 如何发送 Mat H=findHomography 返回 Matlab
- 如何在C++中编写 MATLAB fix(X) 函数?
- 提供变量作为 MATLAB 系统命令的输入参数,以便C++可执行文件
- 有没有更好的方法可以使用特征/C++实现 matlab 的逻辑索引?
- 当我运行MEX文件时,MATLAB崩溃
- 从 MATLAB 到 C++:相当于带有选项 'remove' 的 bwmorph
- MATLAB的imfinfo in openCV
- 将C++中的多个参数传递给MatLab共享库函数
- 将 matlab 数组(MAT-文件)转换为C++数组
- 数组数据以错误的方式遍历 Python/Matlab