[matlab] 矩阵操作
>_<:矩阵构造
1.简单矩阵构造
最简单的方法是采用矩阵构造符“[]”。构造1´n矩阵(行向量)时,可以将各元素依次放入矩阵构造符[]内,并且以空格或者逗号分隔;构造m´n矩阵时,每行如上处理,并且行与行之间用分号分隔。
2.特殊矩阵构造
在MATLAB中还提供一些函数用来构造特殊矩阵,这些函数如下表所示。
(1)ones(n) 或ones(m,n)产生mXn全为1的矩阵 (2)zeros(n) 或 zeros(m,n)产生mXn全为0的矩阵 (3)eye(n)产生nXn的单位矩阵 (4)diag(v)将向量v转化为一个对角矩阵 (5)magic(n)产生nXn的模方矩阵[每行每列之和相等] (6)rand(n)或 rand(m,n)产生mXn的随机矩阵,其中随机数分布服从0~1的均匀分布 (7)randn(n) 或 randn(m,n)产生mXn的随机矩阵,其中随机数服从标准高斯分布[均值为0方差为1] (8)randperm(n)产生1~n的随机排列3.向量构造
最简单的方法是采用向量构造符“:”,其常用的用法如下。
(1)a:b 返回以a为起点,以1为步长,且所有取值在a与b之间的向量。 (2)a:s:b 返回以a为起点,以s为步长,且所有取值在a与b之间的向量。>_<:矩阵大小的改变
1.矩阵的合并
矩阵的合并就是把两个或者两个以上的矩阵连接成一个新矩阵。矩阵构造符[] 可用于构造矩阵,并可以作为一个矩阵合并操作符。
Ø 表达式C=[A B]在水平方向合并矩阵A和B [具有相同行数的两个矩阵,合并为一个新矩阵,否则不行] Ø 表达式C=[A;B]在竖直方向合并矩阵A和B [具有相同列数的两个矩阵,合并为一个新矩阵,否则不行]1、删除矩阵的某一行或者是某一列:只需将该行或者该列赋予一个空矩阵[]即可:A(2,:)=[]第二行为空
操作符“:”可以用来表示矩阵的多个元素。若A是二维矩阵,其主要用法如下:
Ø A(:,:) 返回矩阵A的所有元素。 Ø A(i,:) 返回矩阵A第i行的所有元素。 Ø A(i,k1:k2) 返回矩阵A第i行的自k1到k2列的所有元素。 Ø A(:,j) 返回矩阵A第j列的所有元素。 Ø A(k1:k2,j) 返回矩阵A第j列的自k1到k2行的所有元素。若A是多维矩阵,也可以通过类似的方法实现对其访问。
>_<:矩阵信息的获取
1、矩阵尺寸信息
Ø size(X)或size(X,dim)返回各个方向的长度,以向量的方式存储;后一个是返回指定方向的长度 Ø length(x)返回各个方向中最长长度 Ø ndims(A)矩阵的维数 Ø numel(A)矩阵的元素个数2、元素的数据类型[is---略]
3、矩阵的数据结构[is---略]
4、矩阵结构的改变
Ø reshape(A,m,n)把A重新排列为mXn的矩阵[按照长列向量的顺序重排元素] Ø rot90(A)或rot90(A,k)逆时针旋转矩阵900或k*900 Ø fliplr(A)以竖直方向为轴做镜像 Ø filpud(A)以水平方向为轴做镜像 Ø flipdim(A,dim)以指定轴做镜像[1水平、2竖直] Ø transpose(A)矩阵的转秩相当于B=A.' Ø ctranspose(A)矩阵的共轭转秩相当于B=A'>_<:稀疏矩阵
Ø 在MATLAB中,可以用满矩阵存储方式和稀疏矩阵存储方式来存储矩阵。 Ø 若一个矩阵只有少数的元素非零,称为稀疏矩阵。稀疏矩阵非零元素及其对应的下标来表示。 Ø 用户可以创建双精度、复数和逻辑等类型的稀疏矩阵。2、查看稀疏矩阵
MATLAB提供一些函数用于查看稀疏矩阵的信息,如下表所示:
Ø nnz(X)返回非零值个数 Ø nonzeros(A)返回非0值 Ø nzmax(S)返回用于存储非零值的空间长度[matlab自带的稀疏矩阵矩阵west0479:导入load west0479 可以用spy(west0479)图形化显示稀疏矩阵非零值分布
3、稀疏矩阵的运算规则
在MATLAB中的各种命令和函数都可以用于稀疏矩阵的运算,并且遵循如下的一些约定。
Ø 把矩阵变为标量或者定长向量的函数总是给出满矩阵; Ø 对于标量或者定长向量变换到矩阵的函 数,如函数zeros()、ones()、eye()、rand()等总是给出满矩阵;
[matlab] 矩阵操作的更多相关文章
- MATLAB矩阵操作大全
转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...
- MATLAB矩阵操作和算术运算符
矩阵的表示 矩阵之间用空格或者是逗号间隔 矩阵可以拼接(可以用矩阵拼接) 实部矩阵和虚部矩阵构成复数矩阵,一一对应. 冒号表达式: 格式: e1:e2:e3 e1表示初始值 e2表示步长 e ...
- MATLAB矩阵操作
- MATLAB命令大全和矩阵操作大全
转载自: http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示在MATLAB中创建矩阵 ...
- Matlab、R向量与矩阵操作 z
已有 1849 次阅读 2012-8-2 15:15 |系统分类:科研笔记|关键词:矩阵 480 window border center Matlab.R向量与矩阵操作 描 述 Matla ...
- Matlab、R向量与矩阵操作
Matlab.R向量与矩阵操作 描 述 Matlab R 1 建立行向量v=[1 2 3 4] v=[1 2 3 4] v<-c(1,2,3,4)或v<-scan(),然后输入 ...
- matlab字符串操作总结
matlab字符串操作总结 字符串操作总结 char(S1,S2,…)利用给定的字符串或单元数组创建字符数组double(S)将字符串转化成ASC码形式cellstr(S)利用的给定的字符数组创建字符 ...
- Matlab文件操作
1. Matlab文件操作主要有三个步骤:首先打开文件,然后对文件进行读写操作,最后要关闭文件. 2. fid=fopen(文件名,打开方式) 'r' 只读,文件必须存在(缺省的打开方式) 'w' ...
- [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置
矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:' 运算符与 .' 运算符 >>a ...
随机推荐
- CSS 概念 Block Inline Containing block
Block 元素 包括 "block-level box," "block container box," and "block box" ...
- windows下安装多个tomcat服务
摘要 公司服务器已经部署2个tomcat,分别属于不同的系统.今天新开发的系统也要上线测试,故新增一个tomcat服务器. 1.官网下载tomcat 7 解压缩版本.我使用的是 apache-tomc ...
- eclipse javascript验证报错
项目右键->properties
- 请不要做浮躁的IT人
1.不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么.当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异. 2.初学者请不要看太多太多的书那会误人子弟的,先找本系统的学,很多人用 ...
- sublime使用以及快捷键
1.工程文件中的内容的查找替换 例: 想要把工程文件中的“山东”改为“云南”. 1)首先选中工程文件夹 2)右击出现下拉菜单,选择 find&replace 选项 3)出现在编辑框内输入要查找 ...
- 咏南IOCP中间件
咏南IOCP中间件 特大好消息,咏南中间件系列新增加——咏南IOCP中间件.咏南IOCP中间件完全兼容咏南DATASNAP中间件的远程方法接口. 中间件DELPHI7~DELPHI XE10.1.1都 ...
- PHP-redis中文文档-命令
关于redis of php的安装,详见自己的为知笔记,其中包含: 1.php版本的redis的安装 2.redis的使用方法 3.redis带conf文件的启动 这里介绍redis的命令,php版本 ...
- 在Spring项目中使用Log4j记录日志
(1)引入log4j的jar包: 官网下载地址:http://logging.apache.org/log4j/1.2/download.html (2)在web.xml中添加log4j配置: 1 2 ...
- 嵌入式web服务器
要实现在PC上通过网页控制连接到嵌入式开发板的相机. 限于开发板的环境,不能选择appche等大型web服务器,选择了boa. 要想pc端跨平台,那就不能用ActiveX控件,如果仅在windows平 ...
- NX图标
可以从%UGII_BASE_DIR%\ugii\menus目录下men文件或TBR文件中查找 关键字BITMAP 对应的名称