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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

MATLAB基础——关于数组(一)

發布時間:2023/12/29 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MATLAB基础——关于数组(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

變量和數組

MATLAB程序的基本數據單元是數組,標量在MATLAB中也被當做數組來處理
數組可以定義為向量(一般描述為一維數組)或矩陣(一般描述為二維或多維)
訪問數組中的元素:數組名+()
MATLAB變量名的命名:以字母開頭,可跟字母、數字、下劃線,只有前31個字符有效
區分字母的大小寫

強類型語言

像C語言一樣:

int a; double b;

弱類型語言

像Matlab、Python一樣:

c = 'l am a student' % 不需要給變量設定一個變量類型 % 而只需通過復制形式創建類型,且變量類型取決于創建時的類型

變量的初始化

賦值語句初始化

input函數從鍵盤輸入初始化變量



ans=0 說明輸入的不是一個整形

從文件讀取一個數據

賦值輸入

一個數組的每行元素的個數必須完全相同,每一列元素的個數也必須完全相同

對數組中元素的訪問,采用 數組名 (number)的形式,number是從1開始。

a1=[0,2,4];
b=[a1(2) a1];
b

b =

2 0 2 4

定義數組的時候不是每個元素都要定義

c(2,3)=5

c =

0 0 00 0 5

指定數組中的一個元素賦值,其余默認為零
如果給一個數組賦值的元素超出了數組的大小的話,會新創一個數組(語文水平不高,還是matlab菜鳥,見諒,不懂看一下代碼就曉得了)

d=[1,4]

d =

1 4

d(3)=8

d =

1 4 8

每個語句的末尾分號用來緊致變量值在命令窗口的重復

表達式賦值

matlab中的克隆運算符為:first:incr:last(起始位置,步長,終止位置)

x=1:2:10

x =

1 3 5 7 9

類似于Python中的切片

a = [1,2,3,4,5,6,7,8]for i in a[::-1]:print(i)

結果為:8 7 6 5 4 3 2 1
但是Python中的第一個是起始位置,第二個是終止位置,最后一個是步長

matlab中的0.01表示注意

x=(.01:.01:.1)*pi
% 該式子的起始是0.01 步長為0.01,終止位置為0.1
x =

1 至 8 列

0.0314 0.0628 0.0942 0.1257 0.1571 0.1885 0.2199 0.2513

9 至 10 列

0.2827 0.3142

轉置運算符 '(英文單引號)

d=[1:5]

d =

1 2 3 4 5

h=[d’]

h =

12345

zeros函數(全零矩陣)

a=zeros(2)

a =

0 00 0

% 如果只有一個參數則生成n階矩陣,如果給了m,n兩個參數則生成mXn矩陣

b=zeros(2,4)

b =

0 0 0 00 0 0 0

ones(n) and one(m,n)

一個參數,生成n階一矩陣
兩個參數,生成mXn矩陣,eye函數相同
創建一個全1矩陣

a=ones(3)

a =

1 1 11 1 11 1 1

a=ones(3,4)

a =

1 1 1 11 1 1 11 1 1 1

b=eye(2)

eye(n) and eye(m,n)

生成單位矩陣
b =

1 00 1

b=eye(2,3)

b =

1 0 00 1 0

向量或數組的長度(取最大值)

length(b)

ans =

3

size(矩陣的大小)

size(b)

ans =

2 3

矩陣、數組、向量

A=[1,2;3,4;5,6]

A =

1 23 45 6

B=[1,2,3,4]

B =

1 2 3 4

C=[B’]

C =

1234

A是2X3的矩陣,B是一個一維行向量,C是一個一維行向量

多維數組

c(:,:,1)=[1,2,3;4,5,6] c1(:,:,2)=[1,2,3;4,5,6]

c =

1 2 34 5 6

whos c
Name Size Bytes Class Attributes

c 2x3 48 double
c1(:,:,2) =

1 2 34 5 6

whos c1
Name Size Bytes Class Attributes

c1 2x3x2 96 double

MATLAB中以列主導順序分類數組中的元素

a=[1,2,3;4,5,6;7,8,9;10,11,12]

a =

1 2 34 5 67 8 9 10 11 12

a(4)

ans =

10

a(2)

ans =

4

a(5)

ans =

2

a(1,2)

ans =

2

a(4,1)

ans =

10

數組名(object),object可以是一個數字(第幾個),也可以是兩個數字(幾行幾列)

子數組

使用克隆運算符

a(:,1:1:3)

ans =

1 2 34 5 67 8 9 10 11 12

a(:,1:2:3)

ans =

1 34 67 9 10 12

a(:,1:3:3)

ans =

147 10

a(1,:)

ans =

1 2 3

a(2,:)

ans =

4 5 6

a(3,:)

ans =

7 8 9

a(4,:)

ans =

10 11 12

a(5,:)
索引超出矩陣維度。

a(:,1)

ans =

147 10

a(:,2)

ans =

258 11

a(:,3)

ans =

369 12

a(:,4)
索引超出矩陣維度。

end函數

a

a =

1 2 34 5 67 8 9 10 11 12

a(3:end,3:end)

ans =

9 12

這里的a(行,列),類似于Python中的索引(切片)

x=[1,2,3,4,5,6,7,8] print(x[3:])


將會從下標為3的元素開始直到結束

更改數組元素的值

子數組賦值只會改變部分值,如果直接賦值則會先把該數組原有內容刪除,再賦新值

a

a =

1 2 34 5 67 8 9 10 11 12

a(1:3,[2,3])=[22,33;55,66;88,99]
% 1:3 表示1到3行,[2,3]表示2到3列剩下的為更換的值,更換的值也可以用一個數字表示,則所要更改的元素都為該數字
a =

1 22 334 55 667 88 99 10 11 12

總結

以上是生活随笔為你收集整理的MATLAB基础——关于数组(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

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