《矩阵运算与Matlab命令》由会员分享,可在线阅读,更多相关《矩阵运算与Matlab命令(6页珍藏版)》请在金锄头文库上搜索。
1、实验矩阵运算与 Matlab 命令1.1 知识要点与背景:知识要点和背景:日常矩阵及其运算【 A=4 2 3;1 3 2;1 3 3;3 2 2, % 表 1-1、表 1-2 的数据分别写成矩阵形式B=35 20 60 45;10 15 50 40;20 12 45 20 】【 C=A*B %矩阵乘法,求各订单所对应的原材料和劳动力 。 】 【 whos % 查看 Matlab 工作空间中变量及其规模 】 1.2 实验与观察:矩阵和 Matlab 语言 1.2.1 向量的生成和运算【 x=linspace(0,4*pi,100); %将0,4区间 100 等分,产生了一个 100 维向量y=s
2、in(x); %计算函数值,产生了一个与 x 同维的 100 维函数向量 y y1=sin(x).2; %计算函数向量,注意元素群运算y2=exp(-x).*sin(x); %以 x 为横坐标,y 为纵坐标画函数的图用不同的线型将函数曲线绘制在一个图上plot(x,y,-,x,y1,-,x,y2,.-) 】 1. 向量的创建直接输入向量。 【x1=1 2 4,x2=1,2,1,x3=x1 】冒号创建向量 。【 x1=3.4:6.7x2=3.4:2:6.7x3=2.6:-0.8:0 】生成线性等分向量。 【 x=linspace(0,1,5) 】2. 向量的运算【 y=sin(x) 】【 y1=
3、sin(x).2; y2=exp(-x).*sin(x); 】 1.2.2.矩阵创建和运算1.创建矩阵(1)数值矩阵的创建直接输入法创建简单矩阵。【 A=1 2 3 4; 5 6 7 8; 9 10 11 12 】 【 B=-1.3,sqrt(3);(1+2)*4/5,sin(5);exp(2),6 】 (2)符号矩阵的创建【 syms a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b34A1=a11 a12 a13 a14 ;a21 a22 a23 a24
4、; a31 a32 a33 a34,B1=b11 b12 b13 b14 ;b21 b22 b23 b24; b31 b32 b33 b34 】 2.矩阵的运算【 C=A1+B1,D=A1-B1 】【 syms ccA=c*A1 】【 C=A1*B1 】 ? Error using = sym/mtimes, Inner matrix dimensions must agree. 【 A2=A1(:,1:3), B1 】【 G=A2*B1 】【 g11=A2(1,:)*B1(:,1) 】【 A, A_trans=A 】【 H=1 2 3 ; 2 1 0 ; 1 2 3 , K=1 2 3 ;
5、2 1 0 ; 2 3 1h_det=det(H), k_det=det(K),H_inv=inv(H),K_inv=K-1 】【 A=3 0 1; 1 1 0;0 1 4;B=inv(A-2*eye(3)*A, B=(A-2*eye(3)A 】3.分块矩阵:矩阵的裁剪、分割、修改与抽取(1)【 A=1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1, vr=1,3;vc=1,3;A1=A(vr,vc) %取出 A 的 1、3 行和 1、3 列的交叉处元素构成新矩阵 A1 】将上面的矩阵 A 分为四块,并把它们赋值到矩阵 B 中,观察运行后的结果。【 A11=A(
6、1:2,1:2),A12=A(1:2,3:5),A21=A(3:4,1:2),A22=A(3:4,3:5)B=A11 A12;A21 A22 】A =2 0 54 2 10 -1 2B =1 2 4 -15 3 1 0-1 0 2 3C =-3 4 18 1313 14 20 -1-7 -3 3 6 (2)矩阵的修改和提取 【 A=1 0 1 1 2;0 1 -1 2 3;3 0 5 1 0;2 3 1 2 1A(1,:)=0 0 0 0 0; A 】 观察:【 B(:,2,4)= %删除矩阵 B 的第 2、4 列 】(3)矩阵元素的抽取4.生成特殊矩阵。【 y1=rand(1,5), y2=
7、rand(1,5),rand(seed,3), x1=rand(1,5), rand(seed,3), x2=rand(1,5) 】5. 常用矩阵函数6. 数据的简单分析【 rand(seed,1);A=rand(3,6),Asort=sort(A), Amax=max(A), Asum=sum(A) 】1.2.3 Matlab 工作环境和编程2.Matlab 的基本设计1.3 应用、思考与练习1.3.1 关系矩阵1.3.2 投入产出 1.3.3 循环比赛的名次【 A=0 1 1 0; 0 0 1 1; 0 0 0 1; 1 0 0 0,e=ones(4,1); c=A*e; s=c 】 画矩
8、阵结构图的 gplot 指令。(3) 【 clf, A=0 1 1 0;0 0 1 1;0 0 0 1;1 0 0 0; xy=0 1;0 0;-1 0.5;1 0.5;graphy_plot(A,xy,1,0.5), % gplot(A,xy) 】1.3.4 参考程序graphy_plot.m【 function y=graphy_plot(A,xy,l,p)%画矩阵的有向结构图。 A 为邻接矩阵,xy 为顶点坐标,l 控制参数,l=0,画无向图; %l=0,画有向图。p 为控制箭头大小的参数。a=-max(abs(xy(:,1)*1.1;b=max(abs(xy(:,1)*1.1;c=-m
9、ax(abs(xy(:,2)*1.1;d=max(abs(xy(:,2)*1.1;if l=0gplot(A,xy),axis(a b c d),hold on,elseif l=0U=;V=;X=;Y=;n=length(A(:,1) ;for i=1:nk=find(A(i,:)=0);m=length(k);if(m=0)for j=1:mu(1)=(xy(k(j),1)-xy(i,1); v(1)=(xy(k(j),2)-xy(i,2);u(2)=eps; v(2)=eps; U=u;U;V=v;V;X=xy(i,1) xy(k(j),1);X; Y=xy(i,2) xy(k(j),2);Y;endtext(xy(i,1),xy(i,2),bulletleftarrowfontsize16itV,um2str(i); hold on,endendgplot(A,xy),axis(a b c d),hold on,h=quiver(X,Y,U,V,p);set(h,color,red);hold on,plot(xy(:,1),xy(:,2),k.,markersize,12),hold on,end , hold off 】