matlab逻辑数组及其应⽤
这⼏天学习了matlab的逻辑数组功能,总的感觉就有两点:
第⼀,通过对原来的数组a进⾏逻辑判断后得到逻辑数组b
第⼆,逻辑数组进⾏某种运算符操作⼜回到原数组类型
第三,利⽤逻辑数组mask功能
测试如下:
disp('逻辑数组学习及应⽤');
a = [123;456; 789];
b = a > 4 ;%数组中各个元素与4作⽐较,逻辑为真则为1matlab数组赋值
whos
结果:
第⼆,当执⾏ c = b + 0后,c 数组为:
第三,它在算术运算中能提供⼀个屏蔽(mask)。屏蔽(mask)是指⼀个数组, 它从另⼀个数组选择所需的元素参与运算。 指定的运算只在选择的元素上执⾏,
⽽不执⾏余下的元素。
未使⽤时,对数组中>4求平⽅根。
clc;
clear;
disp('逻辑数组学习及应⽤');
a = [123;456; 789];
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 = [123;456; 789];
b = a > 4; %对数组中>4的逻辑判定,得到逻辑数组
a(b) =sqrt(a(b));
a
结果同上。
记得项⽬中有⼀个功能是⾸先将数组元素中>0的选出变为新数组,继⽽对其排序,可以考虑⽤逻辑数组功能,在这⾥记下了

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。