实验5 集合和向量的基本运算.docVIP

  • 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)

1亿VIP精品文档

相关文档