这几天学习了matlab的逻辑排列功能,总的感受是两点:
第一,通过逻辑判断原数组a得到逻辑数组b
第二,逻辑数组执行某些运算符操作,然后恢复为原始数组类型
第三,利用逻辑数组mask功能
测试如下。
disp (逻辑数组的学习与应用); a=[1 2 3; 4 ) 6; 79 ); b=a 4; %数组的每个元素将与4进行比较,如果逻辑为真,则结果为1whos。
第二,执行c=b 0时,c数组应如下所示:
第三,可以在算术运算中提供掩码(mask )。 遮罩(mask )是从另一个数组中选择所需元素以参与运算的数组。 指定的运算只对选定的元素执行。
不执行剩下的要素。
未使用时,对数组中的4求平方根。
clc; clear disp (逻辑数组的学习与应用); a=[1 2 3; 4 ) 6; 79 ); forii=1:size(a(a,1 ) for漂亮的路灯=1:size ) a,2 ) ifa ) ii,漂亮的路灯) 4a ) ii,漂亮的路灯) sqrt ) a ) ) ii ) ii,漂亮的路灯求%数组中4的平方根的end endenda结果:
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 ) 6; 79 ); b=a 4; 对%数组中4的逻辑判定得到逻辑数组a(b )=sqrt ) a ) b ); a结果是一样的。
请记住,项目具有首先将数组元素中的0选择转换为新数组,然后对其进行排序的功能。 可以考虑使用逻辑数组功能,但在此处进行了记载
转载于:https://www.cn blogs.com/Shuqing study/p/4861435.html