今天做图像处理时,看到一个矩阵的处理,简要谈谈下面几段代码:

首先是介绍矩阵(说明:在matlab中无是数组还是矩阵都是按列来存储的)
首先是一些特殊矩阵的建立
zeros(m,n)%建立全0矩阵
ones(m,n)%建立全1矩阵
eye(m,n)%建立对角线全为1 的矩阵
rand(m,n)%(0,1)随机分布的矩阵
randn(m,n)%相比上一个,均值为0,方差为1
magic(m,n)%魔方矩阵
对于矩阵的建立和元素访问,很多和前面介绍的数组相同
下面看图访问矩阵

访问矩阵元素可以用单下标访问和双下标访问

sub2ind()和ind2sub()函数进项访问方式转换; 
A=[1:4;5:8] 
ind1=sub2ind(size(A),2,3);%将索引(2,3)转变为单下标索引 
[i,j]=ind2sub(size(A),7);

数组相关操作
A=[1 2 3;4 5 6;7 8 9];
B=[9 8 7; 6 5 4; 3 2 1];
a=A(1:2,:)-取A数组第几行元素(这里是第1和2行)
a=A(:,1:2)-取A数组第几列元素(这里是第1和2列)
a=A(2:4)-取A数组第2个到第4个元素
a=A(1:end)-将元素正序排列
a=A(end:-1:1)-将元素反序排列
a=A([2 4])-取数组A第2个和第4个元素
a=A(1,2)-取数组第一行第一列元素
C=[A B]-将数组AB横向拼接
C=[A; B]-将数组AB纵向拼接

下面几个操作要熟悉,改变数组内容
A(A=1)=100;%将A数组中为1元素全部变为100
A(A>4)=20;%将A数组中大于4的元素都变为20
A(1,1)=10%将A数组里1行1列元素变为10
下面几个函数判断数组类型
isnumeric();%判断是否为数值型数组
isreal();%判断是否为实数型数组
isinteger();%判断是否为整型数组,(matlab默认存储double型)
islogical();%判断是否为逻辑型数组
find()函数:查找数组元素然后修改元素,具体见下图

原文链接:https://blog.csdn.net/CV_YOU/article/details/52892673

matlab中的数组与矩阵的更多相关文章

  1. matlab中高维数组怎么做PCA?

    PCA需要先求数据的散布矩阵x*x',再求其特征向量,那么随便一个400*450的图像,就是180000维,矩阵就是180000*180000,matlab无法容纳,那么通常的PCA对图像的降维,比如 ...

  2. matlab中,怎样把矩阵中所有的0改为2

    一句话搞定:>> a(find(a==0))=[2]:把矩阵中所有的0改为2

  3. 获得MATLAB中FIG文件的矩阵

    在拓扑优化中,经常使用imagesc函数来显示最终的结果,往往会保存了Fig文件,却忘记保存mat文件. 根据已有的Fig文件,是可以找到其所显示矩阵.这个是我从fig数据结构中一层一层找到的,记录一 ...

  4. matlab中如何给一个矩阵中的某几个特定位置赋值

    用sub2ind >> a=zeros(5); i = [2;3;4]; j = [1;4;2]; >> a(sub2ind(size(a), i, j))=1 a = 0 0 ...

  5. matlab中矩阵的表示与简单操作

    原文地址为:matlab矩阵的表示和简单操作 一.矩阵的表示在MATLAB中创建矩阵有以下规则: a.矩阵元素必须在”[ ]”内: b.矩阵的同行元素之间用空格(或”,”)隔开: c.矩阵的行与行之间 ...

  6. matlab 中max函数用法

    Matlab中max函数在矩阵中求函数大小的实例如下:(1)C = max(A)返回一个数组各不同维中的最大元素.如果A是一个向量,max(A)返回A中的最大元素.如果A是一个矩阵,max(A)将A的 ...

  7. Matlab中数据的存储方式

    简介 MATLAB提供了丰富的算法以及一个易于操作的语言,给算法研发工作者提供了很多便利.然而MATLAB在执行某些任务的时候,执行效率偏低,测试较大任务量时可能会引起较长时间的等待.未解决这个问题, ...

  8. matlab中find 查找非零元素的索引和值

    来源:https://ww2.mathworks.cn/help/matlab/ref/find.html?searchHighlight=find&s_tid=doc_srchtitle f ...

  9. matlab中find函数的使用说明

    matlab中如何统计一个矩阵M中零的个数 size(find(M==0),1) 原文:http://blog.sina.com.cn/s/blog_707b64550100rbh3.html fin ...

随机推荐

  1. BUGFIX 09 - 记一次Java中String的split正则表达式匹配 - 引发`OutOfMemoryError: Java heap space`的oom异常 排查及解决 -Java根据指定分隔符分割字符串,忽略在引号里面的分隔符

    问题简述 说白了,Java根据指定分隔符分割字符串,忽略在引号(单引号和双引号)里面的分隔符; oom压测的时候,正则匹配"(?=(?:[^\"]*\"[^\" ...

  2. 分布式服务追踪:Spring Cloud Sleuth

    最近在学习Spring Cloud的知识,现将分布式服务追踪:Spring Cloud Sleuth 的相关知识笔记整理如下.[采用 oneNote格式排版]

  3. PHP0018:PHP 图像处理

  4. python 复习 day1

    import timeimport json # 二:嵌套取值操作students_info=[['egon',18,['play',]],['alex',18,['play','sleep']]] ...

  5. matlab仿真随机数的产生

    概率论和数理统计实验(matlab中实现) 一.伯努利分布 R=binornd(N,P); //N,P为二次分布的俩个参数,返回服从参数为N,P的二项分布的随机数,且N,P,R的形式相同. R=bin ...

  6. CSS操作

    CSS 与 JavaScript 是两个有着明确分工的领域,前者负责页面的视觉效果,后者负责与用户的行为互动.但是,它们毕竟同属网页开发的前端,因此不可避免有着交叉和互相配合. 1. 使用JavaSc ...

  7. IntelliJ IDEA 2018.3.2 永久破解

    PS:动手能力强的来,手残的去淘宝买吧,大概15块钱1年.建议看完后在动手,有一个全局观,浪费不了多少时间 一. 下载破解补丁文件 链接:https://pan.baidu.com/s/1wFp14t ...

  8. 论Flaks与Django的区别

    1. jiaji2和DjangoTemplates模板引擎相比,jiaja2语法更简单 2. 耦合 3. 模型 3.1 模型定义 3.2 模型数据查询 Django: 自带ORM(Object-Rel ...

  9. 论文阅读笔记(十四)【AAAI2020】:Appearance and Motion Enhancement for Video-based Person Re-identification

    Introduction 本文的贡献:提出了基于视频的行人重识别模型:Appearance and Motion Enhancement Model(AMEM).该模型对两类信息进行提取:提出了App ...

  10. 最短路径算法总结(floyd,dijkstra,bellman-ford)

    继续复习数据结构和算法,总结一下求解最短路径的一些算法. 弗洛伊德(floyd)算法 弗洛伊德算法是最容易理解的最短路径算法,可以求图中任意两点间的最短距离,但时间复杂度高达\(O(n^3)\),主要 ...