中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》
  • 首頁 > 
  • 教程 > 
  • 開發技術 > 
  • MATLAB編程與應用系列-第2章 數組及矩陣的創建及操作(4)

MATLAB編程與應用系列-第2章 數組及矩陣的創建及操作(4)

發布時間:2020-06-30 16:56:49 來源:網絡 閱讀:563 作者:德特數據 欄目:開發技術

本系列教程來源于出版設計《基于MATLAB編程基礎與典型應用書籍》,如涉及版權問題,請聯系:156204968@qq.com。 出版社:人民郵電出版社, 頁數:525。

本系列教程目前基于MATLABR2006a,可能對于更高級版本的功能和函數有差異,教程中如有問題,請聯系:156204968@qq.com

2.3 多維數組

###2.3.1 多維數組的創建
在MATLAB中創建和使用一維和兩維數組十分靈活,同樣MATLAB也提供了靈活多樣的創建多維數組的方法,使得用戶可以根據自己所創建多維數組的特征選取不同的創建方法。其中最常用的創建方法有:第一通過“全下標”元素賦值方式創建多維數組;第二由函數ones、zeros、rand和randn直接創建多維數組;第三借助構造函數創建多維數組。下面通過示例講解如何使用不同的方法創建多維數組。

(1)通過“全下標”元素賦值方式創建多維數組

【例2.15】“全下標”方式創建多維數組
在MATLAB命令行窗口中輸入以下命令,創建一個二維的四階魔方陣:
>> A=magic(4) %生成一個二維的四階魔方陣
以矩陣A為基礎,通過直接定義數組的第三維的方式,創建一個三維數組。在命令窗口中輸入:
>> A(:,:,2)=rand(4) %四階的隨機陣
上述語句的執行結果如下所示。
A(:,:,1) =<br/>16 2 3 13<br/>5 11 10 8<br/>9 7 6 12<br/>4 14 15 1
A(:,:,2) =<br/>0.4451 0.8462 0.8381 0.8318<br/>0.9318 0.5252 0.0196 0.5028<br/>0.4660 0.2026 0.6813 0.7095<br/>0.4186 0.6721 0.3795 0.4289

(2)由函數ones、zeros、rand和randn直接創建多維數組
前面介紹到了使用函數ones、zeros、rand和randn可以直接生成二維數組,除了生成二維數組的功能外,這些函數還可以生成多維數組。

【例2.16】用函數ones、zeros、rand和randn直接創建三維隨機數組
&gt;&gt; A=rand(4,5,3) %創建三維隨機數組
&gt;&gt; B=ones(4,2,6) %創建三維的單位矩陣
&gt;&gt; C=zeros(4,6,8); %創建三維的零值矩陣

(3)借助構造函數創建多維數組
多維數組的構造函數很多,如cat、repmat、reshape等,在這里主要介紹幾個常用的構造函數。表2.5所示為使用cat, repmat和reshape函數構造多維數組的函數調用格式和函數描述。
函數名 調用格式 函數描述
Cat A=cat(n,A1,A2,…,Am) n=1和n=2時分別構造[A1;A2]和[A1,A2],它們都是二維數組,而n=3時可以構造出三維數組
repmat repmat(p,行 列 頁 ……) 第一個輸入變量p是用來放置的模塊數組,后面的變量是要放置指定的維數。
reshape reshape(p,行 列 頁 ……) 第一個變量是待重組的數組p,后面的變量是重新生成數組的行數、列數、頁數等。

【例2.17】構造函數cat、repmat、reshape創建多維數組
首先生成構造函數使用的兩個矩陣A和B,具體如下:
&gt;&gt; A=rand(4) %二維數組A
&gt;&gt; B=rand(4) %二維數組B
以下使用cat函數生成一個新的二維數組n=2,在命令窗口中輸入:
&gt;&gt; C=cat(2,A,B)
使用cat函數生成一個新的三維數組n=3,在命令窗口中輸入:
&gt;&gt; D=cat(3,A,B)

注意:使用reshape函數時要注意新生成的矩陣元素數量不變,否則無法生成。

###2.3.2 多維數組的標識
MATLAB中提供了許多指令可以用來判斷數組的維數和大小等操作的函數,給用戶使用數組帶來很大的方便,尤其是在使用多維數組的情況下,可以方便的查看多維數組的一些信息。如表2.5所示,列出了幾個常用的函數。
函數名 功能
ndims (P) 返回數組P的維數
[m,n,…]=size(P) 返回數組P各維的大小
m=size(P,x) 返回數組P某一維的大小
length(P) 返回數組P的行數或列數的最大值
max(size(P)) 返回數組P的行數或列數的最大值,與length(P)的功能相同

【例2.18】以三維數組A為例,查看矩陣的維數、各維大小以及所有維中最大長度。
&gt;&gt; A=rand(4,5,2) %生成三維均勻分布的隨機數組A
①使用ndims函數查看數組A維數,在命令窗口中輸入:
&gt;&gt; ndims(A)
返回數組A的維數顯示如下:
ans = 3
②使用size函數查看數組A中各維的大小,在命令窗口中輸入:
&gt;&gt; size(A) %查看數組A中各維的大小
返回數組A中各維的大小顯示如下:
ans = 4 5 2
③使用length函數查看數組A各維中的最大長度,在命令窗口中輸入:
&gt;&gt; length(A)
返回數組A各維中的最大長度顯示如下:
ans = 5

作者:德特數據
聯系方式:156204968@qq.com

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

射洪县| 巴马| 土默特左旗| 惠东县| 巩义市| 沁阳市| 德安县| 新乡县| 土默特左旗| 微博| 六枝特区| 新丰县| 绥化市| 屏东县| 云霄县| 榆中县| 南宁市| 宝坻区| 蒙城县| 大关县| 武宁县| 宜章县| 喜德县| 荥经县| 镇原县| 清水县| 泾源县| 华亭县| 札达县| 织金县| 开平市| 邓州市| 辽阳县| 韶关市| 朝阳区| 沐川县| 乐亭县| 资中县| 突泉县| 义马市| 拜城县|