收藏 分享(赏)

线性代数实践 及MATLAB入门.ppt

上传人:weiwoduzun 文档编号:5007965 上传时间:2019-01-30 格式:PPT 页数:221 大小:1.89MB
下载 相关 举报
线性代数实践 及MATLAB入门.ppt_第1页
第1页 / 共221页
线性代数实践 及MATLAB入门.ppt_第2页
第2页 / 共221页
线性代数实践 及MATLAB入门.ppt_第3页
第3页 / 共221页
线性代数实践 及MATLAB入门.ppt_第4页
第4页 / 共221页
线性代数实践 及MATLAB入门.ppt_第5页
第5页 / 共221页
点击查看更多>>
资源描述

1、MATLAB及程序设计 -MATLAB与物理学,主讲教师:顾菊观教授理学院 2321169(661642) ,MATLAB及程序设计 -MATLAB与物理学 课程介绍,定位:选修课 目标:了解MATLAB,能够熟练掌握在数学和物理学的应用,简单计算及编程,简单的数据处理及基本图形绘制.,教材:MATLAB及其在理工课程中的应用指南(陈怀琛) 特点:完全不必具备其它语言的基础,各年级各专业的同学都可选修。,MATLAB课程安排,教学学时: 36学时(基于matlab7.1版本). 教学安排:讲课16学时,上机18学时,考试2学时. 考核要求:不得缺勤,实验报告必须交齐。平时占20%,专项练习30

2、%,期末考查占50%。 考核方式: 考查,第一章 MATLAB语言概述,一、MATLAB语言的发展matlab语言是由美国的Clever Moler博士于1980年开发的,美国Mathworks公司于是984年正式推出。设计者的初衷是为解决“线性代数”课程的矩阵运算问题。取名MATLAB即Matrix Laboratory 矩阵实验室的意思。,它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的应用与高深的科学技术应用有机的相结合。 MATLAB是一种直译式的高级语言,比其它程序设计语言容易。,MATLAB语言与其它语言的关系仿佛和C语言与汇编语言的关系一样。,计算机语言的发展:,标志

3、着计算机语言向“智能化”方向发展,被称为第四代编程语言。,MATLAB已经不仅仅是一个“矩阵实验室”了,它集科学计算、图象处理、声音处理于一身,并提供了丰富的Windows图形界面设计方法。 MATLAB语言是功能强大的计算机高级语言, 它以超群的风格与性能风靡全世界, 成功地应用于各工程学科的研究领域。,MATLAB在美国已经作为大学理工科学生必修的计算机语言之一 (C, FORTRAN, ASSEMBLER, MATLAB)。 近年来,MATLAB语言已在我国推广使用,现在已应用于各学科研究部门和许多高等院校。 MATLAB语言不受计算机硬件的影响,286以上的计算机都可以使用。,二、ma

4、tlab能在各领域做什么工业研究与开发数学教学,特别是线性代数数值分析和科学计算方面的教学与研究电子学、控制理论和物理学等工程和科学学科方面的教学与研究经济学、化学和生物学等计算问题的所有其他领域中的教学与研究,例、用一个简单命令求解线性系统3x1+ x2 - x3 = 3.6x1+2x2+4x3 = 2.1-x1+4x2+5x3 = -1.4 A=3 1 -1;1 2 4;-1 4 5;b=3.6;2.1;-1.4; x=Ab x =1.4818-0.46060.3848,对于线性系统有A*x=b,例、用简短命令计算并绘制在0x6范围内的sin(2x)、sinx2、sin2x。 x=lins

