MathWorks社のMATLABの研究ノートは、関係演算子、および論理演算子を10_3

MathWorks社のMATLAB - MATLAB研究は10ノート一緒に学びます

10_3関係演算子、および論理演算子

一緒に相互学習を議論することを歓迎し、便利な検索- フォローミー

参考図書
「MATLABプログラミングと統合されたアプリケーションは、」張Defengは張さんの本に感謝を待っているので、私は便利なMATLABを感謝し
、「MATLAB技術バイブル」のGe GeのChaodengは先生の本のおかげで編集したので、私は感謝し、効率的なMATLAB

関係演算子

ここに画像を挿入説明

% 示例:关系运算符的用法

format compact % 以紧凑形式的方式输出,以何种方式输出的格式化语句应当事先定义
a=[1 2;3 4]
b=[1 1;1 1]
a>1
a<3
a>=2
a<=2
eq(a,b)     %注意a和b的shape应该相同
a==1        %找出a中等于1的元素
a~=b



a =
     1     2
     3     4
b =
     1     1
     1     1
ans =
     0     1
     1     1
ans =
     1     1
     0     0
ans =
     0     1
     1     1
ans =
     1     1
     0     0
ans =
     1     0
     0     0
ans =
     1     0
     0     0
ans =
     0     1
     1     1

論理演算および論理機能

  • 論理的および論理的な機能は、NOT、XOR四つの基本的な論理演算、コンピュータ言語で流行しているMATLABであって、または。値「1」に付与された論理演算のMATLABシステムの結果に「true」または「false」である論理の量の論理関数に対する論理式の値が「偽」を表す「0」を論理「真」を表します。しかし、決定された量と同様に、「偽」の任意の非ゼロ値を0に「真」である「真」。MATLABは、基本的な操作部としての論理演算の行列です。

    論理演算

    ここに画像を挿入説明
    ここに画像を挿入説明

    ここに画像を挿入説明
    ここに画像を挿入説明

  • ** Mがファイルで使用されてもよく、(A、B)、又は(A、B)ではなく(A)「と」、「や」*「でない」操作の結果であり、オペレータが得られ一貫**

    論理関数

    すべての非ゼロ数のすべての要素かどうかを決定します

    ここに画像を挿入説明
A=[0 1 2;3 4 5]
disp('all(A)')
all(A)
disp('all(all(A))')
all(all(A)) % 按照列进行操作
disp('A>=1')
A>=1
disp('all(A>=1)')
all(A>=1)
% 判断一个矩阵中的所有元素是否都大于等于1 all(all(A>=1))=1

A =
     0     1     2
     3     4     5
all(A)
ans =
     0     1     1
all(all(A))
ans =
     0
A>=1
ans =
     0     1     1
     1     1     1
all(A>=1)
ans =
     0     1     1

注意:MATLAB添字インデックスは1から始まります

A=[0 1 2;3 4 5]
disp('all(A)') % 按照列的殊顺序
all(A)
disp('all(A,2)') % 按照行的顺序
all(A,2)
c=rand(1,2,3)
all(c)


A =
     0     1     2
     3     4     5
all(A)
ans =
     0     1     1
all(A,2)
ans =
     0
     1
c(:,:,1) =
    0.6787    0.7577
c(:,:,2) =
    0.7431    0.3922
c(:,:,3) =
    0.6555    0.1712
ans(:,:,1) =
     1
ans(:,:,2) =
     1
ans(:,:,3) =
     1

ゼロ以外の数値は、ベクトル要素があるかどうかを決定します

ここに画像を挿入説明

>> A=[0 1 2; 0 3 4]
A =
     0     1     2
     0     3     4
>> any(A)
ans =
     0     1     1
>> any(A,2)
ans =
     1
     1

ビュー変数が存在しないか、機能が存在するかどうか

ここに画像を挿入説明

ここに画像を挿入説明

検索:非ゼロ要素の位置識別子のベクトルまたは行列を見つけます

  • 在许多情况下,都需要对矩阵中符合某一特定条件的元素的位置进行定位,如将某一矩阵中为零的元素设为1等。如果这个矩阵的元素非常多,手工修改非常麻烦,灵活运用find函数和各种逻辑及关系运算可以是实现绝大多数条件的元素定位。find函数的基本用法有k=find(A),[i,j]=find(A),[i,j,v]=find(A),这是个很有用的逻辑函数,在对数组元素进行查找,替换和修改变化等操作中占有非常重要的地位。

    k=find(A)

  • 此函数返回由矩阵A的所有非零元素的位置标识组成的向量。如果没有非零元素会返回空值。
    二维数组先寻找列再寻找行
    ここに画像を挿入説明
    三维数组寻找值
    ここに画像を挿入説明

    [i,j]=find(A)

  • 此函数返回矩阵A的非零元素的行和列的表示,其中i代表行标而j代表列标。此函数经常用在稀疏矩阵中。在多维矩阵中通常将第一维用i表示,将其余各维作为第二维,用j表示。
    ここに画像を挿入説明

    [i,j,v]=find(A)

  • 此函数返回矩阵A的非零元素的行和列的标识,其中i代表行标而j代表列表,同时,将相应的非零元素的值放入列向量v中,即i和j的值与[i,j]=find(A)取值相同,只是增加了非零元素的值这一项
    ここに画像を挿入説明

    利用find()函数实现部分矩阵的替换

    ここに画像を挿入説明

isfinite:确认矩阵元素是否为有限值

ここに画像を挿入説明

isempty:确认矩阵是否为空矩阵

  • 不要把空矩阵、零矩阵及矩阵不存在3个概念混淆,空矩阵说明矩阵存在,但是矩阵没有元素;零矩阵是指矩阵的所有元素都为零;矩阵不存在是指当前的工作空间中没有定义此矩阵变量。isempty(A)可以判断一个存在的矩阵变量是否为空矩阵,如果矩阵为空矩阵则返回逻辑“真",否则返回逻辑“假",一个空矩阵至少有一维是零,如0×0、0×5、0×3×3等。空矩阵没有任何元素,可以用函数size(A)来判断,如果其中有一维为零,则A就是零矩阵。(因为还有其他多个维度有可能其中只有方括号但是没有值)

    isequal:判断几个对象是否相等

  • マトリックスのためのオブジェクトA、B、C ...と同じタイプの、サイズおよびコンテンツのすべてかどうかを決定する(A、B、C ...)関数isequal、マトリックスは全て同じ寸法であり、そして行列要素このような条件が満たされている場合、同じ値が、関数であれば、オブジェクトと他のオブジェクトが同一ではないとして、それは論理「偽」に戻り、論理「真」、およびその逆を返します

    ISNUMERIC:オブジェクトデータであるかどうかを決定します

  • IsNumeric関数(A)等疎行列、倍精度行列、複素行列のようなデータ行列場合、この関数は論理「真」を返し、等であれば、文字列A、マトリックス構造、一方、論理は「偽」を返します

    他の論理機能

issparseスパースか否かを判断
isstrは列か否かを判断
ISLOGICALマトリックスは、論理行列か否かが判断される
ドメインの構造についてisfieldの決意対象行列かどうか
、それが構造isstruct決定されているか否かを
ishandleを画像ハンドルかどうかを判断します

おすすめ

転載: www.cnblogs.com/cloud-ken/p/11715568.html