matlab運算符與基本運算?1.算術運算(arithmetic)主要指加減乘除、幂和舍入等運算,今天小編就來聊一聊關于matlab運算符與基本運算?接下來我們就一起去研究一下吧!
1.算術運算(arithmetic)主要指加減乘除、幂和舍入等運算
2.說明
Matlab有兩種不同類型的算術運算:數組運算和矩陣運算
數組運算基于元素的運算,支持任意向量、矩陣和多維數組
矩陣運算遵循線性代數的規則
字符(.)區分矩陣運算和數組運算
數組運算和矩陣運算的加減法則相同,所以. 和.-是不必要的
運算數之一為标量時,乘法法則相同,所以.*是不必要的
運算數都為标量時,除法法則相同,所以./是不必要的
3.兩種運算符
數組運算符彙總表
運算符 |
功能 |
描述 |
函數 |
加法 |
A B |
plus | |
一元加 |
A |
uplus | |
- |
減法 |
A-B |
minus |
- |
一元減 |
-A |
uminus |
.* |
乘法 |
A.*B是的對應元素的乘積 |
times |
.^ |
幂 |
A.^B是對應元素A(i,j)的B(i,j)次幂 |
power |
./ |
右除 |
A./B是對應元素的A(i,j)/B(i,j) |
rdivide |
.\ |
左除 |
A.\B是對應元素的B(i,j)/A(i,j) |
ldivide |
.' |
轉置 |
A.'是數組A的轉置 |
transpose |
矩陣運算符彙總表
運算符 |
功能 |
描述 |
函數 |
* |
矩陣乘法 |
A*B |
mtimes |
\ |
矩陣左除 |
x = A\B是等式Ax = B的解 |
mldivide |
/ |
矩陣右除 |
x = B/A是等式xA = B的解 |
mrdivide |
^ |
矩陣的幂 |
如果B是一個标量,A^B是A的B次幂;對于其他值B,計算涉及特征值和特征向量 |
mpower |
' |
複共轭轉置 |
A'是A的轉置。對于複矩陣,是複共轭轉置 |
ctranspose |
4.實例演示
%1_16
a=[1 2;3 4]
a a %數組加法
a-a %數組減法
a.*a %數組乘法:對應元素乘積
a*a %矩陣乘法:線性代數
a./a %數組除法:對應元素相除
a/a %矩陣除法:得出單位矩陣對角線為1
a.^3 %數組幂:單個元素分别求幂
a^3 %矩陣幂:即a*a*a
a*a*a
a*5 %有标量作為計算數時,數組和矩陣乘法法則相同
a.*5 %因此可用矩陣乘法*替代數組乘法
a' %複共轭轉置
a.' %轉置:行數變列數
sin(a) %對a中每個元素求sin(調用函數大多執行數組運算)
[sin(1) sin(2);sin(3) sin(4)] %與上式相同
exp(a) %數組的指數運算:函數調用,同上述sin運算
expm(a) %矩陣的指數幂運算:函數後加m,matrix
(-1)^(1/2) %負數開方産生虛數單位
sqrt(-1) %同上
(5 2i)*(5-2i) %複數運算
1.介紹一些算術運算的常用函數
2.認識函數
加plus
減minus
乘times
除rdivide
矩陣乘法mtimes
矩陣左除mldivide
求和sum
乘積prod
舍入round
向-inf舍入floor
向inf舍入ceil
向0舍入fix
模操作mod
3.實例演示
%1_17
%freexyn
a=[1 2;3 4]
a a %數組加法
plus(a,a) %數組加法(函數形式)
minus(a,a) %數組減法
times(a,a) %數組乘法:單個元素對應相乘
rdivide(a,a)
mtimes(a,a) %矩陣乘法
mldivide(a,a) %矩陣除法
sum(a) %矩陣a求和:按列操作
sum([1 2 3 4]) %行向量求和:所有元素加和
sum([1 2 3 4]') %轉置為列向量:同為所有元素加和
prod(a) %數組a中元素求乘積:按列相乘;該函數若輸入行、列向量則所有元素乘積
round(2.6) %舍入:就近舍入即四舍五入
floor(2.6) %向負無窮舍入
ceil(2.3) %向正無窮舍入
fix(2.6) %向0舍入
fix(-2.6)
mod(5,2) %餘數(模操作):被除數、除數
rem(5,2) %求餘數(大多情況與mod相同)
mod(-5,2) %被除數為負數時,結果不一樣
rem(-5,2)
1.邏輯型和邏輯運算
邏輯型(logical)數據是用數字1和0分别表示真(true)或假(false)的狀态
2.認識函數
邏輯型logical
真true
假false
判斷邏輯型islogical
全為真all
是否為真any
3.說明
Matlab中一些運算會返回邏輯值,表示一個條件是否被滿足
可以使用這些邏輯值來索引數組或執行條件代碼
邏輯運算符
符号 |
功能 |
函數 |
& |
邏輯與 |
and |
| |
邏輯或 |
or |
~ |
邏輯非 |
not |
&& |
短路的邏輯與 | |
|| |
短路的邏輯或 |
邏輯真值表
A |
B |
and A & B |
or A | B |
xor xor(A,B) |
not ~A |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
0 |
4.實例演示
%1_18
a=[0 1 2 -1]
logical(a) %創建邏輯型:0為假返回邏輯0,其他非0數字都是真返回1
islogical(a)
islogical(b)
true & false %邏輯與
true | false %邏輯或
~true
1 & 0
2 & 0
~100
1 && 0 %短路的與:功能與“與”相同
1 || 0
% [1 0] && [0 0] %短路的與、或隻适用于标量運算
[1 0] & [0 0] %邏輯與可以用于數組
all([0 1 1]) %判斷全為真
all([1 1 1])
any([0 1 1]) %判斷任一為真,有一個真則結果為真,全為假結果為假
any([1 1 1])
any([0 0 0])
c=~a %a取非再賦值給c,則c為邏輯數組[1 0 0 0]
a(~mod(a,2)) %a中偶數餘數取到0再取非則為真返回1,邏輯真被索引到返回相應偶數元素
true & [] %結果為空的邏輯數組,涉及到空矩陣的任何邏輯運算結果都是空邏輯數組
1.關系運算
關系運算(relational)使用“小于”,“大于”和“不等于”等運算符定量地比較運算數,比較的結果是一個邏輯數組,在關系為真的位置顯示1
作者:freexyn 整理/注釋:韓松嶽
2.認識函數
查找元素find
3.關系運算符
關系運算符
符号 |
功能 |
函數 |
== |
判斷相等 |
eq |
~= |
判斷不等于 |
ne |
> |
判斷大于 |
gt |
>= |
判讀大于等于 |
ge |
< |
判斷小于 |
lt |
<= |
判斷小于等于 |
le |
4.實例演示
%1_19
a=[1 2 3]
a>1 %分别判斷元素是否大于1,滿足關系返回邏輯值1,否則0
a>a %返回0 0 0
a>=a %每個數都等于自己,返回三個1
[]>[] %關系運算中隻要存在空矩陣,結果都返回空的邏輯數組
[]==[]
[]==2
%[]==[1 2 3] %報錯,矩陣維度不一緻無法比較(進行關系運算)
b=3 4i %複數關系運算
c=3 5i
c<=b %非等于關系的比較,隻比較實部3
c==b %返回0。說明:複數關系運算中,==與~=會比較實部和虛部(上述例子中3和3、4和5),其他非等于關系的比較,隻比較實部
a>1 & a<3 %将兩個邏輯結果進行“與”運算,結果仍為邏輯值
tf=a>1 & a<3 %将上述結果賦值給變量tf
a(tf) %使用邏輯索引,提取矩陣中滿足特定條件的元素
index=find(a>1 & a<3) %返回輸入變量中條件為真的元素的線性索引
a(index) %使用線性索引,提取矩陣中滿足特定條件的元素
a(a>1 & a<3)=10 %使用邏輯索引,修改滿足特定條件的元素的值
1.Matlab中各類、多種運算符組合使用時的優先運算順序
2.優先級順序
可以任意組合使用算術運算符、關系運算符和邏輯運算符等形成的表達式進行運算,Matlab進行運算處理的順序取決于每個運算符的優先級。在每個優先級中,運算符具有相同的優先級,并從左到右進行處理。Matlab運算符的優先級規則從最高到最低排序如下
括号 ()
轉置 (.'), 幂(.^), 複共轭轉置 ('), 矩陣的幂(^)
一元減的幂(.^-),一元加的幂(.^ ),邏輯非的幂(.^~) 一元減的矩陣的幂(^-), 一元加的矩陣的幂(^ ),邏輯非的矩陣的幂 (^~).
一元加( ),一元減(-),邏輯非(~)
乘法(.*),右除(./),左除(.\),矩陣的乘法(*),矩陣的右除(/),矩陣的左除 (\)
加法 ( ), 減法(-)
冒号(:)
關系運算符(<),(<=),(>), (>=), (==), (~=)
邏輯與(&)
邏輯或(|)
短路邏輯與(&&)
短路邏輯或 (||)
3.實例演示
%1_20
1>=1 1 %四則運算高于關系運算符
(1>=1) 1
1:2 3 %四則運算高于冒号運算符
(1:2) 3
1|1&0 %邏輯與高于邏輯或
(1|1)&0
1.基本運算中數組大小的兼容性(2016b)
2.說明
這裡兼容性是指,兩個大小不同的數組是否能夠進行運算
兩個完全相同大小的數組可以運算
其中之一是标量的兩個大小不同的數組可以運算
一個是行向量,一個是列向量,可以運算
一個是矩陣,一個是具有相同行數的列向量,可以運算
一個是矩陣,一個是具有相同列數的行向量,可以運算
一個是矩陣,一個是具有相同行數和列數的三維數組,可以運算
這裡的兼容性運算主要指數組的四則運算
3.實例演示
%1_21
a=[1 2;3 4]
b=[1 2]
c=[3;4]
a a
a 2 %矩陣與标量運算:将标量擴展為前面矩陣的兼容性大小,再遵循數組四則運算
a.*2
a*2
b c %先擴展為兼容性大小:b複制行、c複制列,再運算
a b
a c
a.*b
a.*c
% a*b %無法運算,不滿足矩陣乘法
a*c %可以運算,但并非兼容性運算,而是滿足矩陣乘法
d=cat(3,a,a) %參數3是在3維方向連接兩個矩陣a和a
a d %不同維度的數組也可兼容性運算
a.*d %可兼容性運算
bsxfun(@plus,a,d) %低版本兼容性運算函數:第一輸入參數表示運算符,後面輸入參數表示運算數
(第三章結束,後接第四章)
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!