5、pace(0,6) y1=sin(2*x),y2=sin(x.2),y3=(sin(x).2; plot(x,y1,x, y2,x, y3),三、MATLAB语言的特点 1、起点高 2、人机界面适合科技人员 3、强大而容易的作图功能 4、智能化程度高 5、功能丰富,可扩展性强,四、MATLAB语言的功能: 1、强大的数值(矩阵)运算功能 2、广泛的符号运算功能 3、高级与低级兼备的图形功能(计算结果的可视化功能) 4、可靠的容错功能 5、应用灵活的兼容与接口功能 6、信息量丰富的联机检索功能,五、MATLAB的工作环境,1、命令窗 由工作空间:Workspace,历史命令Command His

6、tory, 当前目录Current Directory 命令窗Command Windows。 命令窗是用户与MATLAB进行人机对话的主要环境。,台式电脑:按PrtSc键 手提电脑:按住fn键,再按prt sc键, pi ans =3.1416 format pi ans =3.1416 format long pi ans =3.14159265358979 format short e pi ans =3.1416e+000, format long e pi ans =3.141592653589793e+000 format hex pi ans =400921fb54442d18

7、format bank pi ans =3.14 format + pi ans = +,Format命令的应用:, format rat pi ans =355/113 format short pi ans =3.1416,Help命令的应用:, help formatFORMAT Set output format.FORMAT with no inputs sets the output format to the default appropriatefor the class of the variable. For float variables, the default isF

8、ORMAT SHORT.FORMAT does not affect how MATLAB computations are done. Computationson float variables, namely single or double, are done in appropriatefloating point precision, no matter how those variables are displayed. Computations on integer variables are done natively in integer. Integervariables

9、 are always displayed to the appropriate number of digits forthe class, for example, 3 digits to display the INT8 range -128:127.FORMAT SHORT and LONG do not affect the display of integer variables.。,退出MATLAB: 1、fileExit matlab 2、在命令窗口中键入exit或 quit 3、单击命令窗右上角,图形窗:logo 文本编辑窗:filenewM-file,六、演示程序 命令窗中

10、键入:demo 可以通过演示程序,模仿编辑相关程序。,第二章 基本语法,2.1 变量及其赋值 2.2 矩阵的初等运算 2.3 元素群运算 2.4 逻辑判断与流程控制 2.5 基本绘图方法 2.6 M文件及程序调试,2.1变量及其赋值,(1)标识符与数 (2)矩阵及其元素的赋值 (3)复数 (4)变量检查 (5)基本赋值矩阵,一、标识符与数,标识符:标识符是标志变量名、常量名、函数名和文件名的字符串的总称。 MATLAB中的标识符最长允许19个字符 ,合法字符是52个英文字母(大小写看成不同字符)、10个数字和下划线。 第一个字符必须是英文字母.,MATLAB中的数,MATLAB中的实数只有一种

11、数据格式,那就是双精度(即64位二进制或8个字节),它的有效值是十进制16位,动态范围是10的308次幂。2.225110 3081.797710+308 数的存储和运算全按同一格式进行,使编程简单,减少差错,改善人机交互,付出代价是内存空间和运行速度,形成MATLAB的一大特色。,数的八种显示格式,二、矩阵及其元素的赋值,格式1:变量表达式(或常量) 格式2:表达式 表达式中的运算符有:加(+)、减(-) 、乘(*) 、左除() 、右除(/) 、指数() 、共軛转置()、矩阵()等。 表达式的结尾标点:若为分号;,不显示; 若为逗号,或直接回车,显示运算结果。,矩阵的输入方法: (1)直接输

12、入 A=1 2 3 ;4 5 6 ;6 7 8 A =1 2 34 5 66 7 8 A=1 2 3 ;4 5 6 ;6 7 8; A=1,2,3 ;4,5,6 ;6,7,8 A =1 2 34 5 66 7 8, A=1 2 3 3 4 5 6 7 8A =1 2 33 4 56 7 8,(2)冒号表达式生成向量基本格式 A=1:5;6:10;11:15 A =1 2 3 4 56 7 8 9 1011 12 13 14 15 B=1:0.1:2;5:0.1:6 B =1.0000 1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000 1.8000

13、 1.9000 2.00005.0000 5.1000 5.2000 5.3000 5.4000 5.5000 5.6000 5.7000 5.8000 5.9000 6.0000,(3)线性等分向量生成y=linspace(x1,x2) 生成100维行向量y=linspace(x1,x2,n) 生成n维行向量,a=linspace(1,100,6)a =1.0000 20.8000 40.6000 60.4000 80.2000 100.0000,(4)对数等分向量生成y=logspace(x1,x2) 生成50维对数等分向量,y=logspace(x1,x2,n) 生成n维对数等分向量,a

14、=logspace(0,5,6)a =1 10 100 1000 10000 100000,(5)随机数产生矩阵 rand(m,n)产生 维,区间在0,1之间均匀分布的随机数,其均值为0.5. randn(m,n)产生 维,均值为0标准差为1的正态分布. A=rand(1,6) A =0.9501 0.2311 0.6068 0.4860 0.8913 0.7621 B=rand(2,5) B =0.4565 0.8214 0.6154 0.9218 0.17630.0185 0.4447 0.7919 0.7382 0.4057 C=randn(3,6) C =-0.4326 0.2877

15、1.1892 0.1746 -0.5883 0.1139-1.6656 -1.1465 -0.0376 -0.1867 2.1832 1.06680.1253 1.1909 0.3273 0.7258 -0.1364 0.0593,单位矩阵:eye(m,n); eye(m) 零 矩 阵: zeros(m,n); zeros(m) 一 矩 阵: ones(m,n); ones(m) 对角矩阵: 对角元素向量 V=a1,a2,an A=diag(V) 随机矩阵: rand(m,n)产生一个mn的均匀分别的随机 矩阵,(6)常用的特殊矩阵,如果已知A为方阵,则V=diag(A)可以提取A的对角元素构

16、成向量V。,eye(2,3) ans=1 0 0 0 1 0 zeros(2,3) ans=0 0 00 0 0 ones(2,3) ans=1 1 11 1 1 V=5 7 2; A=diag(V) A=5 0 00 7 00 0 2,eye(2) ans=1 0 0 1 zeros(2) ans=0 0 0 0 ones(2) ans=1 11 1,compan 友矩阵函数 magic 魔方矩阵hankel Hankel矩阵 rosser 对称特征值测试矩阵hilb Hilbert矩阵 pascal Pascal矩阵invhilb 反Hilbert矩阵 vander 范德蒙矩阵 ,(7)其

17、他特殊矩阵,零矩阵:所有元素值为零的矩阵称为零矩阵。零矩阵可以用zeros函数实现。zeros是MATLAB内部函数,使用格式如下:zeros(m):产生m*m阶零矩阵;zeros(m,n):产生m*n阶零矩阵,当m=n时等同 于zeros(m);zeros(size(A):产生与矩阵A同样大小的零矩阵。,(8)特殊矩阵的实现,常见的特殊矩阵有零矩阵、幺矩阵、单位矩阵、三角形矩阵等,这类特殊矩阵在线性代数中具有通用性;还有一类特殊矩阵在专门学科中有用,如有名的希尔伯特(Hilbert)矩阵、范德蒙(Vandermonde) 矩阵等。,空矩阵 在MATLAB里,把行数、列数为零的矩阵定义为空矩阵

18、。空矩阵在数学意义上讲是空的,但在MATLAB里确是很有用的。例如A=0.1 0.2 0.3;0.4 0.5 0.6;B=find(A1.0)B = 这里 是空矩阵的符号,B=find(A1.0)表示列出矩阵A中值大于1.0的元素的序号。当不能满足括号中的条件时,返回空矩阵。另外,也可以将空矩阵赋给一个变量,如:B= ,三、复数,虚数符号MATLAB启动时定为i,j,可以不用乘号,连写在数字后面。 如果用户在程序中另外給i,j赋值,则它们的虚数意义就失效。conj(x)表示共軛,即把x的虚部反号。 是共軛转置运算符,对实矩阵把行号与列号交换,对复矩阵除行列交换外,还要把矩阵元素取共軛。, A=

19、3+5.5iA =3.0000 + 5.5000i B=5+0.332jB =5.0000 + 0.3320i C=1+2i,3+4i;5+6i,7+8iC =1.0000 + 2.0000i 3.0000 + 4.0000i5.0000 + 6.0000i 7.0000 + 8.0000i, D=1,2;5 7+2 4;6 8*iD =1.0000 + 2.0000i 2.0000 + 4.0000i5.0000 + 6.0000i 7.0000 + 8.0000i F=sqrt(2+3i)F =1.6741 + 0.8960i F*Fans =2.0000 + 3.0000i,四、变量检查

20、,变量检查命令who,whos 打开工作空间视窗 在检查中不显示内部变量eps,realmax,realmin,pii,j,inf,NaN, x=-2*pi:0.02:2*pi; y=sin(x).*cos(x)+sin(3*x).*cos(x).2; plot(x,y) whoYour variables are:x y whosName Size Bytes Classx 1x629 5032 double arrayy 1x629 5032 double arrayGrand total is 1258 elements using 10064 bytes,五、特殊矩阵赋值函数(表2-1

21、),矩阵组合与显示,大矩阵可由若干个小矩阵组成,但必须其行列数正确,恰好填满全部元素。 一个矩阵中所有元素用同一显示格式。有一个是小数则都用小数; 当矩阵中的最大元素小于0.001,或其最小元素大于1000时,MATLAB会把其公因子提出来 。 元素大小差别很大时,不宜用矩阵显示。,2.2 矩阵的初等运算,(1)矩阵数值的表示方法(前面已讲); (2)矩阵的加减乘法; (3)矩阵的除法和线性方程解; (4)矩阵的乘方和超越函数;,一、矩阵的加减法,两矩阵进行加减的条件是其行数和列数相同,简称阶次相同,矩阵的加减即其对应元素的加减。size(A)=size(B)如果其中一个变量是标量,则会自动扩

22、展成各元素均取此标量值的同阶次矩阵。, A=rand(2,3) A =0.9355 0.4103 0.05790.9169 0.8936 0.3529 B=rand(5,6) B =0.8132 0.6038 0.4451 0.5252 0.6813 0.42890.0099 0.2722 0.9318 0.2026 0.3795 0.30460.1389 0.1988 0.4660 0.6721 0.8318 0.18970.2028 0.0153 0.4186 0.8381 0.5028 0.19340.1987 0.7468 0.8462 0.0196 0.7095 0.6822 siz

23、e(A) ans =2 3 size(B) ans =5 6, A=1 2;3 4 A =1 23 4 B=5 6 ;7 8 B =5 67 8 C=A+B C =6 810 12 D=A-B D =-4 -4-4 -4,二、矩阵的乘法,c(i,j)=a(i,1)*b(1,j) + a(i,2)*b(2,j) + + a(i,p)*b(p,j) = pa(i,k)*b(k,j),矩阵的乘法,两矩阵相乘C=A*B的条件是A的列数等于B的行数,简称内阶数相同。设矩阵A 为np阶,矩阵B为pm阶,则C是nm阶。内阶数不同的矩阵不能相乘。 不符合交换律:A*BB*A,左乘不等于右乘; 若一个变量是标量

24、,则按标量乘法。, A=1 2;3 4 A =1 23 4 B=5 6 ;7 8 B =5 67 8 C=A*B C =19 2243 50 D=B*A D =23 3431 46, A=1 2;3 4;5 6%3行2列 A =1 23 45 6 B=1 2 3 4;5 6 7 8%2行4列 B =1 2 3 45 6 7 8 C=A*B %3行4列 C =11 14 17 2023 30 37 4435 46 57 6 CC=B*A %矩阵的内阶数不同不能相乘 ? Error using = mtimes Inner matrix dimensions must agree.,三、矩阵除法,

25、线性方程组D*X=B,如果D非奇异,即它的逆矩阵inv(D)存在; 则其解用MATLAB表为 :X=inv(D)*B=DB 符号称为左除,即分母放在左边。 左除的条件:B的行数等于D的阶数(D的行数和列数相同,简称阶数), D=1 2 3;4 5 6;7 8 9 D =1 2 34 5 67 8 9 B=1 2;3 4;5 6 B =1 23 45 6 DB ans =-0.1410 -0.46711.2821 0.9342-0.4744 0.1996,四、矩阵右除,若方程组表为为X*D1=B1,D1非奇异,即它的逆阵inv(D1)存在。 则其解为 X=B1*inv(D1)=B1/D1 符号/

26、称为右除。 右除的条件:B1的列数等于D的阶数(D的行数和列数相同,简称阶数), D=1 2 3;4 5 6;7 8 9 D =1 2 34 5 67 8 9 B=1 2 3;4 5 6 B =1 2 34 5 6 D/B ans =1.0000 0.0000-0.0000 1.0000-1.0000 2.0000,五、线性方程组表为矩阵相乘,x1 + 2 x2 + 3 x3 = 23 x1- 5 x2 + 4 x3 = 07 x1 + 8 x2 + 9 x3 = 2 可以表为故有 X=x1;x2;x3=Ab, A=1 2 3;3 -5 4;7 8 9; b=2;0;-2; x=Ab x =-

27、1.9608-0.07841.3725,六、用矩阵除法解线性方程组,解方程组 6 x1 + 3 x2 + 4 x3 = 3-2 x1 + 5 x2 + 7 x3 = -48 x1 - 4 x2 - 3 x3 = -7 的程序为:A = 6,3,4; -2,5,7; 8,-4,-3; B = 3;-4;-7; X = AB,X =0.60007.0000-5.4000,七、矩阵整体的幂次运算,MATLAB的乘幂函数”、指数函数expm、对数函数logm、和开方函数sqrtm是对矩阵进行的,另外,还有矩阵乘法和除法也是把矩阵作为一个整体来运算。 除此之外,其他MATLAB函数都是对矩阵中的元素分别

28、进行., C=1,2;3 4 C =1 23 4 C2 ans =7 1015 22 expm(C) ans =51.9690 74.7366112.1048 164.0738 logm(C) ns =-0.3504 + 2.3911i 0.9294 - 1.0938i1.3940 - 1.6406i 1.0436 + 0.7505i sqrtm(C) ans =0.5537 + 0.4644i 0.8070 - 0.2124i1.2104 - 0.3186i 1.7641 + 0.1458i,C.2 ans =1 49 16 exp(C) ans =2.7183 7.389120.0855

29、54.5982 log(C) ans =0 0.69311.0986 1.3863 sqrt(C) ans =1.0000 1.41421.7321 2.0000,2.3 元素群运算,数组及其赋值 元素群的四则运算元素群的幂次运算 元素群的函数元素群运算能大大简化编程,提高运算的效率,是MATLAB优于其他许多语言的一个特色。,MATLAB的矩阵和数组运算,矩阵和数组是MATLAB中的基本单位,矩阵运算,数组运算,+加 -减 *乘 幂 左除 /右除 转置,.+加 .-减 .*乘 .幂 .左除 ./右除 .转置,以矩阵运算法则进行运算,以相应位置元素进行运算,一、数组及其赋值,数组通常是指单行或

30、单列的矩阵,也称为向量。 其赋值方法: (1) x=初值:增量:终值 (2) 线性分割函数x=linspace(起点,终点,点数) (3) 对数分割函数logspace(起点对数,终点对数,点数),二、元素群的四则和幂次运算,元素群运算:就是把两矩阵按逐个元素进行运算。为了与矩阵作为整体的运算符号相区别,要在运算符“*、”前加一点符号“” 。元素群运算的英文原文是数组运算 (Array Algorithm),实际上它适用于任何阶的矩阵,故取名元素群运算更为确切。,三、元素群的函数运算,所有的MATLAB函数都适用于作元素群运算,只有专门说明的几个除外。就是*、/、 运算符和sqrtm、expm

31、、logm三个函数。 实例,做一个三角函数表:x=0:0.1:pi/4;x,sin(x),cos(x),tan(x),x=0:0.1:pi/4; disp( x sin(x) cos(x) tan(x) x,sin(x),cos(x),tan(x)x sin(x) cos(x) tan(x) ans =0 0 1.0000 00.1000 0.0998 0.9950 0.10030.2000 0.1987 0.9801 0.20270.3000 0.2955 0.9553 0.30930.4000 0.3894 0.9211 0.42280.5000 0.4794 0.8776 0.54630

32、.6000 0.5646 0.8253 0.68410.7000 0.6442 0.7648 0.8423, disp(x,sin(x),cos(x),tan(x)0 0 1.0000 00.1000 0.0998 0.9950 0.10030.2000 0.1987 0.9801 0.20270.3000 0.2955 0.9553 0.30930.4000 0.3894 0.9211 0.42280.5000 0.4794 0.8776 0.54630.6000 0.5646 0.8253 0.68410.7000 0.6442 0.7648 0.8423 disp(x sin(x) co

33、s(x) tan(x)0 0 1.0000 00.1000 0.0998 0.9950 0.10030.2000 0.1987 0.9801 0.20270.3000 0.2955 0.9553 0.30930.4000 0.3894 0.9211 0.42280.5000 0.4794 0.8776 0.54630.6000 0.5646 0.8253 0.68410.7000 0.6442 0.7648 0.8423,关系与逻辑运算,关系运算符,逻辑运算符, = = =,& 与 | 或 非 xor异或,函数,all (x) 检查列向量中元素是否全为非零 any(x) 检查列向量中有无非零元

34、素,2.4 逻辑判断及流程控制,小于 大于 小于等于 大于等于 等于 不等于,关系运算例子: A=2+3=4 A =0 A=2+3=5 A =1 A=2+3=5 A =1 A=2+3=9 A =1,逻辑运算例子: A=1; B=0; A&B ans =0 A|B ans =1 A ans =0 xor(A,B) ans =1, A=1 1 0;1 1 1;0 0 0;0 1 0A =1 1 01 1 10 0 00 1 0 all(A)ans =0 0 0 any(A)ans =1 1 1,流程控制语句,if A1 % 表达式1B1 %命令1elseif A2 % 表达式2B2 %命令2 el

35、se B3 %命令3 end,If 语句,例:计算下列函数的值,expif.m clear %清除变量 x=input(请输入一个值x=) %任意输入一个值 if x=1&x10 %判断条件2是否满足 y=2*x-1, %满足条件2的结果 else %其他情况,即条件3y=3*x-11, %满足条件3的结果 end %程序结束,请输入一个值x=-9x =-9y =-9,保存文件yx.m function y=yx(x); if x1&x10y=2*x-1, elsey=3*x-11, end,主窗口中输入: yx(5)y =9ans =9 yx(8);y =15,switch 语句,switc

36、h a %读入一个语句 case A1 %情形1B1 %命令1 case A2 %情形2B2 %命令2 case otherwise Bn %最后一个命令,判断输入数n的奇、偶、空的程序: clear%switchm.m n=input(n=); switch mod(n,2)case 1A=奇case 0A=偶otherwiseA=空 end,n=13A =奇n=46A =偶n=45.6A =空,try语句组1 catch语句组2 end,try语句,try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。,循环结构,f

37、or 语句,for 变量=表达式 命令1 命令2end,while 语句,for 用于循环次数已知,while 表达式命令 end,while 用于循环次数未知,break 语句用来跳出循环,继续执行循环语句的下一语句。,continue语句跳过循环体中所有剩下的语句,继续下一次循环。,计算阶乘的程序(prdn.m): clear prd=1; %放置乘积的变量,且设置初值为1 n=10; %设置循环的次数 for k=1:n %循环语句 prd=prd*k; %计算阶乘 end prd %输出结果主窗口输出结果: prd =3628800,也可用factorial(n)来计算: factor

38、ial(10) ans =3628800,求和的程序(一):求1到20 的阶乘和 clear%sumn.m sum=0; for i=1:20prd=1;for k=1:iprd=prd*k;endsum=sum+prd; end Sum主窗口输出结果: sum =2.5613e+018,求和的程序(二):求1到100的和 clear%sumw.m sum=0; i=1; while i=100sum=sum+i;i=i+1; end sum主窗口输出结果: sum =5050,例:小猴吃桃问题。设第k天的桃子数为 ,则桃子数的变化规律为:,给定k, ,可算出第一天的桃子数。,p(10)=1;

39、 for k=10:-1:2; p(k-1)=2*(p(k)+1); end p(1) ans =1534,例:小猴吃桃问题。设第k天的桃子数为 ,则桃子数的变化规律为:,给定k, ,可算出第一天的桃子数。,p(10)=1; for k=10:-1:2; p(k-1)=2*(p(k)+1); end p(1) ans =1534,例-平面简谐波: x=-0.25:0.001:0.25;%设定x的取值范围 for i=0:2%用循环语句令i分别取0,1,2 t=0.0025*i; y=0.002*cos(pi*5*x-200*pi*t);%此为时刻t的波函数 if i=0;%用选择语句分别用不同

40、的颜色线型画不同时刻的波形图 plot(x,y,k-)%用黑色实线画t=0时刻的波形图 hold on%保存图形的命令,否则后一幅图会覆盖前一幅 grid on%绘制网格 elseif i=1; plot(x,y,r-)%用红色虚线画t=0.0025时刻的波形图 elseif i=2; plot(x,y,b-.)%用蓝色虚点线画t=0.005时刻的波形图 end%结束if语句 end%结束for语句,2.5基本绘图方法,直角坐标中的两维曲线 多条曲线的绘制 其他坐标二维绘图 屏幕控制 三维曲线和曲面,一、直角坐标中的两维曲线,(一)plot 最基本的二维图形指令 plot命令的基本格式 plo

41、t(Y) = plot(n,Y) plot(t,Y) plot(t,Y,:w) 最后一个变元前一个符号为线型(点型) 后一个字母表示颜色,线型、点型和颜色,1. 单窗口单曲线绘图 例1:x=0, 0.48,0.84,1,0.91,0.6,0.14 x1, x2, x3, x4, x5, x6, x7, plot (x),例如: x=-10:0.01:10; y=sin(3*x)+cos(5*x); plot(x,y,-r), x=-10:0.01:10; y=sin(3*x)+cos(5*x); plot(x,y,-r,linewidth,2) xlabel(x) ylabel(y), x=-

42、10:0.01:10; y=sin(3*x)+cos(5*x); plot(x,y,-r,linewidth,2) xlabel(fontsize14x),ylabel(fontsize14y),在图片窗口中双击坐标,可改变坐标字体的大小.,2. 单窗口多曲线绘图 例2:t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2),例 3: t=0:pi/100:2*pi;y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5);y3=cos(t);y4=cos(t+0.25);y5=c

43、os(t+0.5);plot(t,y,t,y1,t,y2,t,y3,t,y4,t,y5),例4:(1)x=peaks;plot(x) (2)x=1:length(peaks);y=peaks;plot(x,y) 图形是一样的.,3. 单窗口多曲线分图绘图,subplot 子图分割命令 调用格式:subplot(m,n,p) 按从左至右,从上至下排列,行,列,绘图序号,t=0:pi/100:2*pi; y=sin(t); y2=sin(t+0.5); y3=cos(t); subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y3) subplot(1

44、,3,3); plot(t,y2),t=0:pi/100:2*pi; y=sin(t); y2=sin(t+0.5); y3=cos(t); subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y3) subplot(3,1,3); plot(t,y2),t=0:pi/100:2*pi; y=sin(t); y2=sin(t+0.5); y3=cos(t); subplot(2,2,1); plot(t,y) Subplot(2,2,2); plot(t,y3) subplot(2,1,2); plot(t,y2),4. 多窗口绘图,figure(

45、n) 创建窗口函数,n为窗口顺序号。 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) % 自动出现第一个窗口 figure(2) plot(t,y1) %在第二窗口绘图 figure(3) plot(t,y2) %在第三窗口绘图,图1 图2 图3,5.可任意设置颜色与线型,例 5:t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,r-,t,y1,g:,t,y2,b*),6.图形加注功能,将标题、坐标轴标记、网格线及文字注 释加注到图

46、形上,这些函数为:title 给图形加标题xlable 给x轴加标注ylable 给y轴加标注text 在图形指定位置加标注gtext 将标注加到图形任意位置grid on(off) 打开、关闭坐标网格线legend 添加图例axis 控制坐标轴的刻度,例:t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,r,t,y2,b-); x=1.7*pi;1.6*pi; y=-0.3;0.8; s=sin(t);cos(t); text(x,y,s); title(正弦和余弦曲线); legend(正弦,余弦) xlabel(时间t),ylabel(正弦、余弦) grid axis square,axis的用法还有:axis(xmin xmax ymin ymax) 用行向量中给出的值设定坐标轴的最大和最小值。如axis (-2 2 0 5)axis(equal) 将两坐标轴设为相等axis on(off) 显示和关闭坐标轴的标记、标志axis auto 将坐标轴设置返回自动缺省值,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 理学

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报