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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab 思维数组_matlab多维数组

發布時間:2024/7/5 循环神经网络 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 思维数组_matlab多维数组 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.

一個三維數組由行、

列和頁三維組成,

其中每一頁包含一個由行和列構成的二

維數組。

2.

利用標準數組函數創建多維數組

A=zeros(4,3,2)

生成一個

4

3

2

頁的三維全

0

數組,

ones

rand

randn

等函數有相似的用法。

3.

利用直接索引方式生成多維數組

A=zeros(2,3)

A(:,:,2)=ones(2,3)

A(:,:,3)=4

上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索

引,添加第二頁、第三頁。

4.

利用函數

reshape

repmat

生成多維數組

B=reshape(A,2,9)

B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%

結果與上面一樣。

reshape(B,2,3,3)

reshape(B,[2?3?3])?%

結果與上面一樣。

提示:

reshape

函數可以將任何維數的數組轉變成其他維數的數組。

5.

利用

repmat

函數生成多維數組

C=ones(2,3)

repmat(C,[1

1

3])

%

repmat

寫出類似

reshape

repmat(C,1,1,3)

將顯示出錯

提示:

repmat

是通過數組復制創建多維數組的,上面的代碼即是將數組

C

在行

維和列維分別復制一次,然后再頁維復制三次得到

2

×

3

×

3

的三維數組。

6.

利用

cat

函數創建多維數組

a=zeros(2);

b=ones(2);

c=repmat(2,2,2);

D=cat(3,a,b,c)%

創建三維數組

D=cat(4,a,b,c)?%

創建

4

維數組。

D(:,1,:,:)?%

查看第一列的數據。

size(D)?%

可以知道數組

D

的具體維數。

6.

數組運算與處理

數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。

(

1

)

squeeze

函數用于刪除多維數組中的單一維(即大小為

1

的那些維)

E=squeeze(D)

size(D)?E

的數據和

D

一樣,但比

D

少了一維,只有

2

行、

2

列和

3

頁。

(

2

)

reshape

函數可以將一個三維向量變成一維向量。

v(1,1,:)=1:6

squeeze(v)

v(:)

(

3

)

reshape

函數用于改變多維數組的行、列、頁以及更高階的維數,但不改

變數組元素的總個數。

F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))

G=reshape(F,[3,2,4])

H=reshape(F,[4?3?2])

K=reshape(F,2,12)

1.一個三維數組由行、列和頁三維組成,其中每一頁包含一個由行和列構成的二維數組。?2.利用標準數組函數創建多維數組?A=zeros(4,3,2)?生成一個4行3列2頁的三維全0數組,ones,rand和randn等函數有相似的用法。?3.利用直接索引方式生成多維數組?A=zeros(2,3)?A(:,:,2)=ones(2,3)?A(:,:,3)=4?上面的代碼先生成一個二維數組作為三維數組的第一頁,然后通過數組直接索引,添加第二頁、第三頁。?4.利用函數reshape和repmat生成多維數組?B=reshape(A,2,9)?B=[A(:,:,1)?A(:,:,2)?A(:,:,3)]?%結果與上面一樣。?reshape(B,2,3,3)?reshape(B,[2?3?3])?%結果與上面一樣。?提示:reshape函數可以將任何維數的數組轉變成其他維數的數組。?5.利用repmat函數生成多維數組?C=ones(2,3)?repmat(C,[1?1?3])?%?repmat寫出類似reshape的repmat(C,1,1,3)將顯示出錯?提示:repmat是通過數組復制創建多維數組的,上面的代碼即是將數組C在行維和列維分別復制一次,然后再頁維復制三次得到2×3×3的三維數組。?6.利用cat函數創建多維數組?a=zeros(2);?b=ones(2);?c=repmat(2,2,2);?D=cat(3,a,b,c)%創建三維數組?D=cat(4,a,b,c)?%創建4維數組。?D(:,1,:,:)?%查看第一列的數據。?size(D)?%可以知道數組D的具體維數。?6.數組運算與處理?數組之間的運算要求兩個數組在任何一維都必須具有相同的大小。?(1)squeeze函數用于刪除多維數組中的單一維(即大小為1的那些維)?E=squeeze(D)?size(D)?E的數據和D一樣,但比D少了一維,只有2行、2列和3頁。?(2)reshape函數可以將一個三維向量變成一維向量。?v(1,1,:)=1:6?squeeze(v)?v(:)?(3)reshape函數用于改變多維數組的行、列、頁以及更高階的維數,但不改變數組元素的總個數。?F=cat(3,2+zeros(2,4),ones(2,4),zeros(2,4))?G=reshape(F,[3,2,4])?H=reshape(F,[4?3?2])?或K=reshape(F,2,12)

