matlab科學計算(實驗一)(2)
https://www.cnblogs.com/xzxhljq/p/5751421.html(陣列的建立) .在Matlab中建立一維陣列的方法有4種:
1)直接輸入法 2)步長生成法 3)定數線性取樣法 4)定數對數取樣法
data1=[pi;log(5);7+6;2^3];(直接輸入法) data2=[pi log(5) 7+6 2^3];(直接輸入法) data3=2:2:3;(步長生成法) data4=2:10;(步長生成法) data5=linspace(2,10,5);(定數線性取樣法) data6=logspace(1,5,10);(定數對數取樣法)
直接輸入法:
步長生成法:格式:“a:inc:b”,‘a'表示的是陣列第一個元素,'inc'表示建立陣列之間的間隔(步長,預設為1,a>b時,inc>0,反之依然),‘b’表示陣列的最後一個元素;
定數線性取樣法:x=linspace(a,b,n),其中‘a’,'b'分別是陣列的第一個和最後一個元素,‘n’表示取樣的個數;
定數對數取樣法:x=logspace(a,b,n),其中‘a’,'b'分別是陣列的第一個和最後一個元素,‘n’表示取樣的個數。
2.二維陣列的建立
Data1=[1 2 3
5 6 7 8 9 0] data2=[1,2,3;4,5,6;7,8,9]
3.三維陣列的建立
1)下標法建立三位陣列
for i=1:2 for j=1:2
for k=1:2 a(i,j,k)=i+j+k; end
end
end
2)使用低維陣列建立三位陣列
for j=1:2 D2=[1,2,3;4,5,6;7,8,9]; D3(:,:,1)=D2; D3(:,:,2)=D2*2; D3(:,:,3)=D2*3;
3)使用建立函式建立三維陣列
cat指令:cat(Concatenate的縮寫)是matlab中的一個函式,用於構造多維陣列(源於百度百科)。
呼叫格式為C = cat(dim,A1,A2,A3,A4......),dim是建立陣列的維度,A1,A2,A3,A4......是各維度上的陣列;
>> D2=[1,2,3;4,5,6;7,8,9]; C=cat(3,D2,2*D2,3*D2);
>> C
C(:,:,1) =
1 2 3 4 5 6 7 8 9
C(:,:,2) =
2 4 6 8 10 12 14 16 18
C(:,:,3) =
3 6 9 12 15 18 21 24 27
repmat指令:repmat 即 Replicate Matrix ,複製和平鋪矩陣,是 MATLAB 裡面的一個函式(源於百度百科)。
repmat的命令的功能在於複製並堆砌陣列,其呼叫格式B=repmat(A,[m,n,p...]),A表示的是複製的陣列模組,第二個輸入的引數表示該陣列在各個維度上覆制的個數。
D2=[1,2,3;4,5,6;7,8,9];
D3=repmat(D2,2,3); D4=repmat(D2,[1 2 3]);
>> D2=[1,2,3;4,5,6;7,8,9]; D3=repmat(D2,2,3); D4=repmat(D2,[1 2 3]); >> D3
D3 =
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
>> D4
D4(:,:,1) =
1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9
D4(:,:,2) =
1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9
D4(:,:,3) =
1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9
reshape命令:reshape函式重新調整矩陣的行數、列數、維數。
呼叫格式B = reshape(A,[m,n,p...]),A就是帶重組的矩陣,後面的輸入引數則表示陣列各維的維度(維度即為元素個數)
4.建立低維標準陣列
>> A = zeros(3,2)
A =
0 0 0 0 0 0
>> B=ones(2,4)
B =
1 1 1 1 1 1 1 1
>> C=eye(4)
C =
1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
>> D=magic(5)
D =
17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9
>> randn('state',0) >> E=randn(1,2)
E =
-0.4326 -1.6656
>> F=gallery(5)
F =
-9 11 -21 63 -252 70 69 141 -421 1684 -575 575 -1149 3451 -13801 3891 -3891 7782 -23345 93365 1024 -1024 2048 -6144 2 4572