matlab求解稀疏矩阵
稀疏矩阵介绍稀疏矩阵阶矩阵, 的存储空间, 对于一个 n 阶矩阵,通常需要 n2 的存储空间,当 n 很 大时,进行矩阵运算时会占用大量的内存空间和运算时间。 大时,进行矩阵运算时会占用大量的内存空间和运算时间。 在许多实际问题中遇到的大规模矩阵中通常含有大量0元 在许多实际问题中遇到的大规模矩阵中通常含有大量 元 稀疏矩阵。 这样的矩阵称为稀疏矩阵 素,这样的矩阵称为稀疏矩阵。 Matlab支持稀疏矩阵,只存储矩阵的非零元素,这在矩阵 支持稀疏矩阵,只存储矩阵的非零元素, 支持稀疏矩阵 的存储空间和计算时间上都有很大的优点。 的存储空间和计算时间上都有很大的优点。 稀疏矩阵及其算法,就是不存储那些“ ”元素, 稀疏矩阵及其算法,就是不存储那些“0”元素,也不对它 内存空间和 们进行操作,从而节省内存空间 计算时间; 们进行操作 , 从而节省 内存空间 和 计算时间 ; 稀疏矩阵计算 的复杂性和代价仅仅取决于稀疏矩阵的非零元素的个数 非零元素的个数。 的复杂性和代价仅仅取决于稀疏矩阵的非零元素的个数。
稀疏矩阵介绍稀疏矩阵的存储中有两种存储矩阵的方式: 在Matlab中有两种存储矩阵的方式:全元素存储(满矩 中有两种存储矩阵的方式 全元素存储( 和稀疏存储(稀疏矩阵) 阵)和稀疏存储(稀疏矩阵)。 稀疏存储:Matlab仅存储那些非零元素及其下标。 仅存储那些非零元素及其下标。 稀疏存储: 仅存储那些非零元素及其下标 个非零元素, 需要三个数 设一个稀疏矩阵有 nnz 个非零元素,Matlab需要三个数 需要 存储实型的稀疏矩阵,第一个数组存储所有的非零元素, 组存储实型的稀疏矩阵,第一个数组存储所有的非零元素, 这个数组的长度为 nnz,第二个数组存储非零元素所对应 , 的行标,长度也是 nnz,第三个数组存储指向每一列开始 的行标, , 的指针, 的指针,这个数组的长度为 n。 。
稀疏矩阵介绍创建稀疏矩阵稀疏矩阵的创建需要用户来决定。 稀疏矩阵的创建需要用户来决定。用户需要判断在矩阵 中是否有大量的零元素,是否需要采用稀疏存储技术。 中是否有大量的零元素,是否需要采用稀疏存储技术。 如果某个矩阵以稀疏方式存储,则它参与运算的结果也将 如果某个矩阵以稀疏方式存储, 以稀疏方式存储,除非运算本身是稀疏性消失。 以稀疏方式存储,除非运算本身是稀疏性消失。 矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总 矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总 密度 的元素个数。对于低密度的矩阵, 的元素个数。对于低密度的
矩阵,采用稀疏方式存储是一 种很好的选择。 种很好的选择。
稀疏矩阵介绍满矩阵与稀疏矩阵之间的转化S=sparse(A) A=full(S) 例: A=[0 0 5 0; 3 0 3 0 ; 0 0 0 1; 0 4 3 0] S=sparse(A) whos
稀疏矩阵介绍直接创建稀疏矩阵S=sparse(i,j,s,m,n) 其中i 分别是矩阵非零元素的行和列指标向量, 行和列指标向量 其中 和j 分别是矩阵非零元素的行和列指标向量,s 是 非零元素值向量 向量, , 分别是矩阵的行数和列数。 非零元素值向量,m,n 分别是矩阵的行数和列数。 例: S2=sparse([1 2 2 3 4 4],[3 1 3 4 2 3],... [5 3 3 1 4 3],4,4)
稀疏矩阵介绍从文件中创建稀疏矩阵利用load和spconvert函数可以从包含一系列下标和非 和 函数可以从包含一系列下标和非 利用 函数可以从 零元素的文本文件中输入稀疏矩阵 中输入稀疏矩阵。 零元素的文本文件中输入稀疏矩阵。 例:设文本文件 T.txt 中有三列内容,第一列是一些行下标, 中有三列内容,第一列是一些行下标, 第二列是列下标,第三列是非零元素值。 第二列是列下标,第三列是非零元素值。 1 2 2 3 4 4 3 1 3 4 2 3 5 3 3 1 4 3 load T.txt S=spconvert(T)
稀疏矩阵介绍稀疏带状矩阵的创建S=spdiags(B,d,m,n) 其中m 分别是矩阵的行数和列数; 是长度为 是长度为p的整数向 其中 和n 分别是矩阵的行数和列数;d是长度为 的整数向 它指定矩阵S的对角线位置 的对角线位置; 是全元素矩阵 是全元素矩阵, 量,它指定矩阵 的对角线位置;B是全元素矩阵,用来给定 S对角线位置上的元素,行数为 对角线位置上的元素, 对角线位置上的元素 行数为min(m,n),列数为 。 ,列数为p 例: B=rand(4,2); S3=spdiags(B,[0 1],4,4)
稀疏矩阵介绍其它稀疏矩阵创建函数S=speye(m,n) S=speye(size(A)) % has the same size as A R=sprand(S) % R has the same sparsity structure as S S=sprand(m,n,density) % random, m-by-n, sparse matrix with % approximately density*m*n uniformly % distributed nonzero entries S=buchy % 一个内置的稀疏矩阵(邻接矩阵) 一个内置的稀疏矩阵(邻接矩阵)
稀疏矩阵介绍稀疏矩阵的查看通常的存储信息 whos 非零元素信息。 非零元素信息。 nnz(S) % 返回非零元素的个数 nonzeros(S) % 返回列向量,包含所有的非零元素 返回列向量, nzmax(S) % 返回分配给稀疏矩阵中非零项的总的存储 空间 查看稀疏矩阵的形状 spy(S)
稀疏矩阵介绍find函数与稀疏矩阵 函数与稀疏矩阵[i,j,s]=find(S) [i,j]=find(S) 返回 S 中所有非零元素的下标和数值,S 可以是稀疏矩阵 中所有非零元素的下标和数值, 或满矩阵。 或满矩阵。
稀疏矩阵介绍稀疏矩阵的运算Matlab中对满矩阵的运算和函数同样可用在稀疏矩阵中。 中对满矩阵的运算和函数同样可
用在稀疏矩阵中。 中对满矩阵的运算和函数同样可用在稀疏矩阵中 结果是稀疏矩阵还是满矩阵,取决于运算符或者函数 运算符或者函数及下 结果是稀疏矩阵还是满矩阵,取决于运算符或者函数及下 列几个原则: 列几个原则: 当函数用一个矩阵作为输入参数,输出参数为一个标量 当函数用一个矩阵作为输入参数,输出参数为一个标量 矩阵作为输入参数 参数为一个 或者一个给定大小的向量 向量时 或者一个给定大小的向量时,输出参数的格式总是返回一 满矩阵形式 形式, 个满矩阵形式,如命令 size 等。 当函数用一个标量或者一个向量作为输入参数,输出参 当函数用一个标量或者一个向量作为输入参数,输出参 一个标量或者一个向量作为输入参数 矩阵时 输出参数的格式也总是返回一个满矩阵 满矩阵, 数为一个矩阵 数为一个矩阵时,输出参数的格式也总是返回一个满矩阵, 如命令eye rand等 eye, 如命令eye,rand等。还有一些特殊的命令可以得到稀疏矩 如命令speye sprand等 speye, 阵,如命令speye,sprand等。
稀疏矩阵运算对于单参数的其他函数来说,通常返回的结果和参数的形 对于单参数的其他函数来说,通常返回的结果和参数的形 单参数的其他函数来说 式是一样的 diag、 。(sparse full是例外 sparse和 是例外) 式是一样的,如 diag、max 等。(sparse和full是例外) 对于双参数的运算或者函数来说,如果两个参数的形式一样, 对于双参数的运算或者函数来说,如果两个参数的形式一样, 双参数的运算或者函数来说 那么也返回同样形式的结果。在两个参数形式不一样的情况下, 那么也返回同样形式的结果。在两个参数形式不一样的情况下, 除非运算的需要,均以满矩阵的形式给出结果。 满矩阵的形式给出结果 除非运算的需要,均以满矩阵的形式给出结果。
例: A=eye(4); B=speye(4); S1=A+B; S2=A*B; S3=A\B; S4=A.*B; whos
稀疏矩阵运算在赋值语句的右侧的子矩阵索引保留参数的存储形式, 在赋值语句的右侧的子矩阵索引保留参数的存储形式,即: 是稀疏矩阵, 是向量或标量, 对于 T=S(i,j),若 S 是稀疏矩阵, …… 此处隐藏:2424字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [幼儿教育]【完整版】2019-2025年中国药物发现外
- [幼儿教育]2018-2019年初中信息技术广东初一竞赛
- [幼儿教育]最新外研版(一起)小学英语五年级上册《
- [幼儿教育]农业推广与创新管理专业 -中农大毕业论
- [幼儿教育]2017-2022年中国更年期用药行业市场深
- [幼儿教育]数学1.1.2第1课时棱柱、棱锥和棱台的结
- [幼儿教育]二年级群文阅读课例欣赏
- [幼儿教育]2010-2015年中国保险行业投资分析及深
- [幼儿教育]厄运打不垮的信念第一课时
- [幼儿教育]巧用文本,让表达在言语中绽放论文
- [幼儿教育]中学生百科知识竞赛题及答案
- [幼儿教育]八大菜系英文简介
- [幼儿教育]中国男装牛仔裤市场发展研究及投资前景
- [幼儿教育]远程数字视频监控系统在银行的应用
- [幼儿教育]光纤光缆制造工艺及设备
- [幼儿教育]国家安全法试题及答案
- [幼儿教育]2011高中提前招生及竞赛试题(物理卷1)
- [幼儿教育]宁夏第三产业房地产业、科学研究和技术
- [幼儿教育]中兴通讯 ME3000模块用户硬件设计手册_
- [幼儿教育]紫外线灯管的辐照强度问题
- 苏联东欧剧变的原因和历史教训浅析
- 人工智能导论实验报告(学生)
- 思科ITE章考试原题及答案
- 《学习雷锋好榜样》主题班会教案
- 加油站建设项目安全评价报告
- 剖析社保卡管理系统
- 2017-2018年影视剧新媒体版权运营行业
- 2017-2018学年四川省成都市高一上学期
- 2019最新高中数学 第三章 3.2.1 几类不
- 2011-2015年中国基酸市场调查及行业前
- 人教版新课标选修八Unit 1 课件Warming
- 郭溪燎原小学辅导学生记录表
- 教师资格证统考综合素质写作秘笈
- 国外校园绿色建筑研究方向与建设实践
- 15.1 动物运动的方式 课件(北师大版八
- 民用飞机空调系统
- 长安侠文化传统与唐诗的任侠主题
- 《中国近现代史纲要》名词解释
- 11金本《保险学概论》复习资料
- 民用建筑机电安装工程专业施工图图纸会