多維數組的重組按這樣的順序:第一頁的第一列、第二列……,第二頁的第一列、第二列……。?7.sub2ind函數和ind2sub函數用于多維數組的直接引用,索引順序與重組順序一致。?sub2ind(size(F),1,1,1)?%求第1行、第1列、第1頁的數值的單一索引?sub2ind(size(F),1,2,1)?%求第1行、第2列、第1頁的數值的單一索引?sub2ind(size(F),1,2,3)?%求第1行、第2列、第3頁的數值的單一索引?[r?c?p]=ind2sub(size(F),19)?%由單一索引求其對應的行列頁數值。?8.函數flipdim用于多維數組的翻轉,相當于二維數組中的flipud和fliplr函數。例如下面的代碼進行按行、列和按頁翻轉。?M=reshape(1:18,2,3,3)?flipdim(M,1)?%每一頁中的行翻轉?flipdim(M,2)?%每一頁中的列翻轉?flipdim(M,3)?%將第一和第三頁翻轉調換?9.函數shiftdim用于循環輪換一個數組的維數。如果一個數組r行、c列和p頁,則循環輪換一次,就生成一個c行、p列和r頁的數組。?M?%重新調用?shiftdim(M,1)?%輪換一次?shiftdim(M,2)?%輪換兩次?數組輪換后規律很難直觀理解,我們可以將三維數組看成一個類似魔方的方形盒子?函數shiftdim也支持負的循環輪換次數。執行該輪換時,數組的維數增加,并且多出的維數均為單一維。?M?%重新調用?size(M)?shiftdim(M,-1)?size(ans).?10.函數permute和ipermute用于實現多維條件下的轉置操作。從本質上講permute函數是shiftdimhas函數的擴展。?M?%重新調用?permute(M,[2?3?1])?shiftdim(M,1)?%兩者結果一樣?permute函數中的參數[2?3?1]表示使函數第二維成為第一維,第三維成為第二維,第一維成為第三維。?11.?permute(M,[2?1?3])?[2?1?3]表示將數組的行列相互轉置,頁保持不變(只在第一和第二維轉置)。?permute函數的第一個參數為待轉置的數組,第二個參數為轉置順序,它必須是待轉置的多維數組的維數的某種排列,否則所進行的轉置無法進行。?permute函數也可以用來將一個數組變成更高維的數組,例如shiftdim(M,-1)也可以用permute函數來實現。?permute(M,[4?1?2?3])?這是?因為任何一個數組都具有大于其本身尺寸的更高維數,并且這些維數均為單一維數。例如二維數組具有頁這一維,只是只有一頁。總之超過數組本身大小

的維數都是單一維。M是一個三維數組,其第四維必為單一維,因此將M的第四維與第一維轉置,第一維變成了單一維。?12.二維數組兩次轉置變換回原來的形式,對于多維數組,用函數ipermute來取消permute所執行的轉置操作。?M?%重新調用?permute(M,[3?2?1])?ipermute(M,[3?2?1])?%在我的Matlab上運行沒有達到預期效果?13.size函數返回數組每一維的大小?numel函數返回數組的總元素個數?當不指定size的返回值時,將返回一個由數組的各維數組成的向量。當我們知道數組的維數時,可以將維數返回到指定變量中。?[r?c?p]=size(M)?r=size(M,1)?c=size(M,2)?p=size(M,3)?v=size(M,4)?當一個數組的維數或者某數組維數不確定時,可以利用函數ndims獲得數組的維數值。例如:ndims(M),與length(size(M))等效。?多維數組常用函數:?函數?描述?ones(r,c,…),zeros(r,c,…)?rand(r,c,…),randn(r,c,…)?創建多維數組的基本函數,分別創建全1、全0.隨機(0-1之間)和隨機正態分布的多維數

組。?reshape(B,2,3,3)?reshape(B,[2?3?3])?將一個數組變形成任意維數的數組?repmat(C,[1?1?3])?將一個數組復制成一個任意維數的數組?cat(3,a,b,c)?沿著一個指定的維將數組連接起來?squeeze(D)?刪除大小等于1的維,即單一維。?sub2ind(size(F),1,1,1)?[r,c,p]=ind2sub(size(F),19)?將下標轉化為單一索引值?將單一索引值轉化成下標?flipdim(M,1)?沿著一個指定的維輪換順序。等效于二維數組

中的flippud和fliplr函數?shiftdim(M,2)?循環輪換。第二個參數為正的情況下,進行各

維的循環輪換;若為負數,將數組的維數增加。?permute(M,[2?1?3])?iprmute(M,[2?1?3])?多維數組的轉置操作,前者為轉置操作,后者為取消轉置操作。?size(M)?[r,c,p]=size(M)?返回各維的大小?r=size(M,1)?返回行數?c=size(M,2)?返回列數?p=size(M,3)?返回頁數?ndims(M)?獲取數組的維數?numel(M)?獲取數組的元素總個數

總結

以上是生活随笔為你收集整理的matlab 思维数组_matlab多维数组的全部內容,希望文章能夠幫你解決所遇到的問題。

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