一、创建矩阵

1、通过直接赋值创建矩阵

将矩阵元素置于[]中。同行元素之间用空格或“。”分开。行与行之间用“;”隔开。

>> a=[1,2,3;4,5,6;,7,8,9]

a =

     1     2     3
4 5 6
7 8 9

2、通过特殊的函数进行创建

函数名称 函数功能
ones(n) 构建一个n*n的1矩阵
ones(m,n…p) 构建一个m*n*…*p的1矩阵
ones(size(A)) 构建一个和矩阵A相同大小的1矩阵
zeros(n) 构建一个n*n的0矩阵
zeros(m,n…p) 构建一个m*n*…*p的0矩阵
zeros(size(A)) 构建一个和矩阵A相同大小的0矩阵
eye(n) 构建一个n*n的单位矩阵
eye(m*n) 构建一个m*n的单位矩阵
eye(size(A)) 构建一个和矩阵A相同大小的单位矩阵
rand(n) 构建一个n*n矩阵,其元素在0~1之间均匀分布
rand(m,n…p) 构建一个m*n*…*p的矩阵,其元素在0~1之间均匀分布
triu(A) 构建一个和A大小相同的上三角矩阵,主对角线上的元素为A中对应元素,其余为0
tril(A) 构建一个和A大小相同的下三角矩阵,主对角线上的元素为A中对应元素,其余为0
>> A=[1,2,3;4,5,6;7,8,9]

A =

     1     2     3
4 5 6
7 8 9 >> tril(A) ans = 1 0 0
4 5 0
7 8 9

二、改变矩阵结构

Matlab提供了一些函数来实现矩阵的变换。

函数名称 函数功能
fliplr 矩阵每一行均进行逆序排序
flipud 矩阵每一行均进行升序排序
rot90(A) 矩阵A逆时针旋转90而得到新的矩阵
rot90(A,k) 矩阵A逆时针旋转k*90而得到新的矩阵
repmat(x,[m,n,,,p]) 创建一个m*n*…*p维的矩阵,全部的元素均为x
sort(A) 对矩阵A升序排序并返回排序后的矩阵。当A为二维矩阵时。分别对每一列进行排序
sort(A,dim) 对矩阵A升序排序并返回排序后的矩阵。当dim为1时,分别对每一列进行排序;当dim为2时,对每一行进行排序
sort(A,dim,mode) mode为‘ascend’时,进行升序排序;mode为descend时为降序排序
>> A=[1,2,3;-1,1,0;4,5,6]

A =

     1     2     3
-1 1 0
4 5 6 >> sort(A) ans = -1 1 0
1 2 3
4 5 6

三、矩阵下标

矩阵的索引分为双下标索引和单下标索引两种。

  • 双下标索引与java中的数组索引是一个意思。A(2,3)就是表示第二行第三列的元素。

  • 单下标索引是按列来计数的元素的位置,比如A是一个3*4的矩阵,那么A(7)就表示矩阵A中第一行第三列的元素。由于7=2*3+1。前两列加上第三列的第一个元素。

以下是一些矩阵下标操作的函数。

函数名称 函数功能
A(:,j) 返回二维矩阵中第j列列向量
A(i,:) 返回二维矩阵中第i行行向量
A(:,j:k) 返回二维矩阵A中第j列到第k列列向量组成的子阵
A(i:k,:) 返回二维矩阵A中第i行到第k行行向量组成的子阵
A(:) 将矩阵中的每一列合并成一个长的列向量

四、矩阵信息

1、获取矩阵的元素个数

>> A

A =

     1     2     3
-1 1 0
4 5 6 >> numel(A) ans = 9

2、获取矩阵各维度的长度

>> size(A)

ans =

     3     3

3、获取矩阵维数

>> ndims(A)

ans =

     2

