• matlab中的数组与矩阵


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

    首先是介绍矩阵(说明:在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

  • 相关阅读:
    MySql之基础
    web篇---jQuery
    前端篇---CSS
    前端篇--HTML
    Python篇1.17---多进程
    Python篇1.16---socket编程
    Python篇1.15---模块与包
    Python番外篇---函数
    python番外篇---变量与数据类型
    【认真的完整版翻唱!】红莲之箭【あるふぁきゅん。】
  • 原文地址:https://www.cnblogs.com/fcfc940503/p/11462881.html
Copyright © 2020-2023  润新知