日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

MATLAB基础速成

發布時間:2023/12/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB基础速成 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變量

MATLAB程序的基本數據單元是數組。標量在MATLAB里面也被當做數組處理,被看作只有一行一列的數組。數組可以定義為向量或矩陣,向量一般描述一維數組,矩陣一般描述二維或多維數組。數組的定義要用[]來括起來,數組中同一行元素間以空格或逗號','隔開,行與行間由分號';'隔開。

?

定義及賦值方式:

實數

>> x = 5

復數

>> x = 5 + 10i 或者>> 5 + 10j

行向量

>> x = [1 2 3] 或者>> x = [1, 2, 3]

列向量

>> x = [1; 2; 3]

3 * 3 矩陣

>> x = [1 2 3; 4 5 6; 7 8 9]

?

固定變量

pi???

? ? ? ?π

i, j??

? ? ??

inf ?????

? ? ? ?∞?

NaN

? ? ?非數

ans ?

? 默認變量

向量生成

1.直接生成向量

>> x = [0.00 1.00 2.00]

x =

0.00 1.00 2.00

>> x = [0.00 1.00 2.00]'?????????? %轉置

x =

0.00

1.00

2.00

2.利用冒號生成向量

用兩個冒號安順序

隔開‘第一個值’,‘步增’ 和‘最后一個值’ 就可生成指定的向量. 如果步增為1, 則可以省略掉步增

和一個冒號, 比如

>> x = 1:0.5:3

x =

[1.0 1.5 2.0 2.5 3.0]

>> y = 1:3

x =

[1 2 3]

3.利用線性等分生成向量

linspace(star,end,gap)? 生成一個線性等分向量

格式y=linspace(x1,x2,n)

表示生成n維向量,其中x1為第一個數,x2為最后一個數,當n默認時,系統默認生成100維向量。

例:

>>y=linspace(0,2,5)

y =

?

???????? 0??? 0.5000??? 1.0000??? 1.5000??? 2.0000

矩陣的生成

1.直接輸入矩陣

>> a=[1,2,3;4,5,6;exp(1),7/6,abs(-2.8)]

?

a =

?

??? 1.0000??? 2.0000??? 3.0000

??? 4.0000??? 5.0000??? 6.0000

??? 2.7183??? 1.1667??? 2.8000

2.利用函數生成矩陣

zeros生成全0陣

>> x=zeros(2,3)

x =

?

???? 0???? 0???? 0

???? 0???? 0???? 0

ones生成全1陣

>> y=ones(2)

?

y =

?

???? 1???? 1

???? 1???? 1

eye(m,n)生成單位陣

>> x=eye(2)

?

x =

?

???? 1???? 0

???? 0???? 1

獲取向量/矩陣中的元素

指定元素所在的行和列,即可獲得指定的一個或多個元素。

例:有矩陣A = [1 2 3; 4 5 6; 7 8 9]

>> x = A(1,3)

x =

3

>> y = A(2,:)

x =

[4 5 6]

>> z = A(1:2,1:2)

z =

[1 2; 4 5]

矩陣和數組運算

1.算數運算

1)基本運算

+

?加法運算

-

減法運算

*

乘法運算

/

右除運算

\

左除運算

^

指數運算

'

轉置運算

運算法則同線性代數

附:

x = A\B 是Ax =B 的解,而x=B/A是xA =B 的解。

2)點運算 針對同階對應分量的運算

?

.*

?乘法運算

./

右除運算

.\

左除運算

.^

指數運算

例:

>> A = [1 2; 3 4]

A =

1 2

3 4

>> B = A*A

B =

7 10

15 22

>> C = A.*A

C =

1 4

9 16

2.關系運算

判斷兩同階數組(或者一個是矩陣,另一個是標量)對應分量間的的關系。

<

小于

<=

?小于等于

>

大于

>=

大于等于

==

?等于

~=

不等于

若連個矩陣進行關系運算,則將兩個矩陣對應元素逐一進行關系運算。輸出結果只包含0和1。

例:

>> A = [1 3 4 2 5]

>> B = [2 1 3 5 4]

>> C = A>B % C = [1> 2, 3 >1, 4 >3, 2 >5, 5 >4]

C =

0 1 1 0 1

>> D = A<=3 % D = [1<=3, 3<=3, 4<=3, 2<=3, 5<=3]

D =

1 1 0 1 0

3.邏輯運算

