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

歡迎訪問 生活随笔!

生活随笔

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

循环神经网络

matlab 高维数组赋值,MATLAB之三(高)维数组的创建

發布時間:2025/3/19 循环神经网络 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab 高维数组赋值,MATLAB之三(高)维数组的创建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用下標創建

習慣的,將二維數組的第一維稱為行,第二維稱為列,對于三維數組的第三維稱為頁。三維以及三維以上的數組稱為高維數組,由于高維數組比較抽樣,這里主要以三維數組為例介紹如何創建高維數組。%顯示A,將以一頁一頁的方式顯示

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

A(:,:,1) =

0 0

0 0

A(:,:,2) =

0 0

0 1for m = 1 : 2

for l = 1 : 2

for n = 1 : 2

A(m,l,n) = m + l + n; %這個三維數組的每個元素的值設為它所在的行數+列數+頁數

end

end

end

>> A

A(:,:,1) =

3 4

4 5

A(:,:,2) =

4 5

5 6

用低維數組創建高維數組

這個方法的思想是把三維數組看做是很多二維數組組成的,每個二維數組可以看做是三維數組的一頁,所以用低維數組創建高維數組要保證每個數組的規模相同,這樣才可以合并,具體如下:A = [1 2 3;4 5 6;7 8 9]; %A是一個三行三列的數組

B(:,:,1) = A; %B是一個三維數組,讓A為B的第一頁

B(:,:,2) = 2 * A; %2 * A為B的第二頁

B(:,:,3) = 3 * A; %3 * A為B的第三頁

%由于A,2*A,3*A的規模都是3*3的數組,所以可以合并成三維數組

B %顯示B

B(:,:,1) =

1 2 3

4 5 6

7 8 9

B(:,:,2) =

2 4 6

8 10 12

14 16 18

B(:,:,3) =

3 6 9

12 15 18

21 24 27

用函數創建三維數組

cat函數

之前介紹過的cat函數就可以,如下cat(dim, A1, A2, A3, ...)當dim = 1時,為行方向上連接,所以要保證矩陣的列數相同

當dim = 2時,為列方向上連接,所以要保證矩陣的行數相同

當dim = 3時,為頁方向上連接,所以要保證矩陣的規模相同

還有兩個函數與cat相似,一個叫horzcat(A1, A2, A3, ...),是將矩陣在水平方向上拼接(即列方向上),所以這個函數以cat(2, A1, A2, A3, ...)的效果是一樣的,另一個是vercat(A1, A2, A3, ...),是將矩陣在垂直方向(行方向上)拼接,同理,這個函數與cat(1, A1, A2, A3, ...)的效果是一樣的。>> A = [1 2 3;4 5 6;7 8 9]; %A是一個三行三列的數組

>> B = cat(3, A, 2*A, 3*A); %拼接A,2*A,3*A形成一個三維數組

>> B

B(:,:,1) =

1 2 3

4 5 6

7 8 9

B(:,:,2) =

2 4 6

8 10 12

14 16 18

B(:,:,3) =

3 6 9

12 15 18

21 24 27

repmat函數

repmat函數可以創建三維數組,repmat是repeat matrix的縮寫,顧名思義就是重復矩陣,所以repmat(A,[1 2 3 ...])的意思就是以A為一個元素,重復A形成一個1行2列3頁...的高維矩陣,具體用法如下:>> A = [1 2 3;4 5 6;7 8 9];

>> B = repmat(A,[2 3]); %以A為元素,形成一個2*3的數組

>> C = repmat(A,[1 2 3]); %以A為元素,形成一個1行2列3頁的數組

>> A,B,C

A =

1 2 3

4 5 6

7 8 9

B =

1 2 3 1 2 3 1 2 3

4 5 6 4 5 6 4 5 6

7 8 9 7 8 9 7 8 9

1 2 3 1 2 3 1 2 3

4 5 6 4 5 6 4 5 6

7 8 9 7 8 9 7 8 9

C(:,:,1) =

1 2 3 1 2 3

4 5 6 4 5 6

7 8 9 7 8 9

C(:,:,2) =

1 2 3 1 2 3

4 5 6 4 5 6

7 8 9 7 8 9

C(:,:,3) =

1 2 3 1 2 3

4 5 6 4 5 6

7 8 9 7 8 9

reshape函數

reshape()函數是將矩陣變量,只要變形后的矩陣元素個數與原矩陣元素個數相同,可以變為任一維的矩陣,所以reshape()函數也可以生成高維數組。>> A = [1 2 3;4 5 6];

>> B = reshape(A,[1 2 3]); %變形為1行2列3頁的三維矩陣,含有1 * 2 * 3 = 6個元素

%與A所含2 * 3 = 6個元素相同,所以可以變形

>> A,B

A =

1 2 3

4 5 6

B(:,:,1) =

1 4

B(:,:,2) =

2 5

B(:,:,3) =

3 6

特殊高維數組的創建

如同二維特殊數組的創建一樣,比如產生全1數組ones函數,產生全0數組的zeros函數,以及在二維數組介紹過的一些其他的函數,其中magic函數和eyes函數不能創建高維數組。>> A = ones(2,3,2); %創建2行3列2頁的全1數組

>> B = zeros(3,2,2); %創建3行2列2頁的全0數組

>> C = randn(2,4,3); %創建2行4列3頁服從標準正態分布的數組

>> A,B,C

A(:,:,1) =

1 1 1

1 1 1

A(:,:,2) =

1 1 1

1 1 1

B(:,:,1) =

0 0

0 0

0 0

B(:,:,2) =

0 0

0 0

0 0

C(:,:,1) =

0.5377 -2.2588 0.3188 -0.4336

1.8339 0.8622 -1.3077 0.3426

C(:,:,2) =

3.5784 -1.3499 0.7254 0.7147

2.7694 3.0349 -0.0631 -0.2050

C(:,:,3) =

-0.1241 1.4090 0.6715 0.7172

1.4897 1.4172 -1.2075 1.6302

總結

以上是生活随笔為你收集整理的matlab 高维数组赋值,MATLAB之三(高)维数组的创建的全部內容,希望文章能夠幫你解決所遇到的問題。

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