Matlab矩阵的产生
??? 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 =
???? 6
???? 7
???? 8
???? 6
???? 9
???? 7
??? 10
???? 8
??? 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)
出處:http://cs.nju.edu.cn/yangxc/dcc2003.files/matlab/matlab/4_1.htm
總結
以上是生活随笔為你收集整理的Matlab矩阵的产生的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MATLAB语言中的关系与逻辑运算
- 下一篇: Matlab矩阵函数