您的位置:首页 > 编程语言 > MATLAB

matlab基础学习——向量与矩阵

2015-09-09 10:03 453 查看
一、向量

1、生成向量的方法

a、直接输入法

b、冒号生成发

>> a=1:5:50       起始值是1,末尾值是50,以5增长

a =

     1     6    11    16    21    26    31    36    41    46

>> b=50:-5:1

b =

    50    45    40    35    30    25    20    15    10     5

c、线性等分法

>> c=linspace(1,50,6)  1为初始值,50为末尾值,6是将50等分为6个数

c =

    1.0000   10.8000   20.6000   30.4000   40.2000   50.0000

2、向量运算

a、向量与数的运算:加法、减法、乘法、除法

向量与数加减法

>> a=linspace(1,50,5)

a =

    1.0000   13.2500   25.5000   37.7500   50.0000

>> a+10

ans =

   11.0000   23.2500   35.5000   47.7500   60.0000

>> a-10

ans =

   -9.0000    3.2500   15.5000   27.7500   40.0000

b、向量与向量的运算:加减、点积、叉积、混合积

(1)向量与向量加减法(对应元素相加减)向量维数需相同

>> a=linspace(1,50,5)

a =

    1.0000   13.2500   25.5000   37.7500   50.0000

>> b=linspace(50,20,5)

b =

   50.0000   42.5000   35.0000   27.5000   20.0000

>> a-b

ans =

  -49.0000  -29.2500   -9.5000   10.2500   30.0000

(2)向量点积(dot函数)

>> a=[1,2,3,4];

b=[4,3,2,1]

b =

     4     3     2     1

>> dot(a,b)   (点积函数)

ans =

    20

(3)向量叉积(cross函数)

{

备注:

a=(a1,b1,c1)

b=(a2,b2,c2)

向量a×向量b=  

| i j k|  

|a1 b1 c1|  

|a2 b2 c2|  

=(b1c2-b2c1,c1a2-a1c2,a1b2-a2b1)

}

>> cross(a,b)
??? Error using ==> cross at 37

A and B must have at least one dimension of length 3.   报错,要求维数必须是3

>> a=[1,2,3]

a =

     1     2     3

>> b=[3,2,1]

b =

     3     2     1

>> cross(a,b)

ans =

    -4     8    -4

(4)向量混合积

>> a=[1,2,3]

a =

     1     2     3

>> b=[3,2,1]

b =

     3     2     1

>> c=[7,8,9]

c =

     7     8     9

>> cross(a,dot(b,c))
??? Error using ==> cross at 31

A and B must be same size.

 

>> dot(a,cross(b,c))

ans =

     0

 

二、矩阵

1、矩阵生成方法

a、直接输入法

>> a=[1,2,3;4,5,6;7,8,9]    每一行用分号隔开,最后一行不需要分号

a =

     1     2     3

     4     5     6

     7     8     9

b、利用M文件生成矩阵

2、矩阵的运算

加减法

>> a=[1,2,3;4,5,6;7,8,9]

a =

     1     2     3

     4     5     6

     7     8     9

>> b=[7,8,9;4,5,6;1,2,3]

b =

     7     8     9

     4     5     6

     1     2     3

>> a+b  对应元素相加

ans =

     8    10    12

     8    10    12

     8    10    12

>> a-b   对应元素相减

ans =

    -6    -6    -6

     0     0     0

     6     6     6

乘法

除法

>> a=[1,2,3,4;5,6,7,8]

a =

     1     2     3     4

     5     6     7     8

>> b=[1,1;2,2;3,3;4,4]

b =

     1     1

     2     2

     3     3

     4     4

>> a*b

ans =

    30    30

    70    70

>> a/2

ans =

    0.5000    1.0000    1.5000    2.0000

    2.5000    3.0000    3.5000    4.0000

乘方

开方

点运算

三、实例

1、生成一个6*6的随机数矩阵并求解该矩阵的秩

>> a=rand(6)

a =

    0.6948    0.7655    0.7094    0.1190    0.7513    0.5472

    0.3171    0.7952    0.7547    0.4984    0.2551    0.1386

    0.9502    0.1869    0.2760    0.9597    0.5060    0.1493

    0.0344    0.4898    0.6797    0.3404    0.6991    0.2575

    0.4387    0.4456    0.6551    0.5853    0.8909    0.8407

    0.3816    0.6463    0.1626    0.2238    0.9593    0.2543

>> rank(a)

ans =

     6

2、绘制三维图形

>>  [x,y]=meshgrid([-4:0.5:4]);

>> z=sqrt(x.^2+y.^2);

>> surfc(x,y,z)



3、通过GUI设计信息框

>> msgbox('信息警告!','提示框','warn')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: