Matlab掃盲11:關(guān)系運算、運算符、查找矩陣中的特定元素
1.概念
關(guān)系運算(relational)使用“小于”,“大于”和“不等于”等運算符,定量地比較運算數(shù),比較的結(jié)果是一個邏輯數(shù)組,關(guān)系為真時返回1,關(guān)系為假時返回0;(建議看本文之前先看文章10:Matlab掃盲簡文10:邏輯型數(shù)據(jù)、邏輯運算)
2.關(guān)系運算符
符號??功能? 函數(shù)
==? 判斷相等? eq
~=? 判斷不等于? ne
>??判斷大于??gt
>=??判讀大于等于? ge
<??判斷小于? lt
<=??判斷小于等于? le
3.基本用法
程序示例:
>> a=[1 2 3]
>> a>1? %判斷a中每個元素是否大于1,返回[0 1 1]
>> a==1? %返回[1 0 0]
>> a>=a? %返回[1 1 1]
4.復數(shù)的關(guān)系運算
復數(shù)包括實部和虛部,對于等于“==”和不等于“~=”,同時判斷實部和虛部是否相等;對于非等于(大于、大于等于、小于、小于等于),僅比較實部,忽略虛部;
程序示例:
>> b=3+4i
>> c=3+5i
>> c>=b? %返回1
>> c==b? %返回0
5.空矩陣的關(guān)系運算
關(guān)系運算中,只要存在一個運算數(shù)為空矩陣,結(jié)果都返回空的邏輯數(shù)組;
程序示例:
>> []>[]
>> []==[]
>> []==2
>> []==[1 2 3]? %報錯,維度不一致,不能進行關(guān)系運算
6.無窮大和非值的關(guān)系運算
判斷一個數(shù)值是否等于無窮大(Inf)或者非值(NaN),不是使用運算符“==”,而是使用特定的函數(shù):isinf和isnan;
程序示例:
>> a=inf
>> isinf(a) %返回1
>> isnan(a) %返回0
7.實例:查找矩陣中的特定元素
題目:查找矩陣a=[1 2 3]中,大于1小于3的數(shù)值;
程序:
>> a=[1 2 3];
>> index1=a>1; %關(guān)系運算
>> index2=a<3; %關(guān)系運算
>> index=index1 & index2; %邏輯與
>> a(index) %矩陣索引
8.相關(guān)視頻

End