matlab矩阵与线性变换与计算

上传人:hy****d 文档编号:243023243 上传时间:2024-09-14 格式:PPT 页数:20 大小:79KB
返回 下载 相关 举报
matlab矩阵与线性变换与计算_第1页
第1页 / 共20页
matlab矩阵与线性变换与计算_第2页
第2页 / 共20页
matlab矩阵与线性变换与计算_第3页
第3页 / 共20页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,第五章:矩阵与线性变换,1,有限维空间的线性变换是简单而常用的数学变换,其实现可以归结为矩阵运算,y=Ax,刚体的运动,物体的线性变形,光线的反射等,都可以归结为线性变换。较复杂的运动,当运动幅度很小时,如物体的小幅振动,也可以利用线性微分方程作近似刻画,其离散解可以归结为一系列线性变换。,2,对于非线性问题,通常可以利用一系列线性变换来逼近。如非线性方程组,可以利用,Newton,迭代法逐步逼近问题的解,其中矩阵,是,F,的,Jacobi,矩阵的逆矩阵。,3,刚体的平移、旋转和镜面映射,刚体的旋转,刚体的旋转可以利用旋转变换实现。例如,围绕,z,轴的旋转的旋转变换矩阵为,如果一个物体同时围绕两个轴转动,(如陀螺的运动),则变换可以由两个矩阵的乘积实现。,4,例,5.1,:螺线的绕,z,轴旋转。,考虑,螺线方程,x=,cost, y=sint, z=at 0t2,对给定的节点,0t,1,t,2,t,n,螺线的数据为,而,T,z,X,则是旋转后的数据。,5,螺线绕,z,轴旋转的动画参考程序,function rotation1,%rotation around z-axis,clear,%forming the parametric curve,cita=pi/20;,t=0:pi/10:10*pi;,x=cos(t);,y=sin(t);,z=0.2*t;,%rotation operator,A=cos(cita) -sin(cita) 0,sin(cita) cos(cita) 0,0 0 1;,6,%initial figure,h=line(x,y,z,EraseMode, Xor,. LineWidth,8,Color, 1 0 0);,view(90,20),axis off,axis equal,xlim(-1.5,1.5);ylim(-1.5,1.5);zlim(0,pi),% motion figure,m=length(t);X=x;y;z;,while 1,X=X*A; set(h,XData,X(1:m),YData,.,X(m+1:2*m),XData,X(2*m+1:3*m),drawnow,pause(0.1),end,7,注,1,:由于线性变换不能作平移运动,因此,一般刚体的运动不能通过线性变换完成。解决这一问题的做法是引入齐次坐标,来代换普通坐标,。齐次坐标的含义是其乘以任意非零常数表示同一坐标。,例如,8,利用上述坐标,一般的刚体运动,可以描写为,9,注,2,:围绕给定方向单位向量,旋转角为,的旋转变换矩阵为,其中,10,镜面映射,镜面映射变换为,其中,x,是垂直于镜面的单位向量。,x,设任意向量,y,分解为平行于,x,的分量,y,1,和垂直于,x,的分量,y,2,,则,即以垂直于,x,的过原点的平面为映射镜面。,11,例,5.2,:将上一实验中的旋转螺线沿,x,轴偏移两个单位,然后以,yoz,平面为镜面作镜面映射。,%rotation around z-axis,clear,%forming the parametric curve,cita=pi/20;,t=0:pi/10:10*pi;m=length(t);,x=cos(t);,y=sin(t);,z=0.2*t;,%rotation operator,A=cos(cita) -sin(cita) 0,sin(cita) cos(cita) 0,0 0 1;,12,%mirror operator,d=1 0 0;,B=eye(3)-2*d*d;,%initial figure,h=line(x-2,y,z,EraseMode, Xor,. LineWidth,8,Color, 1 0 0);,view(158,26),axis equal,xlim(-3,3),ylim(-1.5,1.5),zlim(0,2*pi),X1=x-2,y,z*B;,h1=line(X1(1:m),X1(m+1:2*m),X1(2*m+1:end),.,EraseMode, Xor, LineWidth,8,Color, 0 1 0);,13,% motion figure,X=x,y,z;,while 1,X=X*A;,X(:,1)=X(:,1)-2;,set(h,XData,X(1:m),YData,X(m+1:2*m),ZData,X(2*m+1:3*m),X1=X*B;,set(h1,XData,X1(1:m),YData,X1(m+1:2*m),ZData,X1(2*m+1:3*m),pause(0.1) %control the rotation speed,X(:,1)=X(:,1)+2;,end,14,15,例,5.3,利用镜面映射生成万花筒的几何图案,.,性质,1,:,以直线,为镜面的镜面映射为,其中向量,P,由,下,式给出,16,以,L,1,为镜面的镜面映射的算法为,(1),求,(2),作映射,17,function reflect_test,x,y=mypolygon(7);,q=0.5*x,0;y,1;x1=1,0;y1=0,1;,q1=reflect_1(x1,y1,q);,plot(q(1,:),q(2,:),q1(1,:),q1(2,:),end,function q1=reflect_1(x,y,q),%the program returns the figure data which is the,%reflection of data q by the mirror L. L is a,%straight line passing (x1,y1) and (x2,y2),%q is an array of 2 times n which contains n,%different points.,P1=(y(2)-y(1)*x(1)-(x(2)-x(1)*y(1)/.,(x(2)-x(1)2+(y(2)-y(1)2);,P=P1*y(2)-y(1), -(x(2)-x(1);,m,n=size(q);,18,PP=repmat(P,1,n);,PQ=P/norm(P);,q1=(eye(2)-2*PQ*PQ)*(q-PP)+PP;,end,function x,y=mypolygon(n),% the program creates a polygon,cita=linspace(pi/2,2*pi+pi/2,n+1);,x=cos(cita);,y=sin(cita);,if nargout=0,plot(x,0,y,1),end,end,19,20,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!