MATLAB逻辑函数
%%逻辑函数
%%all:判断是否有元素非0,A是多维矩阵,all(A)是以列为单位来处理的,当前列的逻辑
%值为1,当且仅当当前列的每一个元素都非0
A=[1,2,3;0,2,1;5,0,2];
%all(A)=0 0 1
%例判断B=[2,2,6;7,9,1];的所有元素是否都大于等于1
B=[2,2,6;7,9,1];
ans=all(all(B>=1));
%ans=1,B>=1得到的是一个01的逻辑矩阵,两个all来判断是否所有值都大于1
%%
%any:判断矩阵中是否有一个元素非0,A是多维矩阵,则any(A)是以列为处理单位的,...
%如果某一列存在一个元素不等于0,则该列返回为1
ans=any(A);
%ans= 1 1 1
%%
%find:找出向量或者矩阵中非0元素的位置标识,一般需要对矩阵中的元素进行定位,find
%的三种使用方法: k=find(A),[i,j]=find(A),[i,j,v]=find(A).
%(1)k=find(A),此函数返回A中所有非0元素组成的位置组成的向量。没有非0元素则返空
k=find(A);
%k'=[1,3,4,5,7,8,9];结果是根据列递进的,位置标识从1开始,数完第1列接着数第2列
%(1)[i,j]=find(A);此函数返回A中非0元素行和列的标识,i代表行,j代表列
[i,j]=find(A);
%i=[1,3,1,2,1,2,3]',j=[1,1,2,2,3,3,3]';
%(3)[i,j,v]=find(A);i,j同(2),此函数同时将非0元素放在v中
[i,j,v]=find(A);
%v=[1,5,2,2,3,1,2]';
%例子,利用find实现部分矩阵的替换,
A(find(A>2))=[];%将矩阵A中大于2的元素删除
%A=[1,0,2,2,0,1,2];
%%
%isequal():判断几个对象是否相等。isequal(A,B,C...)需要判断的所有对象具有相同
%的类型,大小,类容。对于矩阵来说,对应元素要相等