《数学实验与Matlab》

上传人:资****亨 文档编号:138376957 上传时间:2020-07-15 格式:PPT 页数:229 大小:1.22MB
返回 下载 相关 举报
《数学实验与Matlab》_第1页
第1页 / 共229页
《数学实验与Matlab》_第2页
第2页 / 共229页
《数学实验与Matlab》_第3页
第3页 / 共229页
《数学实验与Matlab》_第4页
第4页 / 共229页
《数学实验与Matlab》_第5页
第5页 / 共229页
点击查看更多>>
资源描述

《《数学实验与Matlab》》由会员分享,可在线阅读,更多相关《《数学实验与Matlab》(229页珍藏版)》请在金锄头文库上搜索。

1、.,数学实验与Matlab,制作人 周 晓 阳 华中科技大学数学系 ,.,实 验 一,矩阵运算与Matlab命令,.,日常矩阵及其运算,矩阵应用实例: 榄球防护用品的生产管理,.,应用问题,一个工厂生产三种橄榄球用品 : 防护帽、 垫肩、臀垫。 需要不同数量的:硬塑料 、 泡沫塑料 尼龙线 、 劳动力。 为监控生产,管理者对它们之间的关系十分关心。 为把握这些量的关系,他列出下面的表,.,原料产品关系表,.,订单,管理者接到四份订单如上表所示。 问应该如何计算每份订单所需的原材料,以便组织生产?,.,将表格写成矩阵形式,.,计 算,输入下面Matlab指令 A=4 2 3;1 3 2;1 3

2、3;3 2 2, B=35 20 60 45;10 15 50 40;20 12 45 20 C=A*B 请自行计算观看结果,.,Matlab基本指令,向量的创建和运算,.,1. 直接输入向量,x1=1 2 4,x2=1,2,1,x3=x1 运行结果 x1 = 1 2 4 x2 = 1 2 1 x3 = 1 2 4,.,2.冒号创建向量,x1=3.4:6.7, x2=3.4:2:6.7 x3=2.6:-0.8:0 运算结果 x1 = 3.4000 4.4000 5.4000 6.4000 x2 = 3.4000 5.4000 x3 = 2.6000 1.8000 1.0000 0.2000,.

3、,3.生成线性等分向量,指令x=linspace(a,b,n) 在a,b区间产生 n 个等分点(包括端点) x=linspace(0,1,5) 结果 x = 0 0.2500 0.5000 0.7500 1.0000,.,工作空间,在Matlab窗口创建向量后并运行后,向量就存在于工作空间,可以被调用。,.,向量的运算,设x=x1 x2 x3; y=y1 y2 y3;为两个三维向量,a,b为标量。 向量的数乘:a*x=a*x1 a*x2 a*x3 向量的平移: x+b=x1+b x2+b x3+b 向量和: x+y=x1+y1 x2+y2 x3+y3 向量差: x-y=x1-y1 x2-y2

4、x3-y3 数的乘幂: 如 a2,.,元素群运算(四则运算),x.*y=x1*y1 x2*y2 x3*y3 (元素群乘积) x./y=x1/y1 x2/y2 x3/y3 (元素群右除,右边的y做分母) x.y=y1/x1 y2/x2 y3/x3 (元素群左除,左边的x做分母) x.5=x15 x25 x35 (元素群乘幂) 2.x=2x1 2x2 2x3 (元素群乘幂) x.y=x1y1 x2y2 x3y3 (元素群乘幂),.,元素群运算(函数计算),Matlab有许多内部函数,可直接作用于向量产生一个同维的函数向量。 x=linspace(0,4*pi,100);(产生100维向量x) y=

5、sin(x); (y也自动为100维向量) y1=sin(x).2; y2=exp(-x).*sin(x); 观察结果,.,创建矩阵(数值矩阵的创建),直接输入法创建简单矩阵。 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 观察运行结果,.,创建矩阵(符号矩阵的创建),用指令“syms”说明符号变量。 syms a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34 b11 b12 b13 b14 b21 b22 b23 b24 b31 b32 b33 b3

6、4 A1=a11 a12 a13 a14 ;a21 a22 a23 a24; a31 a32 a33 a34, B1=b11 b12 b13 b14 ;b21 b22 b23 b24; b31 b32 b33 b34 运行,.,矩阵的运算(矩阵的加减、数乘、乘积),C=A1+B1 D=A1-B1 syms c, cA=c*A1 A2=A1(:,1:3), B1 G=A2*B1,.,矩阵的运算(矩阵的加减、数乘、乘积),A, A_trans=A H=1 2 3 ; 2 1 0 ; 1 2 3 , K=1 2 3 ; 2 1 0 ; 2 3 1 h_det=det(H), k_det=det(K)

