3.4 二维数组元素的标识
【 * 例 3.4.3 -1 】找出数组
中所有绝对值大于 3 的元素。
A=zeros(2,5); %预生成一个( 2*5 )全零数组
A(:)=-4:5 % 运用“全元素”赋值法获得 A
L=abs(A)>3 % 产生与 A 同维的“ 0 -1 ” 逻辑值数组
islogical(L) % 判断 L 是否逻辑值数组。输出若为 1 ,则是。
X=A(L) % 把 L 中逻辑值 1 对应的 A 元素取出
A =
-4 -2 0 2 4
-3 -1 1 3 5
L =
1 0 0 0 1
0 0 0 0 1
ans =
1
X =
-4
4
5
【 * 例 3.4.3 -2 】演示逻辑数组与一般双精度数值数组的关系和区别。(本例在例 3.4.3-1 基础上进行)。
(1)逻辑数组与双精度数组的相同之处
Num=[1,0,0,0,1;0,0,0,0,1]; %产生与 L 数组外表完全相同的“双精度数组”
N_L=Num==L % 假如 Num 与 L 数值相等,则应得 1 。
c_N=class(Num) % 用 class 指令检查 Num 的类属
c_L=class(L) % 用 class 指令检查 L 的类属
N_L =
1 1 1 1 1
1 1 1 1 1
c_N =
double
c_L =
double
(2)逻辑数组与一般双精度数组的差别
islogical(Num) %检查 Num 是否属于逻辑数组类
Y=A(Num) % 试探 Num 能否象 L 一样具有标识作用
ans =
0
??? Index into matrix is negative or zero. See release notes on changes to
logical indices.
如果您有什么疑问,可以至论坛提出或者解答他人的疑问 返回页面顶部