matlab中怎樣將三維陣列的維賦給二維如A1)賦給二維的B

2021-08-29 12:46:08 字數 5025 閱讀 2306

1樓:

1, 直接賦值 b= a(:,:,1) ,試了一下可以。

2. 先用次sum求每行元素和,因為要求 「每個元素都除以每列之和」,所以得用1次for迴圈

2樓:酷呆愛死呆

1 三維陣列中的各個為也是二維陣列,所以賦值可以直接賦即可!

假設a是三維陣列,b是二維陣列

b=a(:,:,1),b=a(:,:,2),b=a(:,:,3)分別把a的三維中的

一、二、三維賦給b。

2 matlab操作比較簡單,用一個迴圈即可,控制其列

>> a=rand(5,5)

a =0.9501 0.7621 0.6154 0.4057 0.0579

0.2311 0.4565 0.7919 0.9355 0.3529

0.6068 0.0185 0.9218 0.9169 0.8132

0.4860 0.8214 0.7382 0.4103 0.0099

0.8913 0.4447 0.1763 0.8936 0.1389

>> m=sum(a)

m =3.1654 2.5032 3.2437 3.5620 1.3727%%sum得到的結果就是每列之和

>> for i=1:5

a(:,i)=a(:,i)/m(i);%%然後給每列除以其之和,a(:,1)表示第一列,a(:,2)表示第二列,以此類推

end>> a

a =0.3002 0.3045 0.1897 0.1139 0.0422

0.0730 0.1824 0.2441 0.2626 0.2571

0.1917 0.0074 0.2842 0.2574 0.5924

0.1535 0.3281 0.2276 0.1152 0.0072

0.2816 0.1777 0.0543 0.2509 0.1012

3樓:匿名使用者

b(:)=a(:,:,:);這樣一個語句就搞定啦!

4樓:杜茂彥

b = a(:,:,1)

matlab中,在一個三維矩陣中如何提取出一個二維矩陣?

5樓:匿名使用者

設原三維陣列為a,用permute(a(:,1,:),[1 3 2]):

>> a=rand(2,3,4)

a(:,:,1) =

0.3046    0.1934    0.30280.1897    0.6822    0.5417a(:,:,2) =

0.1509    0.3784    0.85370.6979    0.8600    0.5936a(:,:,3) =

0.4966    0.8216    0.81800.8998    0.6449    0.6602a(:,:,4) =

0.3420    0.3412    0.

72710.2897    0.5341    0.

3093>> b=permute(a(:,1,:),[1 3 2])b =0.

3046    0.1509    0.4966    0.

3420

0.1897    0.6979    0.8998    0.2897

matlab三維矩陣轉為二維矩陣

6樓:mxx米小夕

方法1:

採用baireshape處理。

方法2:

採用:dusqueeze 處理。zhi

方法3:

在定義dao的時候內,抽取元素形式為a=b(:,:,i)。

1.matlab中三維陣列順序容

是:行、列、頁。二維陣列只有行、列。如果兩隻之間賦值,有一個維數縮減問題需要注意。

前者可以縮減為二維,而後者不能縮減為二維的主要原因就在於,三維矩陣中,第一維度代表行,第二維度代表列,第三維度代表頁,當第三維度為1時,代表只有1頁,自然縮減為二維。當第一維度為1時,代表只有一行,但是每頁都有。

2.matlab中三維陣列順序是:行、列、頁。二維陣列只有行、列。如果兩隻之間賦值,有一個維數縮減問題需要注意。

前者本來也應該算是三維的,可以縮減為二維,而後者不能縮減為二維的主要原因就在於,三維矩陣中,第一維度代表行,第二維度代表列,第三維度代表頁,當第三維度為1時,代表只有1頁,自然縮減為二維。當第一維度為1時,代表只有一行,但是每頁都有。

7樓:波波球

對啊,可抄以 用reshape來實現,只襲是實現的格式需要你自己把握比如

for ii=1:4

for jj=1:3

for kk=1:2

a(kk,jj,ii)=ii+jj+kk;

endend

endb=reshape(a,,3)

就是把areshape成n*3的矩陣了

8樓:匿名使用者

a=rand(m,n,6)

b=reshape(m*n,6)

一個示例:

>> a=rand(2,3,2)

a(:,:,1) =

0.8147 0.1270 0.63240.9058 0.9134 0.0975a(:,:,2) =

0.2785 0.9575 0.15760.5469 0.9649 0.9706>> b=reshape(a,6,2)

b =0.8147 0.2785

0.9058 0.5469

0.1270 0.9575

0.9134 0.9649

0.6324 0.1576

0.0975 0.9706

matlab三維矩陣怎麼轉為二維矩陣?

9樓:mxx米小夕

方法1:

採用reshape處理。

方法2:

採用:squeeze 處理。