Matlab矩阵基础的更多相关文章

  1. MATLAB矩阵基础运算

    1.矩阵的加减运算X+Y或者X-Y:元素对应相加减.在此要求X与Y必须是同维矩阵,否则会出现错误信息.如果Y为一个数,则表示X中每一元素+Y或者-Y: %当X和Y都为同维矩阵时 X=[1,2,-3;2 ...

  2. [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同

    转自:http://blog.csdn.net/pipisorry/article/details/45563695 http://blog.csdn.net/pipisorry/article/de ...

  3. Matlab编程基础

    平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...

  4. MATLAB图像处理基础

    MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...

  5. Matlab图像处理基础知识

    Matlab图像处理基础知识 Matlab的图片以矩阵的形式存储,矩阵的行列值为图片的行列的色彩值. 1图像表达方式: 像素索引 图像被视为离散单元.如使用I(2,2)可以获取第二行第二列的像素值 空 ...

  6. [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置

    矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:'  运算符与  .'  运算符 >>a ...

  7. matlab矩阵内存预分配

    matlab矩阵内存预分配就意味着,划定一个固定的内存块,各数据可直接按"行.列指数"存放到对应的元素中.若矩阵中不预配置内存.则随着"行.列指数"的变大.MA ...

  8. MATLAB矩阵操作大全

    转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...

  9. Eigen ,MKL和 matlab 矩阵乘法速度比较

    Eigen 矩阵乘法的速度  < MKL矩阵乘法的速度,MKL矩阵乘法的速度与matlab矩阵乘法的速度相差不大,但matlab GPU版本的矩阵乘法速度是CUP的两倍,在采用float数据类型 ...

随机推荐

  1. TeamViewer的下载、安装和使用(windows7、CentOS6.5和Ubuntu14.04(64bit))(图文详解)

    不多说,直接上干货! TeamViewr是远程支持.远程访问.在线协作和会议软件. 分为从windows7.CentOS6.5和Ubuntu14.04(64bit) 系统来详解下载.安装和初步使用! ...

  2. 1.16 Python基础知识 - 装饰器初识

    Python中的装饰器就是函数,作用就是包装其他函数,为他们起到修饰作用.在不修改源代码的情况下,为这些函数额外添加一些功能,像日志记录,性能测试等.一个函数可以使用多个装饰器,产生的结果与装饰器的位 ...

  3. Nginx配置GZIP

    记录一次解决网站加载慢的问题 一. nginx配置 gzip on;gzip_min_length  1k;gzip_buffers     4 16k;gzip_http_version 1.1;g ...

  4. 第二遍回顾--①前端flex布局

    1.flex: 弯曲,收缩 2.概念 2条主轴,main axis,cross axis; 每个单元为flex item,主轴空间main size,交叉轴空间cross size; 3.容器 .co ...

  5. canvas画板基础应用的学习

    canvas是html5中的绘图容器,我们可以通过javascript的控制来进行图形的绘制,绘制对象可以是路径.盒.圆.字符等,同时,你也可以通过js给画布添加图像,下面来介绍canvas的各种基本 ...

  6. 【例题 7-13 UVA-1374】Power Calculus

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 结论:每次只用新生成的数字就好了. 然后就是IDA*了. 迭代深搜+剪枝. [代码] /* 1.Shoud it use long ...

  7. vue项目在其他电脑运行报错

    解决方法1.先删除node_modules文件夹2.$ cnpm cache clean 命令清除掉cache缓存3.cnpm install4.npm run dev

  8. GO语言学习(二)Windows 平台下 LiteIDE 的安装和使用

    1. 安装 Go 语言并设置环境变量 参考GO语言学习(一) 2. MinGW 的下载和安装 Windows 下的 Go 调试还需要安装 MinGW. 2.1 下载安装工具的安装 最新版本下载安装工具 ...

  9. 原生js大总结一

    001.浅谈堆和栈的理解?   js变量存储有栈存储和堆存储,基本数据类型的变量存储在栈中,引用数据类型的变量存储在堆中 引用类型数据的地址也存在栈中   当访问基础类型变量时,直接从栈中取值.当访问 ...

  10. SPRINGAOP实现基于注解的数据源动态切换(转)

    需求 代码实现读写数据库分离 武器 spring3.0以上版本 实现思路 1.继承org.springframework.jdbc.datasource.lookup.AbstractRoutingD ...