MATLAB 1 6基本運算

2021-10-06 10:40:44 字數 3440 閱讀 8642

2)點運算

2. 關係運算子

3. 邏輯運算

4. 運算子優先順序

5. 求全部水仙花數

矩陣a列數與矩陣b行數相同,此時稱矩陣a,b是可乘的,或矩陣a,b的維數和大小相容。

若a矩陣是非奇異方陣(可逆矩陣),則b/a等效於b*inv(a),a\b等效於inv(a)*b。

b右除以a:b/a

b左除以a:a\b

對矩陣來說,右除和左除表示兩種不同的除數矩陣和被除數矩陣關係。

左除和右除運算結果不同。

>> a=

[1,2,3;4,2,6;7,4,9]

;>> b=

[4,3,2;7,5,1;12,7,92]

;>> c1=b/a

c1 =

-0.1667 -3.3333 2.5000

-0.8333 -7.6667 5.5000

12.8333 63.6667 -36.5000

%為什麼會出現負值,不是矩陣對應位置元素相除嗎?

>> c2=a\b

c2 =

0.5000 -0.5000 44.5000

1.0000 0.0000 46.0000

0.5000 1.1667 -44.8333

%對於含有標量的運算,兩種除法運算的結果相同

>> 3/4

ans =

0.7500

>> 3\4

ans =

1.3333

>> 4\3

ans =

0.7500

>> a=

[10.5,25]

a = 10.5000 25.0000

>> a/5

ans =

2.1000 5.0000

>> 5\a

ans =

2.1000 5.0000

>> a\5

ans =

0 0.2000

%左除相當於:a\b,b左除以a

語法:a^x,a為方陣,x為標量

>> a=

[1,2,3;4,5,6;7,8,0]

;>> a^2

ans =

30 36 15

66 81 42

39 54 69

>> a=

[1,2,3;4,5,6;7,8,9]

;>> b=

[-1,0,1;1,-1,0;0,1,1]

;>> c=a.*b

c = -1 0 3

4 -5 0

0 8 9

%兩矩陣對應元素做乘法運算

>> d=a*b

d = 1 1 4

1 1 10

1 1 16

%矩陣意義下的乘法運算

>> a./b

ans =

-1 inf 3

4 -5 inf

inf 8 9

>> a.\b

ans =

-1.0000 0 0.3333

0.2500 -0.2000 0

0 0.1250 0.1111

%點左除和點右除運算結果不同

>> x=0.1:0.3:1;

>> y=sin(x).*cos(x)

y = 0.0993 0.3587 0.4927 0.4546

%求y的表示式中,必須是點乘運算。因為x是乙個向量,sin(x)和cos(x)是和x同長度的向量。如果用乘法運算,會因兩個向量相乘不相容而出錯。

六種關係運算子:<,<=,>,>=,==,~=(不等於)

直接比較兩數的大小。若關係成立,關係表示式結果為1,否則為0。

>> 3>5

ans =

logical

0>> x=5

x = 5

>> x==6

ans =

logical

0%乙個等號為賦值,兩個等號表示關係運算

對兩矩陣相同位置的元素按標量關係運算規則逐個進行,最終的關係運算結果是乙個與原矩陣同型的矩陣,元素由0或1組成。

把標量與矩陣的每乙個元素按標量關係運算規則逐個比較,最終的關係運算結果是乙個與原矩陣同型的矩陣,它的元素由0或1組成。

%判斷a的元素是否為偶數

>> a=

[1,2,3;4,5,6;7,8,9]

;>> p=rem(a,2)

==0p =

3×3 logical 陣列

0 1 0

1 0 1

0 1 0

%==右邊0被擴充套件為與a同型的零矩陣

邏輯運算子:&(與),|(或),~(非)

a&b,a、b全非零時,運算結果為1,否則為0。

a|b,a、b中只要有乙個為非零,運算結果為1。

~a,a為零時,運算結果為1;a為非零時,運算結果為0。

對矩陣相同位置上的元素按標量規則逐個進行運算,運算結果是乙個與原矩陣同型的矩陣,其元素由0或1組成。

在標量與矩陣的每乙個元素間按標量規則逐個計算,運算結果是乙個與原矩陣同型的矩陣,其元素由0或1組成。

算術運算》關係運算》邏輯運算

算術運算子優先順序最高,邏輯運算最低。但邏輯非運算是單目運算,其優先順序比雙目運算高。

>> ~9==1

ans =

logical

0%先運算~9,再比較0==1

水仙花數指各位數字的立方之和等於該數本身的三位正整數。

>> x=100:1:999;

%生成x向量

>> a=rem(x,10)

;>> b=rem(fix(x/10),10)

;>> c=fix(x/100)

;%因為x是向量,所以a,b,c是與x同長度的向量

>> y=find(x==a.*a.*a+b.*b.*b+c.*c.*c)

%在向量x中,找到水仙花數在x中的序號,賦給向量y

%find(

)找的只是序號

y = 54 271 272 308

>> z=x(y)

%輸出全部水仙花數

z = 153 370 371 407

%生成x向量,分別求個位數字向量、十位數字向量、百位數字向量

%注意求某數立方數的寫法,用.*,而不是^,乘方的右側只能為標量

Matlab基本運算

一.基本矩陣指令 reshape a,m,n 將a變成m n型矩陣 rot90 a 將a逆時針旋轉90度 fliplr a 左右翻轉 flipud a 上下翻轉 size a 求矩陣a的尺寸大小,返回值為a的行數和列數,故前面的返回值應為兩個。另外,a a m,選出a的第m行 b a n 選出a的第...

Matlab基本運算

基本運算 加 減 乘 左除,右除 乘方 注意 在矩陣運算時,左除和右除是不同的 在數乘運算時,左除和右除是一樣的 點運算 點乘.點左除.點右除.點乘方.小於 小於等於 大於 大於等於 等於 不等於 注意 標量的關係運算與矩陣的關係運算時不同 邏輯運算子 與 或 非 設參與邏輯運算的兩個標量a和b,那...

Matlab基本運算

1.基本算術運算 右除 左除 乘方 matlab下的運算時矩陣意義下的運算,單個資料的算術運算只是矩陣運算的一種特列。1 加減運算 要求矩陣同型或標量加減矩陣 2 乘法運算 要求a b矩陣可乘 3 除法 若a矩陣是非奇異方陣,則b a等效於b inv a a b等效於inv a b 2.點運算子 和...