&

|

~

例:

>> A = [1 3 4 2 5];

>> B = [2 1 3 5 4];

>> C = (A>B) & (A<=3)

C =

0 1 0 0 0

常用數學函數

sin

正弦

Asin

反正弦

cos

余弦

acos

反余弦

tan

正切

atan

反正切

cot

余切

acot

反余切

Exp

?指數函數

Sqrt

?平方根

Log

?自然對數

log10

以10 為底的對數

abs

絕對數

sign

符號函數

以上函數是針對矩陣對應元素逐一進行函數的運算。

例:

>> theta = 0:pi/3:pi

theta =

0 1.0472 2.0944 3.1416

>> sin(theta)

ans =

0 0.8660 0.8660 0.0000

數組操作函數

rot90(A)

將A逆時針方向旋轉90°

rot90(A,K)

將A逆時針方向旋轉(90*K)°

fliplr(A)

將矩陣A左右翻轉

flipud(A)

將矩陣A上下翻轉

flipdim(A,dim)

將矩陣A的dim維翻轉,dim=1表示行,dim=2表示列

max

輸出最大數

min

輸出最小數

sum

求和

例:

flipud, fliplr, rot90

>> A = [1 2 3; 4 5 6; 7 8 9];

>> B = flipud(A)

A =

7 8 9

4 5 6

1 2 3

>> C = rot90(A)

C =

3 6 9

2 5 8

1 4 7

sum

多維時默認求各列之和,若后加2則求各行之和

>> A = [1 2 3];

>> sum(A)

ans =

6

>> B = [1 2 3; 4 5 6; 7 8 9];

>> sum(B)

ans =

12 15 18

>> sum(B,2)

ans =

6

15

25

?

>> sum(B(:))??????? %求所有項總和

ans =

??? 45

max,min

>> A = [1 2 3];

>> max(A)????????

ans =

3

>> max(A,2)????? 將A中所有元素與2比較

ans =

2 2 3

>> B = [1 3 9; 4 8 6];????? B為2維按照每列取最大值

>> max(B)

ans =

4 8 9

>> max(B, [], 2)??????

ans =

9

8

基本語句

for .. end

if .. else .. end

while .. end

switch .. case .. end

?例:求1-10 以內的奇數和

% sum of the odd numbers between 1 and 10

x = 0;

for i = 1:10

if mod(i,2)

x= x + i;

end

end

?

簡單作圖

plot(x,y,'s')

其中x表示橫坐標向量,y表示縱坐標向量,s為選項字符串,用于控制線型與顏色。常用表示見繪圖參數表。

title(圖形名稱)

xlabel(x 軸說明); ylabel(y 軸說明)

text(x,y, 圖形說明)

legend(圖例1, 圖例2, ...)

grid on / grid off / grid minor

axis([xmin xmax ymin ymax]), xlim([xmin, xmax])

?

?

繪圖參數表

b

?藍

.

^

?向上三角形

-

?實線

g

?綠

o

?圓

<

?向左三角形

:

?點線

r

?紅

x

?叉號

?

?向右三角形

-.

?點劃線

c

?青

+

?加號

p

?五角星

--

?虛線

m

?紫

?

?星號

h

?六角星

?

?

y

?黃

s

?正方形

?

?

?

?

k

?黑

d

?菱形

?

?

?

?

w

?白

v

?向下三角形

?

?

?

?

?

例1:

x=-2*pi:0.1:2*pi;

y1=sin(x);

y2=cos(x);

plot(x,y1,'-b');

hold on???????????? %圖像保持

plot(x,y2,'-r');

xlabel('X')

ylabel('Y')

text(0,0,'(0,0)')

legend('sinx','conx')

例2:

%建模一家

t=0:pi/180:4*pi;

x=16*sin(t).^3;

y=13*cos(t)-5*cos(2*t)-2*cos(3*t)-cos(4*t);

plot(x-3,y,'-r',x+3,y,'-y',x+9,y,'-b');

axis([-20,25,-20,15]);

title('Cute and charming Family')

legend('Feng','Wei','Shi')

?

?

注:本文是我學習MATLAB時整理的筆記,方便日后查看復習。分享給大家,文中可能有一些錯誤,或簡陋難以理解的地方,大家可以指正,共同進步。(部分內容參照網上資料,侵刪)

總結

以上是生活随笔為你收集整理的MATLAB基础速成的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。