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实现
下一篇: matlab数值分析