matlab 稀疏矩阵调用,matlab 稀疏矩阵
MATLAB的矩阵有两种存储方式,完全存储方式和稀疏存储方式 1.完全存储方式 将矩阵的全部元素按列存储,矩阵中的全部零元素也存储到矩阵中。 2.稀疏存储方式 仅存储矩阵所有的非零元素的值及其位置,即行号和列号,显然这对于具有大量零元素的稀疏矩阵来说是十分有效的。 设 1 0 0 0 A= 0 5 0 0 2 0 0 7 是具有稀疏矩阵特征的矩阵,其完全存储方式是按列存储的全部12个元素 1,0,2,0,5,0,0,0,0,0,0,7 其稀疏存储方式如下: (1,1),1,(3,1),2,(2,2),5,(3,4),7 括号内为元素的行列位置,后面为元素值。 当矩阵非常的“稀疏”时,会有效的节省存储空间。 1.1.2稀疏存储方式的产生 1.将完全存储方式转化为稀疏存储方式 A=sparse(S);将S矩阵转换为稀疏矩阵A; sparse(m,n);产生m*n的所有元素都为0的稀疏矩阵 sparse(u,v,S);S为建立系数矩阵的非零元素,u(i),v(i)分别为S(i)的行和列下标,S,u,v为等长向量。 [u,v,S]=find(A);返回矩阵A中非零元素的下标和元素,返回值可以作为sparse(u,v,S);的参数 full(A);返回和稀疏存储方式A对应的完全存储方式。 例如 X=[2,0,0,0,0;0,0,0,0,0;0,0,0,5,0;0,1,0,0,-1;0,0,0,0,-5] A=sparse(X) A= (1,1) 2 (4,2) 1 (3,4) 5 (4,5) -1 (5,5) -5 A就是X的稀疏存储方式。 2.产生稀疏存储矩阵 sparse可以讲完全存储方式转换为稀疏存储方式,那么,当使用稀疏矩阵时,要先产生完全存储方式的矩阵,然后再转换,这显然是不可取的,MATLAB有自己产生稀疏矩阵的函数spconvert: B=spconvert(A);A为一个m*3或m*4的矩阵,A的每一列的意 义分别为: (i,1)第i非零元素所在行 (i,2)第i非零元素所在列 (i,3)第i非零元素的实部 (i,4)第i非零元素的虚部 3.带状稀疏存储矩阵 举个例子: 是一个具有稀疏性质的带状矩阵。 首先,找出矩阵的特征数据: B为三条对角线元素,d为对角线号,-3为主对角线下第三条,0为主对角线,3为主对角线上第三条。 可以利用spdiags产生稀疏矩阵 A=spdiags(B,d,5,6); 也就是spdiags的调用格式 A=spdiags(B,d,m,n); B为r*p阶矩阵,r=min(m,n),p为原带状矩阵中所有非零对角线的条数,B的第i列即为原带状矩阵的第i条非零对角线。 spdiags的其他调用格式: [B.d]=spdiags(A);从原带状矩阵提取全部对角线元素赋给B并把对角线位置赋给d; B=spdiags(A,d);从带状矩阵中提取由d指定的非零对角线元素构成的矩阵; E=spdiags(B,d,A);将A中d指定的对角线元素由B代替构成新矩阵E。 4.单位矩阵的稀疏矩阵 speye(m,n);产生m*n的稀疏存储单位阵。
matlab 稀疏矩阵调用,matlab 稀疏矩阵相关推荐
- c 使用matlab引擎,[转载]C与MATLAB混合编程之调用MATLAB引擎
Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...
- c 与matlab混编,C与MATLAB混合编程之调用MATLAB引擎
Visual Studio调用MATLAB需要的配置已经在<Visual Studio调用MATLAB的配置>一文中给出了详细的步骤,本文将介绍混合编程的示例. 在C中调用MATLAB,据 ...
- Java程序调用MATLAB接口
Java程序调用MATLAB接口 文章目录 Java程序调用MATLAB接口 一.注意事项 二.环境安装 三.MATLAB如何生成JAR包 四.MATLAB生成的JAR包如何引入到Java程序中 五. ...
- 在matlab如何调用库函数,Matlab调用外部库函数方法和注意事项
在MATLAB环境下访问外部函数的共享库文件,必须首先把该库文件加载到内存中.一旦加载成功,就 能直接在MATLAB中直接请求关于函数的任何信息.而当不再需要该库时,就应当及时把库文件从内存 中卸载以 ...
- Python如何调用matlab函数?
仅需一步就能搭建好两者的通道! 在matlab的命令行下键入: cd (fullfile(matlabroot,'extern','engines','python')) system('python ...
- matlab中调用java代码_Matlab中调用第三方Java代码
在Java中采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在Matlab的M文件中,直接调用Java类.这种方式可以表示为Java--> Matlab( m, Ja ...
- Qt调用MATLAB
Qt调用MATLAB 生成的dll经验分享 由于项目需要将生成的数据转成C3D运动捕捉格式,目前无C++转换算法,有MATLAB算法,考虑到C++重新码算法的时间,选择了将MATLAB算法直接转成C+ ...
- VS下调用Matlab引擎
VS2008是当前主流的应用程序开发环境之一,开发环境强大,开发的程序执行速度快.但在科学计算方面函数库显得不够丰富.读取.显示数据图形不方便.Matlab是一款将数值分析.矩阵计算.信号处理和图形显 ...
- VS2013和MATLAB相互调用混合编程
Visual Studio和MATLAB混合编程,有两种方法: 1 MATLAB调用C程序: 2 VS调用MATLAB(目前见到的都是VS,其他编译器如codeblocks,或不提供这项功能): MA ...
最新文章
- Adobe Premiere Elements 2021中文版
- 三星note2+android8.0,放大版Note2 三星Galaxy Note8.0
- 【转】程序员该做的事 - 每天、每周、每月
- 在Windows系统安装Nodejs
- nm命令中符号类型详解
- 资源 | 深度学习课程入门与介绍
- mysql bug_MySQL 记一次 Bug发现过程
- java播放声音类和一个简单示例
- [Java] 蓝桥杯ALGO-63 算法训练 乘法表
- C++学到什么程度才算是精通?
- 【收藏】夜光遥感数据下载网址及方式
- 伍德里奇计量经济学导论pdf_伍德里奇 计量经济学导论 第三章第三节 2 OLS无偏定理...
- 新能源汽车前景广袤但痛点多多,大圆柱电池能否提供最优解?
- 小米无线键盘的连接方式
- redis系列,redis的异步删除我该怎么用?
- Time-Evolving Graph Convolutional Recurrent Network for Traffic Prediction论文笔记
- 电源芯片选择DC/DC还是LDO?及怎样选择LDO芯片
- <<视觉问答>>2021:Zero-shot Visual Question Answering usingKnowledge Graph
- 西蒙菲莎大学计算机研究性硕士,不只是知名大学:西蒙菲莎大学你需要知道这些!...
- 在VMware中安装红帽Linux系统
热门文章
- TS101的链式DMA操作方法
- 联想潮7000怎么安装Java_联想小新潮7000系统安装 怎么用u盘安装系统
- 联想小新潮7000 14IKBR CFG解锁过程分享
- 两个变量数据交换的方法
- SIGGRAPH Course: Physically Based Shading in Theory and Practice(PBR渲染技术相关一些课程资源和文章)
- html表格显示列与隐藏列_在宽表上隐藏/显示HTML表格列
- 半导体器件物理【10】载流子输运现象 —— 电流密度、散射
- Android 调用优酷SDK上传视频
- Kalman滤波算法解释与实现
- Processing-Minim翻译----------Class Minim