方法3:

在定義的時候,抽取元素形式為a=b(:,:,i)。

1.matlab中三維陣列順序是:行、列、頁。二維陣列只有行、列。如果兩隻之間賦值,有一個維數縮減問題需要注意。

前者可以縮減為二維,而後者不能縮減為二維的主要原因就在於,三維矩陣中,第一維度代表行,第二維度代表列,第三維度代表頁,當第三維度為1時,代表只有1頁,自然縮減為二維。當第一維度為1時,代表只有一行,但是每頁都有。

2.matlab中三維陣列順序是:行、列、頁。二維陣列只有行、列。如果兩隻之間賦值,有一個維數縮減問題需要注意。

前者本來也應該算是三維的,可以縮減為二維,而後者不能縮減為二維的主要原因就在於,三維矩陣中,第一維度代表行,第二維度代表列,第三維度代表頁,當第三維度為1時,代表只有1頁,自然縮減為二維。當第一維度為1時,代表只有一行,但是每頁都有。

10樓:匿名使用者

a=rand(m,n,6)

b=reshape(m*n,6)

一個示例:

>> a=rand(2,3,2)

a(:,:,1) =

0.8147    0.1270    0.63240.9058    0.9134    0.0975a(:,:,2) =

0.2785    0.9575    0.15760.5469    0.9649    0.9706>> b=reshape(a,6,2)

b =0.8147    0.2785

0.9058    0.5469

0.1270    0.9575

0.9134    0.9649

0.6324    0.1576

0.0975    0.9706

拓展:1、matlab 是美國mathworks公司出品的商業數學軟體,用於演算法開發、資料視覺化、資料分析以及數值計算的高階技術計算語言和互動式環境,主要包括matlab和simulink兩大部分。

2、matlab是matrix&laboratory兩個詞的組合,意為矩陣工廠(矩陣實驗室)。是由美國mathworks公司釋出的主要面對科學計算、視覺化以及互動式程式設計的高科技計算環境。它將數值分析、矩陣計算、科學資料視覺化以及非線性動態系統的建模和**等諸多強大功能整合在一個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程式設計語言(如c、fortran)的編輯模式,代表了當今國際科學計算軟體的先進水平。

如何建立matlab三維矩陣?請給出一個matlab三維矩陣建立的具體過程。

11樓:匿名使用者

在matlab中習慣性的會將二維陣列中的第一維稱為「行」第二維稱為「列」,而對於三維陣列的第三位則是習慣性的稱為「頁」。在matlab中將三維及三維以上的陣列統稱為高維陣列,三維陣列也是高階運算的基礎

比如說,我的資料是四列的,分別表示座標:x,y,z,和對應點的溫度值!

x  y   z    t

1  1  1  15

2  2   2  20

3  3   3  22

4  4   4   25

5   5   5   23

用a(a,b,c)=b的方法來賦值,a=[1 2 3] 用a(:,:,2)=[2 3 4]就可以表示另一個面

但這個方法很麻煩,

通常情況下用三維矩陣的時候先初始化好,確定要用的三維矩陣是多大的。

國際象棋的棋盤(8*8)可以看作二維的,而每一個格子上可以放一個棋子,用數字1到6和7到12對應兩方6類棋子,0表示不放棋子,那麼一個8*8的矩陣,各元素是0--12,就可以表示一盤棋。現在有5個盤棋,那麼就有一個三維矩陣(8*8*5),顯然矩陣中每一個元素都是0到12中的一個數。

用a表示這個三維矩陣,那麼a(:,:,1)表示第1個棋盤,a(:,:,2)表示第2個棋盤。。。。依次類推。

matlab怎麼實現三維陣列的視覺化

1 不同的顏色 hsv 2 用球 點 的大小來代表資料大小 plot3 三維構圖 圖形三維立體視覺化在matlab中的實現和處理 三維圖形的繪製除了常用的網格圖 表面圖和等高線等方法外,matlab還提供了一些立體視覺化函式用於繪製更為複雜的立體和向量物件。這些函式通常在三維空間中構建標量和向量的圖...

求助matlab中如何畫這樣三維圖形

例如 x 0 1 10 y 0 0.5 6 x,y meshgrid x,y 生成13 11的矩陣z 1 143 z值是隨意的,你可以用自己的版資料z reshape z,13,11 變為權13 11矩陣surf x,y,z x 0 0.5 100 y 0 2.0 12.0 x,y meshgrid...

matlab如何將二維陣列繪製成影象

1 首先,在工復 作命令視窗 制 mand windows輸入下述命令,用來定義x變數 x 0 0.01 2 pi 其中0.01表示步長,如下圖所示 2 其次,我們利用上述例題中的函式關係定義y與x之間的關係,輸入 y 2 exp 0.5 x cos 4 pi x error using mtime...