一、创建矩阵

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. [TS] Implement a doubly linked list in TypeScript

    In a doubly linked list each node in the list stores the contents of the node and a pointer or refer ...

  2. 简单的横向ListView实现(version 4.0)

    这个版本号的博客写起来颇费口舌.有些代码自己语言组织能力有限,感觉描写叙述起来非常费劲,前前后后改了五六遍稿子还是不尽人意 ,只是我还是坚持写出来自己当初的思路,假设看得不明确的地方我在文章最后仍然会 ...

  3. CSU1660: K-Cycle

    Description A simple cycle is a closed simple path, with no other repeated vertices or edges other t ...

  4. ORACLE10g R2【单实例 FS→单实例FS】

    ORACLE10g R2[单实例FS→单实例FS] 本演示案例所用环境:   primary standby OS Hostname pry std OS Version RHEL5.8 RHEL5. ...

  5. 洛谷 P1097 统计数字

    P1097 统计数字 题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自 ...

  6. noi25 最长最短单词(为什么会出现运行时错误)

    noi25 最长最短单词(为什么会出现运行时错误) 一.总结 一句话总结:比如除以零,数组越界,指针越界,使用已经释放的空间,数组开得太大,超出了栈的范围,造成栈溢出 1.c++报runtime er ...

  7. 目标识别(object detection)中的 IoU(Intersection over Union)

    首先直观上来看 IoU 的计算公式: 由上述图示可知,IoU 的计算综合考虑了交集和并集,如何使得 IoU 最大,需要满足,更大的重叠区域,更小的不重叠的区域. 两个矩形窗格分别表示: 左上点.右下点 ...

  8. Android Warning not all local changes may be shown due to an error

    idea使用svn出现Warning not all local changes may be shown due to an error,如下图所示: 解决方案: 1.File > Setti ...

  9. Day1:第一个python小程序

    Day1:第一个python小程序与开发工具Pycharm 一.Hello World C:\Users\wenxh>python Python 3.6.2 (v3.6.2:5fd33b5, J ...

  10. 【Codeforces Round #431 (Div. 1) B】

    [链接]h在这里写链接 [题意] 场上有 n 个点,它们分别向上与向右在不同时刻开始运动,相遇则改变移动方向,求最终这些点到达的坐标. [题解] 先把每个点的坐标都往它本该移动的方向相反的方向退ti个 ...