Matlab矩陣的產生

2021-07-06 01:35:20 字數 2666 閱讀 2441

1.       

簡易陣列

matlab的運算事實上是以陣列(array) 及矩陣 (matrix) 方式在做運算,而這二者在matlab的基本運算性質不 同,陣列強調元素對元素的運算,而矩陣則採用線性代數的運算方式。

而宣告一變數為陣列或是矩陣時,如果是要個別鍵入元素,須用中括號[ ] 將元素置於其中。陣列為一維元素所構成,而矩陣為多維元素所組成,例如

» x=[1 2 3 4 5 6 7 8]

;% 一維

1x8 陣列

» x = [1 2 3 4 5 6 7 8; 4 5 6 7 8 9 10 11] ; %

二維2x8

矩陣,以

;區隔各列的元素

» x = [

1 2 3 4 5 6 7 8

% 二維 2x8 矩陣,各列的元素分二行鍵入

4 5 6 7 89 10 11

] ;

» x(3)%

x的第三個元素

ans =

2» x([1 2 5])% x的第

一、二、五個元素

ans =

1     4     3

x(1:5)% x的第前五個元素

ans =

1     4     2     5     3

» x(10:end)% x的第十個元素後的元素

ans =

8     6     9     7    10     8    11

» x(10:-1:2)% x的第十個元素和第二個元素的倒排

ans =

8     5     7     4     6     3     5     2     4

» x(find(x>5))% x中大於5的元素

ans =67

8697

108

11» x(4)=100%給x的第四個元素重新給值

x =1     2     3     4     5     6     7     8

4   100     6     7     8     9    10    11

» x(3)=%

刪除第三個元素

x =columns 1through 12

1     4   100     3     6     4     7     5     8     6     9     7

columns 13through 15

10     8    11

» x(16)=1%

加入第十六個元素

x =columns 1through 12

1     4   100     3     6     4     7     5     8     6     9     7

columns 13through 16

10     8    11     1

2          

建立陣列

上面的方法只適用於元素不多的情況,但是當元素很多的時候,則須採用以下的方式:

» x=(0:0.02:1);% 以

:起始值

=0、增量值

=0.0.2

、終止值

=1的矩陣

» x=linspace(0,1,100);

% 利用

linspace

,以區隔起始值

=0終止值

=1之間的元素數目

=100

»a=%

空矩陣

a =

» zeros(2,2)%全為0

的矩陣

ans =

0     0

0                 0

» ones(3,3) %全為

1的矩陣

ans =

1     1     1

1     1     1

1    1     1

» rand(2,4);

隨機矩陣

»a=1:7, b=1:0.2:5;%

更直接的方式

»c=[b a];

%可利用先前建立的陣列

a 及陣列

b ,組成新陣列

» a=1:1:10;

» b=0.1:0.1:1;

» a+b*i%

複數陣列

ans =

columns 1through 4

1.0000 +0.1000i   2.0000 +0.2000i   3.0000 +0.3000i   4.0000 + 0.4000i

columns 5through 8

5.0000 +0.5000i   6.0000 +0.6000i   7.0000 +0.7000i   8.0000 + 0.8000i

columns 9through 10

9.0000 +0.9000i  10.0000 + 1.0000i

在matlab的內部資料結構中,每乙個矩陣都是乙個以行為主(column-oriented)的陣列(array)因此對於矩陣元素的訪問,我們可用一維或二維的索引(index)來定址

l        子矩陣

通過乙個矩陣產生另乙個矩陣的方法(上面已經有例子)

假如乙個矩陣a

則 a(m1:m2 ,n1:n2)

出處:

matlab產生隨機數或隨機矩陣

matlab中隨機數生成器主要有 betarnd 貝塔分布的隨機數生成器 binornd 二項分布的隨機數生成器 chi2rnd 卡方分布的隨機數生成器 exprnd 指數分布的隨機數生成器 frnd f分布的隨機數生成器 gamrnd 伽瑪分布的隨機數生成器 geornd 幾何分布的隨機數生成器 ...

MATLAB基礎學習(二)矩陣產生與運算 上

這裡主要介紹了在matlab中向量的產生與計算 矩陣的書寫與四則運算 以及矩陣索引的問題。其中矩陣四則運算包括矩陣與矩陣的運算以及矩陣與實數的運算 矩陣索引包括顯示矩陣中某個元素,某行某列元素以及拿出矩陣中的一些元素組成新的矩陣。向量產生與計算 行向量 列向量 向量運算 矩陣產生與計算 2.2 矩陣...

MATLAB基礎學習(三)矩陣產生與運算 下

這裡主要介紹了關於矩陣的一些操作以及函式。其中關於矩陣的操作包括矩陣內元素替換 等差數列產生 清除矩陣的某行或某列 兩個矩陣組合成為乙個大矩陣。關於矩陣的函式包括特殊矩陣生成函式以及對矩陣運算的一些特殊的函式。關於矩陣的一些操作 1.1 對矩陣中的數值進行替換 分析 從最開始的矩陣到後面的矩陣,第一...