c语言矩阵存储,c语言写矩阵

dfnjsfkhak 47 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言矩阵存储问题,于是小编就整理了2个相关介绍c语言矩阵存储的解答,让我们一起看看吧。

  1. 稀疏矩阵的三元组表存储方法?
  2. matlab怎么在for循环中保存每一次循环得到的值并存储在矩阵中?

稀疏矩阵的三元组表存储方法

稀疏矩阵是指其中绝大多数元素为零的矩阵。由于大部分元素为零,因此用常规的二维数组存储这种矩阵会耗费大量内存空间。为了高效地存储稀疏矩阵,出现了三元组表(Triplet)存储方法。以下是三元组表存储稀疏矩阵的具体步骤:

定义三元组表:三元组表由三个一维数组组成,分别存储稀疏矩阵中的非零元素值、所在行数和所在列数。

c语言矩阵存储,c语言写矩阵-第1张图片-芜湖力博教育咨询公司
图片来源网络,侵删)

初始化三个一维数组:按照非零元素的个数创建三个一维数组,然后将稀疏矩阵中的非零元素的值、行号和列号存储到对应的数组中。其中,行号和列号数组的长度为非零元素的个数,而值数组的长度为非零元素值的总个数。

存储三元组表:将刚才初始化的三个一维数组打包存储起来,形成一个三元组表。

使用三元组表存储稀疏矩阵可以减少存储空间的浪费,提高矩阵运算的效率。同时,三元组表也适用于大部分稀疏矩阵存储的情况。

c语言矩阵存储,c语言写矩阵-第2张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

matlab怎么在for循环保存每一次循环得到的值并存储在矩阵中?

在for循环中保存每一次循环得到的值并存储在矩阵中可以使用矩阵索引的方式来实现,具体步骤如下

1.先定义一个空矩阵,预先分配好长度和类型

result=zeros(1,n);

c语言矩阵存储,c语言写矩阵-第3张图片-芜湖力博教育咨询公司
(图片来源网络,侵删)

其中,n为预计循环次数。

2.在for循环中,利用变量来存储每一次循环得到的值:

for i=1:n

value=do_something();

end

3.将得到的值存储到矩阵中,可以使用下标索引的方式:

result(i)=value;

到此,以上就是小编对于c语言矩阵存储的问题就介绍到这了,希望介绍关于c语言矩阵存储的2点解答对大家有用

标签: 矩阵 三元 存储