MATLAB5 手册.pdf
《MATLAB5 手册.pdf》由会员分享,可在线阅读,更多相关《MATLAB5 手册.pdf(388页珍藏版)》请在三一文库上搜索。
1、下载 第1章M AT L A B是什么 没有M AT L A B就没有乐趣。 Nachtigal, M. N., Reddy, S. C., Trefethen, L.N.(1990)。 不对称矩阵迭代有多快? 关于迭代方法的Copper Mountain会议论文集, Copper Mountain CO, 1-5,1990年4月。 1.1 MAT L A B能做什么 M AT L A B是一个可视化的计算程序,被广泛地使用于从个人计算机到超级计算机范围内 的各种计算机上。 M AT L A B包括命令控制、可编程,有上百个预先定义好的命令和函数。这些函数能通过 用户自定义函数进一步扩展。 M
2、 AT L A B有许多强有力的命令。例如, M AT L A B能够用一个单一的命令求解线性系统, 能完成大量的高级矩阵处理。 M AT L A B有强有力的二维、三维图形工具。 M AT L A B能与其他程序一起使用。例如, M AT L A B的图形功能,可以在一个 F O RT R A N 程序中完成可视化计算。 2 5个不同的M AT L A B工具箱可应用于特殊的应用领域。 M AT L A B在以下的领域里解决各种问题是一个十分有效的工具: 工业研究与开发。 数学教学,特别是线性代数。所有基本概念都能涉及。 在数值分析和科学计算方面的教学与研究。能够详细地研究和比较各种算法。
3、在诸如电子学、控制理论和物理学等工程和科学学科方面的教学与研究。 在诸如经济学、化学和生物学等有计算问题的所有其他领域中的教学与研究。 在M AT L A B中创建的组是矩阵,M AT L A B的名字取自矩阵实验室( M ATrix LABoratory)。 1.2 MAT L A B实例 本节中的实例恰当而简洁地展示了M AT L A B能做什么。在一些实例中给出了完整的 M AT L A B命令;而在另一些实例中,为简化仅给出部分命令。 在本书中出现的 M AT L A B代码用的是一种特殊的字体以区别于书中别的文字。 M AT L A B的输出是斜体字,即:我们输给 M AT L A
4、B的命令是正体; M AT L A B给出的输出答 案是斜体。 百分符号在M AT L A B中用做注释符号,在本书中全部都是这样使用。采用的其他表示 方法是:数量和预定义函数用斜体字,矩阵、向量和用户自定义函数用黑体字。矩阵用大写 字母开头命名,而向量以小写字母开头。细胞矩阵是如同矩阵或向量的概念,也采用黑体字, 其结构和对象也是如此。在命令表中,用斜体字表示那些可选的函数参数。例如, c o m m a n d (parl, p a r2),参数p a r 1总是需要的,而p a r2是可选的。 例1.1 二维和三维函数 M AT L A B能用于计算,并以二维和三维图形显示各种函数。在
5、M AT L A B函数中包括了所 有主要的数学函数和大量的高级函数。 (a) 用简短的M AT L A B命令计算并绘制在0x6范围内的s i n ( 2x)、s i nx2 和s i n 2 x。 x = l i n s p a c e ( 0 , 6 ) ;% 创建一个向量x。 y 1 = s i n ( 2*x ) ;% 向量y 1等于x坐标上某一x的s i n ( 2 x )值。 y 2 = s i n ( x . 2 ) ;% 向量y 2等于s i n ( x . 2 ),同上。 y 3 = ( s i n ( x ) ) . 2 ;% 向量y 3等于( s i n ( x ) )
6、 . 2,同上。 命令p l o t ( x , y 1 )绘制向量y 1,y 1作为向量x的一个函数,p l o t命令的定义可参见第 1 3 章。由此能够很容易地在一个图上绘制s i n ( 2x)、s i n (x2)和s i n2x的曲线并正确地标记它们(图1 - 1 )。 图1-1 同一图上的三条曲线 (b) 两个变量的函数需要用三维来恰当地图示, M AT L A B能够给出很好的三维图。在图 1 - 2中,用 四个不同的方法展示了函数 f(x,y) = cos (x)sin (y)的图形:左上图用 s u r f命令和s h a d i n g i n t e r p;右 上图用
7、m e s h;左下图用w a t e r f a l l以及右下图用 c o n t o u r。关于图像命令的详细信息可参见第 1 3章。 图1-2 四种方法绘制双变量的一个函数的图形 2M ATLAB 5 手册 下载 用surf和shading interp绘图用mesh绘图 用mesh和隐藏线绘图用contour绘图 (c) MAT L A B也能绘制一条参数曲线,例如: x-y平面图如图1 - 3所示。 图1-3 一个参数曲线图 例1.2 函数分析 M AT L A B命令f z e r o和f m i n可以用于寻找一个函数的零点和最小值。 函数可以用名叫 f u n c的用户自定
8、义函数 (见2 . 9节)表示,并存入一个名叫 f u n c . m的M文件中。这个文件由下列行组成: 如果这个M文件被存放在当前的工作目录中,或在一个称为 m a t l a b的子目录中,函数f u n c 就可以像预定义的M AT L A B函数一样调用。例如,调用x i s z e r o = f u n c ( 0 ),给出的答案是: xiszero = 1 用这样定义的函数,M AT L A B提供了一个命令来寻找方程 x ex2ex2s i nx3= 0的零点。命令 x s o l v = f z e r o (f u n c, 3)给出: xsolv = 1 . 2 1 9
9、4 在本例中,命令中的第2个自变量用的是3,是开始计算的一个初始近似值。 如果在1x1 . 5区间内绘制这个函数,则正确答案如图 1 - 4所示。 图1-4在1x1 . 5区间内绘制函数xe x2?ex2?sinx3的图形 xex 2 ex 2 sinx3 第1章M AT L A B是什么3 下载 当x在0 . 5和1之间时,这个函数看起来有一个极小值,为正确找出这个极小值,用命令 m p o i n t = f m i n (f u n c, 0.5, 1) ,其结果为: mpoint = 0 . 8 9 5 4 用于检查M AT L A B中用户自定义函数的命令可参见第 1 0章和第11章
10、。 例1.3 线性系统与特征值 (a) MAT L A B可以用一个简单的命令行求解线性系统,系数矩阵 A和右侧b定义如下: 这对应于线性系统A x = b,如下所示: 这可由如下命令求解: x = A b 其结果为: (b) 还有许多矩阵控制命令。例如,例( a )中矩阵A的特征值很容易地可以由下列命令得到: 其给出: 矩阵E i g e n Ve c t o r s的列是A的特征向量,E i g e n Va l u e s中对角线元素是特征值。由于矩阵 A 是对称的,因此,所有的特征值都是实数,三个特征向量是相互正交的。 M AT L A B中的基本概念是矩阵。基本的矩阵命令在第 3章描
11、述,更多的命令将在第 4、7、 8、9章中描述。 例1.4 曲线拟合与插值 (a) 如果有两个向量x和y表示的x-y平面上的一组点,那么,可以对它们进行插值点或者拟 合一条曲线。令 4M ATLAB 5 手册 下载 对应x-y平面上的9个点。首先,展示以最小二乘法拟合数据的线性函数,这个可以通过 M AT L A B中的三个简单的命令来实现: p1=polyfit(x, y, 1)% p1=A 向量等于一次多项式的系数。 linc=polyval(p1, x)% linc=A 向量等于x点上多项式p 1的值。 plot(x, linc,x, y,x)% 绘制多项式和由x标记的数据。 结果见图1
12、 - 5 (左图)。 能以最小二乘法对一组点拟合高次多项式。对上面的命令行进行一点小改动就可以得到 7 次多项式: p7=polyfit(x, y, 7); % p7=A 向量等于7次多项式的系数。 x x = 1 : 0 . 2 5 : 8 ;% xx= 所有想要进行多项式计算的点。 polc=polyval(p7, xx);% polc=A 向量等于点x x上多项式p 7的值。 plot=(xx,polc, x, y,x)% 绘制多项式和由x标记的数据。 其结果如图1 - 5 (右图)所示。 图1-5 x-y平面上对一组具有9个点的数据拟合的1次和7次多项式 (b) MAT L A B提供
13、了二维和三维的内插函数。给定一组点 (xi ,y i)和一些内插点x i,M AT L A B 能返回通过对这些数据内插的插入点的值,这可以有不同的方法实现。作为一个例子,将使 用( a )中的一组点来给出在下列点中插入的值: 图1-6 piecewise 线性函数插值(左)和三次样条插值(右) 第1章M AT L A B是什么5 下载 线性插值三次样条插值 x i=(1 1.1 1.2 1.3 7.9 8) 在图1 - 6中,分别展示了分段线性插值和三次样条插值。 x标记表示原始数据,点线是 中间点的被插函数。 有关插值和曲线拟合的详细信息可参见第 1 0章。 例1.5 统计 M AT L
14、A B包含了统计命令。例如,很容易地求得实验数据的平均值和中位值以及绘制统 计频数直方图或直方图。 图1 - 7显示了某小镇上每个人的年龄。上图是统计频数直方图,显示了每个年龄的人数。 例如,看到两个年龄最大的人是 9 2岁。统计频数矩形图也表示了小镇上没有人是 11岁或1 2岁, 7岁的儿童7人。 也能看出3 2岁以下的人与3 2岁以上的人一样多,因为这是一个中间年龄。此外,平均年 龄是3 5岁。这些也都在图中标出。 另外,下图展出了小镇上居民的年龄。例如,如果知道要列出的是第 11人,那么也就知 道这个人是一个小孩。因为第 11个直方块接触x轴。这种绘图称为阶梯图,即没有内部线的直 方图。
15、统计命令在第6章中描述。 图1-7 来自小镇数据的一个统计频数矩形图 例1.6 傅立叶变换与信号分析 M AT L A B能利用快速傅立叶变换F F T计算离散傅立叶变换,这用于信号分析和解微分方程。 为了证明M AT L A B的傅立叶变换,用0和1之间的随机数干扰5 s i n (x) + 2 s i n ( 5x) 函数: x=linspace(0, 2 *pi, 64); s i g n a l = 5*s i n ( x ) + 2*s i n ( 5*x ) + r a n d n ( x ) ; 6M ATLAB 5 手册 下载 小镇居民的统计频数矩形图 小镇上每个人的年龄 小镇
16、上的200人 中间值平均年龄 年龄 干扰信号和原始信号如图1 - 8 (上)所示。 然后,变换这个信号,并且删除变换后信号中的所有高频,即系数向量中心部分设为零。 t r a n s f = f f t ( s i g n a l ) ; f i l t t r a n s f ( 1 : 9 ) = t r a n s f ( 1 : 9 ) ; f i l t t r a n s f ( 5 6 : 6 4 ) = t r a n s f ( 5 6 : 6 4 ) ; 傅立叶变换的实际部分如图 1 - 8 (下)所示。图1 - 9 (上)中删除了高频傅立叶变换,仅低频向 量通过逆傅立叶变
17、换而变换: f i l t s i g = i f f t ( f i l t t r a n s f ) ; 这个过滤的信号与原始信号一起在图 1 - 9 (下)中展示。这个过滤的信号如期望一样是光滑 的。因为这种干扰也影响部分低频信号,所以它与原始信号不等。 在1 0 . 5节中,作为M AT L A B的一部分描述了傅立叶变换,更详细的有关信号处理工具箱 的信息参见附录C。 例1.7 常微分方程 M AT L A B可以用数字求解常微分方程。作为一个实例,展示在一个轨道上一只猫追赶一 只机器玩具老鼠。猫和老鼠的位置分别用 (x(t), y(t) )和(X(t) ,Y(t) )表示。猫的速
18、度向量是和猫与 老鼠之间的差向量对应的。猫从( 5 0,4 0 )开始,这就给出了如下的微分方程系统: 式中w是老鼠的速度,a是猫和老鼠在t时刻相距的距离,由下式给出: 这个系统的解如图1 - 1 0所示,从图中可以看到由于老鼠跑得太快,猫并没有成功地抓到老鼠。 第1章M AT L A B是什么7 下载 图1-8 干扰信号和它的傅立叶变换 图1-9 过滤傅立叶变换 干扰信号和原始信号 干扰信号的傅立叶变换过滤信号和原始信号 删除高频 (t) =(X(t) x(t)2+ (Y(t) y(t)2 图1-10猫捉机器玩具老鼠。小圆是老鼠的终点,十字是猫的终点 在11 . 2节中描述了如何使用M AT
19、 L A B求解一般的常微分方程问题。 例1.8 偏微分方程 在M AT L A B中有许多用于不同应用领域的工具箱。这里,作为一个例子给出 P D E工具箱, 这个工具箱能通过使用有限元方法 (the Finite Element Method)解椭圆方程、抛物线方程和双 曲线方程。区域要分成大量的三角形子区域,对每个三角形,其解由一个简单函数估计。所 用的三角形越多,其偏差就越小。 求解这个区域里的椭圆问题u = s i n ( 2 y+ / 2 ) c o s ( 2 x+ / 2 ),如图1 - 11所示。 拉普拉斯算子 是,边界条件u= 0,也可由P D E工具箱所做的三角形子区域给
20、出。 这个问题的解可以用可视化等高线以二维绘制,如图 1 - 1 2所示。 例1.9 MAT L A B中的编程 M AT L A B是可编程的。命令序列可以在文本编辑器上写入,然后可以调用 M AT L A B命令 窗口上的用户定义函数或程序。文件的名字必须要有扩展名 .m,这个文件就称为 M文件。这 些M文件可以用相同的方法象标准M AT L A B函数一样使用。 (a) 阶乘n!= 123n可以用不同的方法计算。这里,展示一个递归的用户定义函数: 8M ATLAB 5 手册 下载 猫和老鼠 猫 老鼠 图1 - 11 PDE工具箱采用F E M的三角形子区域图1-12 PDE工具箱计算的等
21、高线解的图示 PDE解 function p =factorial(nn) 计算n n的阶乘。 这个M文件名叫f a c t o r i a l . m,对这个函数的调用如下所示: f o u r f a c t o r i a l = f a c t o r i a l ( 4 ) 其结果为: f o u r f a c t o r i a l = 2 4 (b)在M AT L A B中可以使用面向对象的程序设计。有一个类 w o r l d,用来模拟一个小世界 内的生与死。对于一个要在这个世界出生的个人来说,他需要一些邻居,但太多的邻居会构 成生存危机。类w o r l d的命令是在目录w
22、 o r l d中的文件w o r l d . m中。 Function w=world(Size, Density, nrCreate, nrSurvive) % WORLD 生成一个生命世界。 % 这是命令方式。 % Size给出这个世界的边,它是方的。 % Density 应该是在0与1之间,定义了实与空的近似比率。 % nrCreate 一个需要生长的空单元的最近邻居的号码。 % nrSurvive 一个需要生存和长大的满单元的最近邻居的号码。 属于类的这种方法在目录 w o r l d中定义, 但不在这里说明。现在,人们可以通过下列命令 产生一个对象w: w=world(20, 0.
23、6, 2 4 5, 3 6 7); 现在重复 w = y e a r ( w ) 与人类所经历的1 0年一样,反复1 0次,得到 图1 - 1 3。 关于M AT L A B中的有关编程信息可参见第 1 2章。 例1.10 图形用户界面 M AT L A B提供了一个设计易于使用的程序的机会。程序能够在一个控制图上由按钮、弹 出菜单、可编辑文本等控制,这部分在 1 4 . 3节中描述。在1 4 . 4节中,演示了一个由瑞典科学家 第1章M AT L A B是什么9 下载 图1-13 10年后世界w上的人口 设计的图形用户界面的实例。这个程序用于解决非等距网格的一个模型方程。 图1-14带图形用
24、户界面应用的一个M AT L A B程序 1.3 MAT L A B帮助 本书打算展示M AT L A B中可用的命令,并解释如何使用 M AT L A B。对于读者,多数时候 这已足够,但对想学习更多内容的读者来说,在 M AT L A B中可以使用帮助。在系统提示符下, 键入h e l p命令,M AT L A B给出这个命令的解释。 在M ATLAB5 中也包含了一个强有力的H T M L格式的帮助数据库。这使得寻找一个命令更 容易,依参考而得到帮助。当给出 h e l p d e s k命令时,一个浏览器如 Netscape Navigator或 Microsoft Internet
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB5 手册
链接地址:https://www.31doc.com/p-3672894.html