- 2
- 0
- 约3.54千字
- 约 7页
- 2019-09-10 发布于山西
- 举报
PAGE 30
基于MATLAB的数学实验
PAGE 31
第一章 MATLAB软件操作实验
实验5 集合和向量的基本运算
一、实验目的
求两个集合的交集、差集、抑或集、并集,和向量的点积、叉积,以及在空间解析几何中的简单应用.
二、实验内容与要求
1. 两个集合的交集
格式:
c = intersect(a,b) %返回a,b的公共部分,即c = a∩b. [c,ia,ib] = intersect(a,b) %c为a,b的公共元素,ia表示公共元素在a中的位置,ib表示公共元素在b中位置.
【例】
A = [1,9,6,20]; B = [1,2,3,4,6,10,20];
[c,ia,ib] = intersect(A,B)
c =
1 6 20
ia =
1 3 4
ib =
1 5 7
2. 两个集合的差集
格式:
c = setdiff(a,b) %返回属于a但不属于b的不同元素的集合,即c= a-b.
c = setdiff(A,B, ‘rows’) %返回属于A但不属于B的不同行.
[c,i] = setdiff(…) %c与前面一致,i表示c中元素在A中的位置.
【例】
A = [1,7,9,6,20]; B = [1,2,3,4,6,10,20];
c=setdiff(A,B)
c =
7 9
3. 两个集合交集的异或
xor(=Exclusive OR “异” 或(逻辑运算))
格式:
c = setxor(a,b) %返回集合a,b交集的非.
c = setxor(A,B, ‘rows’) %返回矩阵A,B交集的非,A,B有相同列数.
[c,ia,ib] = setxor(…) %ia,ib表示c中元素分别在a (或A),b(或B)中位置.
【例】
A=[1,2,3,4];
B=[2,4,5,8];
C=setxor(A,B)
C =
1 3 5 8
4. 两个集合的并集
格式:
c = union(a,b) %返回a,b的并集,即c = a∪b.
c = union(A,B,rows) %返回矩阵A,B不同行向量构成的大矩阵,其中相同行向量只取其一.
[c,ia,ib] = union(…) %ia,ib分别表示c中行向量在原矩阵(向量)中的位置.
【例】
A=[1,2,3,4];
B=[2,4,5,8];
c=union(A,B)
则结果为:
c =
1 2 3 4 5 8
5. 向量的点积
格式:
C = dot(A,B) %若A,B为向量,A与B长度必须相同,则返回向量A与B的点积;若A,B为矩阵,则A与B必须有相同的维数.
C = dot(A,B,dim) %在dim维数中给出A与B的点积.
【例】
A=[1,2,3];B=[3,4,5];
dot(A,B); %计算向量A,B的标积,结果为26
还可用另一种算法:sum(A.*B).
6. 向量的叉积
格式:
C = cross(A,B)%若A,B为向量,则返回A与B的叉积,即C=A×B,A,B必须是3个元素的向量;若A,B为矩阵,则返回一个3×n矩阵,其中的列是A与B对应列的叉积,A,B都是3×n矩阵.
C = cross(A,B,dim) %在dim维数中给出向量A与B的叉积. A和B必须具有相同的维数,size(A,dim)和size(B,dim)必须是3.
【例】
A=[1,2,3]; B=[3,4,5];
cross(A,B);%计算A,B的叉积,结果为:-2 4 -2.
7. 向量的混合积
混合积由以上两个函数来实现.
【例1.47】 计算向量a=(1, 2, 3),b=(4, 5, 6)和c=(-3, 6, -3)的混合积 .
解:
a=[1,2,3]; b=[4,5,6]; c=[-3,6,-3];
x=dot(a, cross(b, c))
结果显示:
x =
54
注意:先叉积后点积,顺序不可颠倒.
8. 向量的长度
由定义,向量A的长度为,所以命令:
sqrt(dot(A,A)) %或 sqrt(sum(A.*A))可求出
向量A的长度.
9. 向量的方向角
向量A的方向余弦为,所以:
L = sqrt(dot(A,A)); %计算向量A的长度
alpha = acos(A(1)/L); %计算向量A与x轴的夹角
beta = acos(A(2)/L); %计算向量A与y轴的夹角
gamma = acos(A(3)/L); %计算向量A与z轴的夹角
问
原创力文档

文档评论(0)