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

首先是介绍矩阵(说明:在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. Java基础之四、字符和字符串 异常处理

    字符和字符串是最常用的信息 1:char表示字符 字符常量-两个单引号中间的字符表示字符常量'A' 2:字符串和String 字符串常量-双引号中间的字符序列"Java" 字符串常 ...

  2. 【01】HTML_day01_03-HTML常用标签

    typora-copy-images-to: media 第01阶段.前端基础.HTML常用标签 学习目标 理解: 相对路径三种形式 应用 排版标签 文本格式化标签 图像标签 链接 相对路径,绝对路径 ...

  3. vue更改数组中的值

    根据下标更改时 vm为新建的vue对象 ind为数组 第一个e为在数组ind中e索引位置 第二个e为更改为值e vm.$set(vm.ind,e,e) 常规更改 arr为数组 //添加 arr.pus ...

  4. 电信IOT平台固件升级

    1 离线签名 注意事项:特别重要,被坑了好久 A  将差分文件.bin格式的压缩成.zip 再进行签名    B  不能再中文目录下 否则,会出现校验失败 记住私钥 2 上传公钥 3 上传固件包 4 ...

  5. mysql必知必会--了解SQL

    什么是数据库 数据库这个术语的用法很多,但就本书而言,数据库是一个以某种 有组织的方式存储的数据集合.理解数据库的一种最简单的办法是将其 想象为一个文件柜.此文件柜是一个存放数据的物理位置,不管数据是 ...

  6. 如何将文本放置在div的底部显示呢?

    转自:将文本定位于div的底部的方法  摘要: 下文讲述将文本放于div的底部的两种方法,如下所示: 实现思路: 思路1:采用绝对定位的方式,将其放置于div的底部 思路2:使用Line-height ...

  7. CF round 623 Div.1D Tourism 题解

    题目链接:https://codeforces.com/contest/1314/problem/D 大意: \(n\) 个顶点的有向图,顶点编号为 \(1\) 到 \(n\),任意两个不同的顶点 \ ...

  8. 剑指offer-面试题39-数组中出现次数超过一半的数字-快速排序

    /* 题目: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字. 例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输 ...

  9. ls, chgrp, chown, chmod

    ls命令 [root@client ~]# ls -la 总用量 dr-xr-x---. root root 2月 : . dr-xr-xr-x. root root 2月 : .. -rwxrwxr ...

  10. 进程无法连接到 Subscriber"XXXXXXX"

    进程无法连接到 Subscriber“APP07”. 在订阅的机器上config 添加别名 APP07