• matlab 逻辑数组及其应用


    这几天学习了matlab的逻辑数组功能,总的感觉就有两点:

    第一,通过对原来的数组a进行逻辑判断后得到逻辑数组b

    第二,逻辑数组进行某种运算符操作又回到原数组类型

    第三,利用逻辑数组mask功能

    测试如下:

    disp('逻辑数组学习及应用');
    a = [1 2 3;4 5 6; 7 8 9];
    b = a > 4 ;%数组中各个元素与4作比较,逻辑为真则为1
    whos

    结果:

    第二,当执行 c = b + 0后,c 数组为:

    第三,它在算术运算中能提供一个屏蔽(mask)。屏蔽(mask)是指一个数组, 它从另一个数组选择所需的元素参与运算。 指定的运算只在选择的元素上执行,

    而不执行余下的元素。

    未使用时,对数组中>4求平方根。

    clc;
    clear;
    disp('逻辑数组学习及应用');
    a = [1 2 3;4 5 6; 7 8 9];
    for ii = 1:size(a,1)
        for jj = 1:size(a,2)
            if a(ii,jj) > 4
            a(ii,jj)=sqrt(a(ii,jj));  %对数组中>4的求平方根
            end
        end
    end
    a

    结果:

    a =

    1.0000 2.0000 3.0000
    4.0000 2.2361 2.4495
    2.6458 2.8284 3.0000

    使用后:

    disp('逻辑数组学习及应用');
    a = [1 2 3;4 5 6; 7 8 9];
    b = a > 4; %对数组中>4的逻辑判定,得到逻辑数组
    a(b) =sqrt(a(b));
    a

    结果同上。

    记得项目中有一个功能是首先将数组元素中>0的选出变为新数组,继而对其排序,可以考虑用逻辑数组功能,在这里记下了

  • 相关阅读:
    负载平衡问题
    [SHOI2008]堵塞的交通traffic
    Bzoj3626 [LNOI2014]LCA
    [TJOI2015]旅游
    [SCOI2016]美味
    [AH/HNOI2017]单旋
    Luogu3613 睡觉困难综合征
    [SCOI2007]降雨量
    [SCOI2005]王室联邦
    HAOI2011 problem a
  • 原文地址:https://www.cnblogs.com/shuqingstudy/p/4861435.html
Copyright © 2020-2023  润新知