Matlab矩阵基础
一、创建矩阵
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矩阵基础的更多相关文章
- MATLAB矩阵基础运算
1.矩阵的加减运算X+Y或者X-Y:元素对应相加减.在此要求X与Y必须是同维矩阵,否则会出现错误信息.如果Y为一个数,则表示X中每一元素+Y或者-Y: %当X和Y都为同维矩阵时 X=[1,2,-3;2 ...
- [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同
转自:http://blog.csdn.net/pipisorry/article/details/45563695 http://blog.csdn.net/pipisorry/article/de ...
- Matlab编程基础
平台:Win7 64 bit,Matlab R2014a(8.3) “Matlab”是“Matrix Laboratory” 的缩写,中文“矩阵实验室”,是强大的数学工具.本文侧重于Matlab的编程 ...
- MATLAB图像处理基础
MATLAB图像处理基础 2.2.1 图像文件格式及图像类型 1.MATLAB支持的几种图像文件格式: ⑴JPEG(Joint Photogyaphic Expeyts Group):一种称为联合图像 ...
- Matlab图像处理基础知识
Matlab图像处理基础知识 Matlab的图片以矩阵的形式存储,矩阵的行列值为图片的行列的色彩值. 1图像表达方式: 像素索引 图像被视为离散单元.如使用I(2,2)可以获取第二行第二列的像素值 空 ...
- [置顶] [MATLAB技术贴]漫谈MATLAB矩阵转置
矩阵转置是matlab最基本的操作了,但这个基本操作,也是很多初学者容易出现问题的地方.本帖通过几个实例演示matlab矩阵转置的操作. 方法一:' 运算符与 .' 运算符 >>a ...
- matlab矩阵内存预分配
matlab矩阵内存预分配就意味着,划定一个固定的内存块,各数据可直接按"行.列指数"存放到对应的元素中.若矩阵中不预配置内存.则随着"行.列指数"的变大.MA ...
- MATLAB矩阵操作大全
转载自:http://blog.csdn.net/dengjianqiang2011/article/details/8753807 MATLAB矩阵操作大全 一.矩阵的表示 在MATLAB中创建矩阵 ...
- Eigen ,MKL和 matlab 矩阵乘法速度比较
Eigen 矩阵乘法的速度 < MKL矩阵乘法的速度,MKL矩阵乘法的速度与matlab矩阵乘法的速度相差不大,但matlab GPU版本的矩阵乘法速度是CUP的两倍,在采用float数据类型 ...
随机推荐
- Shiro学习总结(10)——Spring集成Shiro
1.引入Shiro的Maven依赖 [html] view plain copy <!-- Spring 整合Shiro需要的依赖 --> <dependency> <g ...
- Apple Watch 集成环信SDK
本文简单的讲述下怎样用Apple Watch Kit集成环信SDK. 升级xcode到version 6.2,和 IOS SDK8.2 下载环信SDK从官网 打开XCode->new proje ...
- Bitmap-把方形图片处理为圆形
这个是直接在网上转载的,自己验证可靠 转载自http://my.oschina.net/zhouz/blog/213164 直接贴上代码 import android.graphics.Bitmap; ...
- VUE笔记 - 列表过渡动画 v-enter, v-leave-to | v-enter-active, v-leave-active | v-move
本例要结合过渡动画四个过程的示意图一起理解. https://cn.vuejs.org/v2/guide/transitions.html 疑问: v-for="(item,i) in li ...
- Android开发之搜芽项目的图片载入问题(使用Volley进行网络图片载入)
搜芽的移动开发这几天进度相对来说很的快. 可是美中不足的就是网络图片的载入问题. 我有两套方案: 1)沿用迅雷动漫的图片载入.迅雷动漫也是用的一个开源的库.可是不知道是我使用出了问题还是真的是它的问题 ...
- Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值
Android底层开发之Linux输入子系统要不要推断系统休眠状态上报键值 题外话:一个问题研究到最后,那边记录文档的前半部分基本上都是没用的,甚至是错误的. 重点在最后,前边不过一些假想猜測. ht ...
- (转)c运行库、c标准库、windows API的区别和联系
C运行时库函数C运行时库函数是指C语言本身支持的一些基本函数,通常是汇编直接实现的. API函数API函数是操作系统为方便用户设计应用程序而提供的实现特定功能的函数,API函数也是C语言的函数实现的 ...
- django-rest-framework框架 第一篇
本课件是为了教学任务自己写的学习django-rest-framework框架. 方便自己授课,也成为学生的复习教程. 本课程学习后:具有REST编程思维:并可以通过django及专业的django- ...
- 【例题 6-15 UVA - 10129】Play on Words
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 拓扑大水题 [代码] #include <bits/stdc++.h> using namespace std; con ...
- 4、qq物联SDK介绍及实例讲解
1.到QQ物联官网http://iot.open.qq.com中下载软件SDK S3C2440_20161122_1.6.205_r4288.tar.gz注意:在后续大家实际开发过程中,可能你会下载到 ...