7、, H_inv=inv(H),K_inv=K-1,.,矩阵的运算(左除和右除),左除“ ”: 求矩阵方程AX=B的解;( A 、B的行要保持一致) 解为 X=AB; 当A为方阵且可逆时有X=AB=inv(A)*B; 右除“ / ”: 求矩阵方程XA=B的解 (A 、B的列要保持一致) 解为 X=B/A , 当A为方阵且可逆时有X=B/A=B*inv(A),.,矩阵的运算(左除和右除),求矩阵方程: 设A、B满足关系式:AB2B+A,求B。 其中A=3 0 1; 1 1 0; 0 1 4。 解:有(A-2I)BA 程序 : A=3 0 1; 1 1 0;0 1 4; B=inv(A-2*eye(

8、3)*A, B=(A-2*eye(3)A 观察结果:,.,分块矩阵(矩阵的标识),1.矩阵元素的标识 : A(i,j)表示矩阵A 的第 i 行 j 列的元素; 2.向量标识方式 A(vr,vc): vr=i1,i2,ik、vc=j1,j2,ju分别是含有矩阵A的行号和列号的单调向量。 A(vr,vc)是取出矩阵A的第i1,i2,ik行与j1,j2,ju列交叉处的元素所构成新矩阵。,.,分块矩阵(矩阵的标识),取出A的1、3行和1、3列的交叉处元素构成新矩阵A1 程序 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

9、=A(vr, vc) 观察结果,.,分块矩阵(矩阵的标识),将A分为四块,并把它们赋值到矩阵B中,观察运行后的结果。 程序 A11=A(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,将它的第1行变为0。 程序: A=1 0 1 1 2;0 1 -1 2 3; 3 0 5 1 0;2 3 1 2 1 A(1,:)=0 0 0 0 0; A 删除上面矩阵A的第1、3行。 程序: A(1,3,:)= 结果,.,生成特殊矩阵,全1阵 ones(n),

10、ones(m,n), ones(size(A) 全零阵: zeros(n) ,zeros(m,n), zeros(size(A) 常常用于对某个矩阵或向量赋0初值 单位阵: eye(n),eye(m,n) 随机阵: rand(m,n), rand(n)=rand(n,n)用于随机模拟,常和rand(seed,k)配合使用。,.,生成特殊矩阵,将rand指令运行多次,观察结果。 程序: y1=rand(1,5), y2=rand(1,5), rand(seed,3), x1=rand(1,5), rand(seed,3), x2=rand(1,5) 结果,.,常用矩阵函数,det(A) : 方阵

11、的行列式; rank(A): 矩阵的秩; eig(A): 方阵的特征值和特征向量; trace(A): 矩阵的迹; rref(A): 初等变换阶梯化矩阵A svd(A): 矩阵奇异值分解。 cond(A): 矩阵的条件数;,.,数据的简单分析,1.当数据为行向量或列向量时,函数对整个向量进行计算. 2.当数据为矩阵时,命令对列进行计算,即把每一列数据当成同一变量的不同观察值。 max(求最大)、min(求最小)、mean(求平均值)、sum(求和)、std(求标准差)、cumsum(求累积和)、median(求中值)、diff(差分)、sort(升序排列)、sortrows(行升序排列)等等。

12、,.,数据的简单分析,观察:生成一个36的随机数矩阵,并将其各列排序、求各列的最大值与各列元素之和。 程序 rand(seed,1);A=rand(3,6), Asort=sort(A), Amax=max(A), Asum=sum(A) 结果,.,实验二,函数可视化与Matlab作图,.,函数的可视化,f (x), g (x)是周期函数吗?观察它们的图象。 程序 clf, x=linspace(0,8*pi,100); F=inline(sin(x+cos(x+sin(x); y1=sin(x+cos(x+sin(x); y2=0.2*x+sin(x+cos(x+sin(x); plot(x

13、,y1,k:,x,y2,k-) legend(sin(x+cos(x+sin(x),0.2x+sin(x+cos(x+sin(x),2),令,.,绘制平面曲线(plot指令),plot(x,y): 以x为横坐标、y为纵坐标绘制二维图形 x,y是同维数的向量; plot(y): 相当于x=1,2,length(y)时情形。,.,绘制平面曲线(绘制多个图形),1. plot(x,y1;y2;), x是横坐标向量,y1;y2;是由若干函数的纵坐标拼成的矩阵 2. plot(x,y1), hold on, plot(x,y2), hold off 3. plot(x,y1,x,y2,) 4.ploty

14、y 两个坐标系,用于绘制不同尺度的函数。,.,绘制平面曲线(线型、点形和颜色的控制),plot(x,y,颜色线型点形) plot(x,y,颜色线型点形,x,y,颜色线型点形, ) 句柄图形和set命令改变属性值,可套用: h=plot(x,y), set(h,属性,属性值,属性,属性值,) 也可用plot(x,y,属性,属性值)设置图形对象的属性。,.,绘制平面曲线(属性变量和属性值),线宽:LineWidth 点的大小: MarkerSize 线型:LineStyle 颜色:color,.,绘制平面曲线(例),观察: 改变绘图的线型和颜色。 用grid on 指令为图形窗口加上 网格线,并改

15、变网格的线型和字体的大小。 程序 h=plot(0:0.1:2*pi,sin(0:0.1:2*pi); set(h,LineWidth,5,color,red); grid on set(gca,GridLineStyle,-,fontsize,16) 观察结果,.,绘制平面曲线(坐标轴的控制),axis指令 axis(xmin xmax ymin ymax): 设定二维图形的x和y坐标的范围; axis(xmin xmax ymin ymax zmin ymax): 设定三维图形的坐标范围 ; 其中xminxxmax, yminyymax ,zminzzmax。,.,绘制平面曲线(gca属性

16、控制),改变当前轴对象句柄gca属性 用set(gca,属性,属性值,)可改变字体大小、坐标刻度等轴对象的内容。例如: set(gca,ytick,-1 -0.5 0 0.5 1) 将 y 坐标按向量-1 -0.5 0 0.5 1将刻度分成4格; set(gca,yticklabel,a|b|c|d|e) 改变y坐标刻度的说明。,.,绘制平面曲线(gca属性控制,例),设置y坐标的刻度并加以说明,并改变字体的大小。 程序 plot(0:0.1:2*pi,sin(0:0.1:2*pi),k.-,);grid on, axis(0 6.3 -1.1 1.1), set(gca,ytick,-1 -0.5 0 0.5 1), set(gca,yticklabel,a|b|c|d|e), set(gca,fontsize,20) get(gca) 运行结果,.,绘制平面曲线(文字标注),title(图形标题); xlabel(x轴名称);ylabel(y轴名称);zlabel(z轴名

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号