稀疏矩阵与恶意代码分析实战
7.1稀疏矩阵我们在第二章中已经学过了普通的MATLAB数组。当一个普通的数组被声明后,MATLAB将会为每一个数组元素分配内存。例如函数a = eye(10)要创建了100个元素,按10×10的结构分配,对角线上的元素均为1,其余的元素为0。注意这些数组其中的90个元素为0。这个包含有一百个元素的矩阵,只有10个元素包含非零值。这是稀疏矩阵或稀疏数组的一个例子。稀疏矩阵是指一个很大的矩阵,且大多数的元素为0。
a=2*eye(10)
a =
2 0 0 0 0 0 0 0 0 0
0 2 0 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0 0
0 0 0 2 0 0 0 0 0 0
0 0 0 0 2 0 0 0 0 0
0 0 0 0 0 2 0 0 0 0
0 0 0 0 0 0 2 0 0 0
0 0 0 0 0 0 0 2 0 0
0 0 0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0 0 2
现在假如我们要创建一个10×10的矩阵,定义如下
b =
1 0 0 2 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 0 0 0 1
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 2 0
0 0 0 0 0 0 0 0 0 3
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
若a,b两矩阵相乘得到的结果为
c = a * b
c =
2 0 0 4 0 0 0 0 0 0
0 0 0 0 0 2 0 0 0 0
0 0 0 0 0 0 0 0 0 2
0 0 0 0 2 0 0 0 0 0
0 0 0 0 0 0 0 2 0 0
0 0 0 0 0 0 0 0 4 0
0 0 0 0 0 0 0 0 0 6
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0
对于MATLAB中的稀疏矩阵运算,如果你还想深入了解更多细节,可以参考一些优秀的资源。查看稀疏矩阵的运算来了解更多关于稀疏矩阵的计算方法,或阅读MATLAB稀疏矩阵与普通矩阵以掌握它们之间的区别。如果你对稀疏矩阵的乘法感兴趣,稀疏矩阵乘法matlab会是一个不错的选择。而稀疏矩阵加减乘运算则提供了更全面的操作实例,值得一读!
这样,你可以进一步理解和掌握稀疏矩阵在MATLAB中的强大功能。稀疏矩阵的世界,等待你的探索!