matlab sparse()

一、sparse()的稀疏矩阵简单运用

1.>> A = [0, 0, 0, 0;

0, 0, 1, 0;

0, 0, 0, 0;

0, 1, 0, 2];

>> sparse(A)

ans =

(4,2) 1

(2,3) 1

(4,4) 2

二.S = sparse(i,j,s,m,n,nzmax)

由向量i,j,s 生成一个m*n,且最多含有nzmax个元素的稀疏矩阵。

sparse([1,2,3,4],[1,2,3,4],[0,0,1,1],5,5,6)

ans =

(3,3) 1

(4,4) 1

其中i=[1,2,3,4],对应要形成矩阵的行位置;

J=[1,2,3,4],对应要形成矩阵的列位置;

S=[0,0,1,1],对应要形成矩阵对应位置的值。

(i 和j 的位置为一一对应,即(1,1)(2,2)(3,3)(4,4),将s中的值赋给这四个坐标的位置。

若i=[2,1,3,4],j=[3,2,4,1],则形成的坐标为(2,3)(1,2)(3,4),(4,1) )

(m>=max(i),n>=max(j) , m和n的值可以在满足条件的范围内任意选取. nzmax>=max(i or j))

下面为一些简化的情况

三.S = sparse(i,j,s,m,n)
  用 nzmax = length(s) ;

四.S = sparse(i,j,s)

使m = max(i) 和 n = max(j),在s中零元素被移除前计算最大值,[i j s]中其中一行可能为[m n 0];

5.S = sparse(m,n)

sparse([],[],[],m,n,0)的缩写,生成一个m*n的所有元素都是0的稀疏矩阵。

参考文献

时间: 2024-10-12 11:46:36

matlab sparse()的相关文章

matlab中sparse和full函数的使用

sparse函数 功能:创建稀疏矩阵 用法1:S=sparse(X)—将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩阵S. 如果X本身是稀疏的,sparse(X)返回S. 举例如下: 1 >> a=[1,0,2;0,0,1;0,0,6]; 2 >> a 3 4 a = 5 6 1 0 2 7 0 0 1 8 0 0 6 9 10 >> b=sparse(a) 11 12 b = 13 14 (1,1) 1 15 (1,3) 2 1

《数字图像处理原理与实践(MATLAB版)》一书之代码Part9

本文系<数字图像处理原理与实践(MATLAB版)>一书之代码系列的Part9,辑录该书第431至第438页之代码,供有需要读者下载研究使用.至此全书代码发布已经接近尾声,希望这些源码能够对有需要的读者有所帮助.代码执行结果请参见原书配图,建议下载代码前阅读下文: 关于<数字图像处理原理与实践(MATLAB版)>一书代码发布的说明 http://blog.csdn.net/baimafujinji/article/details/40987807 首先给出的是原书P438所列之程序源

[转载]Matlab实用小技巧——Matlab学习笔记

1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. 2. figure命令新建一个绘图窗口 figure 可以打开一个空的绘图窗口,接下的绘图命令可以将图画在它里面,而不会覆盖以前的绘图窗口.当有多个figure窗口时,在命令窗口中执行如Plot等命令将覆盖当前figure窗口中的对象.所谓的当前figure窗口,也就是最后一次查看的窗口(可以用命令gcf得到). figu

MATLAB稀疏矩阵indexing效率比较

试验中需要处理大的稀疏矩阵,由于要频繁对稀疏矩阵进行取块操作,搜索了Index对行列操作哪个快? 发现丕子的博文称对稀疏矩阵取块行要比列快,但我实际测试发现列比行快. 使用的行数2x10^7,列数3x10^5的稀疏矩阵,将这个矩阵转置发现占用内存稍微增加,如下图1: S 22530343x429498 2400827800 double sparse S_transpose 429498x22530343 2577634560 double sparse 分别取S矩阵前10^6,10^5,10^

libsvm的使用(exe版和matlab版本)

libsvm是台湾国立大学的林智仁开发的svm工具箱,有matlab,C++,python,java的接口.本文对exe版本和matlab版本的使用进行说明. libsvm可以在 http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 官网上进行下载,我下载的是libsvm-3.12 exe 版本 libsvm的exe版本在windows文件夹下,主要包含3个exe, svm-train.exe,  svm-scale.exe,  svm-predict.exe (1

UFLDL实验报告2:Sparse Autoencoder

Sparse Autoencoder稀疏自编码器实验报告 1.Sparse Autoencoder稀疏自编码器实验描述 自编码神经网络是一种无监督学习算法,它使用了反向传播算法,并让目标值等于输入值,比如 .自编码神经网络尝试学习一个 的函数.换句话说,它尝试逼近一个恒等函数,从而使得输出 接近于输入 .当我们为自编码神经网络加入某些限制,比如给隐藏神经元加入稀疏性限制,那么自编码神经网络即使在隐藏神经元数量较多的情况下仍然可以发现输入数据中一些有趣的结构.稀疏性可以被简单地解释如下.如果当神经

[Matlab] MxArray 与 MwArray 使用区别

引子 在外部编程语言与matlab的交互中,Array是最单元的交互元素,怎么都绕不过去. 在matlab提供的Array接口有两个,一个是C的MxArray, 另一个是Cpp(C++)的MwArray. 看下两着的分别介绍: mxArray:Matlab C 函数库的结构体 mwArray:Matlab C++ 函数库中对mxArray的包装类 声明: mxArray:    mxArray *a; mwArray:   mwArray a; 销毁 mxArray:   mxDestroyAr

Matlab tips and tricks

matlab tips and tricks and ... page overview: I created this page as a vectorization helper but it grew to become my annotated Matlab reading cache. In order to motivate the DSP people out there, I am showing below how one can apply a window and scal

【转帖】Andrew ng 【Sparse Autoencoder 】@UFLDL Tutorial

Neural Networks From Ufldl Jump to: navigation, search Consider a supervised learning problem where we have access to labeled training examples (x(i),y(i)).  Neural networks give a way of defining a complex, non-linear form of hypotheses hW,b(x), wit