欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MATLAB学习02之向量

程序员文章站 2022-03-02 10:42:24
...

向量的生成

1.直接输入法

生成行向量:变量名 = [元素1,元素2, …] 元素之间用空格分割或逗号分割
生成列向量:变量名 = [元素1;元素2; …] 元素之间用分号分割

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

2.冒号表达式法

a1:step:an a1是第一个元素,an是最后一个元素的限定值,可能取不到,step为步长,默认为1

>> a = 1:2:10
a =
     1     3     5     7     9

3.函数生成法

  • linspace(a1,an,n): 线性等分,a1为第一个元素,an为最后一个元素,把a1到an分割成n个点
  • logsapce(a1,an,n):对数等分,第一个元素为10a1,最后一个元素为10an,将[10a1,10an]对数等分
>> a = linspace(1,9,5)
a =
     1     3     5     7     9
>> a = logspace(1,5,5)
a =
          10         100        1000       10000      100000

向量的加减和数乘运算

相同规模的向量可进行相加减

>> a = [1 2 3 4 5], b = linspace(3,7,5)
a =
     1     2     3     4     5
b =
     3     4     5     6     7
>> c = a + b, c = a - b, c = 3 * a, c = b / 3
c =
     4     6     8    10    12
c =
    -2    -2    -2    -2    -2
c =
     3     6     9    12    15
c =
    1.0000    1.3333    1.6667    2.0000    2.3333

向量的点、叉积运算

1.点积运算

dot(a,b) a,b为规模相同的向量

>> a,b
a =
     1     2     3     4     5
b =
     3     4     5     6     7
>> dot(a,b)
ans =
    85

2.叉积运算

cross(a,b) a,b只能为三维向量

>> a = [1 2 3], b = [4 7 6]
a =
     1     2     3
b =
     4     7     6
>> cross(a,b)
ans =
    -9     6    -1


>> a = [1 2 3 4], b = [2 5 6 7]
a =
     1     2     3     4
b =
     2     5     6     7
>> cross(a,b)
错误使用 cross (line 25)
在获取交叉乘积的维度中,A 和 B 的长度必须为 3。 

3.混合积运算

综合运用上面两个函数即可实现混合积,不过a,b必须为三维向量

>> a,b
a =
     1     2     3
b =
     2     5     6
>> dot(cross(a,b),a)
ans =
     0
相关标签: MATLAB