收藏 分销(赏)

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

上传人:s4****5z 文档编号:8941312 上传时间:2025-03-08 格式:DOC 页数:6 大小:206.50KB
下载 相关 举报
实验5集合和向量的基本运算.doc_第1页
第1页 / 共6页
实验5集合和向量的基本运算.doc_第2页
第2页 / 共6页
点击查看更多>>
资源描述
实验5 集合和向量的基本运算 一、实验目的 学会用MATLAB求两个集合的交集、差集、抑或集、并集,和向量的点集、叉集,以及在空间解析几何中的简单应用。 二、实验内容与要求 1、两个集合的交集 格式:c=intersect(a,b) %返回向量a,b的公共部分,即c=ab。 c=intersect(A,B,’rows’) %A,B为相同列数的矩阵,返回元素相同的行。 [c,ia,ib]= intersect(a,b) %c为的a,b公共元素,ia表示公共元素在a中的位置,ib表示公共元素在b中的位置。 【例1.38】 >> A=[1,2,3,4;1,2,4,6;6,7,1,4]; >> B=[1,2,3,8;1,1,4,6;6,7,1,4]; >> C=intersect(A,B,'rows') C = 6 7 1 4 >> 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中的位置。 【例1.39】 >> A=[1,7,9,6,20];B=[1,2,3,4,6,10,20]; >> c=setdiff(A,B) c = 7 9 【例1.40】 >> A=[1,2,3,4;1,2,4,6;6,7,1,4]; >> B=[1,2,3,8;1,1,4,6;6,7,1,4]; >> c=setdiff(A,B,'rows') c = 1 2 3 4 1 2 4 6 3、两个集合交集的异或 格式:c=setxor(a,b) %返回集合a,b交集的非。 c=setxor(A,B,’rows’) %返回矩阵A,B交集的非,A,B有相同列数。 [x,ia,ib]=setxor(….) %ia,ib表示中元素分别在a(或A),b(或B)中的位置。 【例1.41】 >> A=[1,2,3,4]; >> B=[2,4,5,8]; >> C=setxor(A,B) C = 1 3 5 8 【例1.42】 >> A=[1,2,3,4;1,2,4,6;6,7,1,4]; >> B=[1,2,3,8;1,1,4,6;6,7,1,4]; >> [C,ia,ib]=setxor(A,B,'rows') C = 1 1 4 6 1 2 3 4 1 2 3 8 1 2 4 6 ia = 1 2 ib = 2 1 4、两个集合的并集 格式:c=union(a,b) %返回a,b的并集,即c=ab c=union(A,B,’rows’) %返回矩阵A,B不同行向量构成的大矩阵,其中相同行向量只取其一。 [c,ia,ib]=union(…) %ia,ib分别表示c中行向量在原矩阵(向量)中的位置。 【例1.43】 >> A=[1,2,3,4]; >> B=[2,4,5,8]; >> c=union(A,B) 则结果为: c = 1 2 3 4 5 8 【例1.44】 >> A=[1,2,3,4;1,2,4,6]; >> B=[1,2,3,8;1,1,4,6]; >> [c,ia,ib]=union(A,B,'rows') c = 1 1 4 6 1 2 3 4 1 2 3 8 1 2 4 6 ia = 1 2 ib = 2 1 5、向量的点积 格式:C=dot(A,B) %A,B为向量且长度相等,则返回向量A与B的点积。若为矩 则它们必须有相同的维数。 C=dot(A,B,dim) %在dim维数中给出A与B的点积。 【例1.45】 >>A=[1,2,3]; B=[3,4,5]; >>dot(A,B); %计算向量A,B的标积,结果为26 还可用另一种算法:sum(A.*B). 6、向量的叉积 在数学上,两向量叉积是一个相交向量的交点且垂直两向量的平面的向量,在MATLAB中, 用函数cross实现。 格式:C=cross(A,B) %A,B为向量,则返回A与B的叉积,即C=AB、A、B,3个元素的向量;若为矩阵,则返回一个3n矩阵,其中列是A与B对应列的叉积,A,B都是3n矩阵。 C=cross(A,B,dim) %在dim维数中给出向量A,B的叉积,必须有相同的维数,size(A,dim),size(B,dim)必须是3。 【例1.46】 >>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·(b×c). 解: >> a=[1,2,3];b=[4,5,6];c=[-3,6,-3]; >> x=dot(a,cross(b,c)) 结果显示: x = 54 注意:先叉积后点积,顺序不可颠倒. 8.向量的长度 由定义,向量的长度,所以,命令 >> sqrt(dot(A,A)) %或sqrt(sum(A.*A)) 可求出向量的长度. 9.向量的方向角 由定义,向量的方向余弦为,,所以: 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轴的夹角 问题 1.18:若向量,求它的方向角,并验证. 10.向量的夹角 向量A,B间的夹角,由可得,所以: L1=sqrt(dot(A,A)); %计算向量A的长度 L2=sqrt(dot(B,B)); %计算向量B的长度 c=dot(A,B)/L1/L2; %计算向量A,B的点积 alpha=acos(c) %计算向量A,B间夹角 问题1.19: 判断两直线,是否共面?求它们之间的夹角.令, , ,若,则共面,它们之间的夹角就等于向量间的夹角. 11.点与点之间的距离 由两点间距离公式,所以: >>s= A-B; >>L=sqrt(dot(s,s)) %计算两点A,B间的距离 12、点与与平面的距离 平面方程用表示,点用表示,则点P到平面的距离为。由公式 可以得到: >>d1=dot(f,[p,1]); %计算Aa+Bb+Cc+D >>d2=sqrt(dot(f(1:3),f(1:3))); %计算 >>d=abs(d1/d2) %d为点P到平面f的距离 问题1.20:求点P(-2,–3,1)到平面2x-y+2z+1=0的距离。 13、点与直线的距离 将直线表示为点和向量,点到直线的距离为,由公式 得到: >>vs=p-vp; %计算 >>d1=sqrt(dot(v,v)); %计算 >>c=cross(v,vs); %计算 >>d2=sqrt(dot(c,c)); %计算 >>d=d2/d1 %计算点p到直线的距离d 问题1.21:已知异面直线和= =,如何求它们之间的距离?令,根据 分步来求。 三、练习与思考 ①已知向量,求它的长度、方向角。 ②又已知向量,求向量之间点积、叉积、夹角。 ③求点到平面的距离。 ④求异面直线和= 之间的距离 ⑤已知向量,若,则向量共线,若或,则向量共面,为什么?若,, 试判断与,与,与之间是否共线?之间是否共面? ⑥求点关于直线的垂足和对称点。 参考答案:令,表示垂足,表示对称点。 编文件名fp.m为的M函数文件如下: %这是一个求点关于直线对称点及垂足的程序 %求点指向点P的向量 %求向量V的长度 %求在V上投影向量 %求垂足指向点P的向量 %求垂足的坐标 %求对称点的坐标 在命令窗口输入: >> 结果为: = 1.1493 -4.9851 1.8507 = 0.2985 -5.9701 -1.2985 6
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服