CSR方法构建矩阵,MATLAB代码
时间: 2024-10-25 11:13:10 浏览: 34
CSR (Compressed Sparse Row) 是稀疏矩阵的一种存储格式,在MATLAB中常用于高效处理稀疏矩阵。以下是创建和操作CSR矩阵的基本步骤,假设我们有一个稀疏系数向量`data`和行索引向量`rowInds`,列索引由行索引推断出来(因为它们是连续的):
```matlab
% 省略实际的数据生成部分,假设已经得到了data和rowInds
% 创建CSR矩阵
sparseMatrix = sparse(rowInds, ones(size(rowInds)), data); % 第二个参数是列向量全为1,因为不需要独立给出列索引
% 分析CSR矩阵,查看其结构
[rowPtr, colInd] = find(sparseMatrix);
% rowPtr是一个一维数组,包含每个行开始的位置
% colInd是对应的列索引
% 访问或修改矩阵
% 示例:获取第3行的元素
elementAtThirdRow = sparseMatrix(rowPtr(3), :);
% 或者修改某个元素,例如将第三行第一个元素设为新的值
sparseMatrix(rowPtr(3), colInd(1)) = new_value;
% 打印出整个矩阵
disp(sparseMatrix);
```
阅读全文