Matlab学习笔记

  前几天大致了解了一些Matlab的简单用法,今天开始正式的学习记录,昨天学习了如何创建一个数组。

1.在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

posted @ 2016-08-08 23:36  学渣小黑  阅读(918)  评论(0编辑  收藏  举报