数学实验选修课课件1.ppt_第1页
数学实验选修课课件1.ppt_第2页
数学实验选修课课件1.ppt_第3页
数学实验选修课课件1.ppt_第4页
数学实验选修课课件1.ppt_第5页
已阅读5页,还剩142页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

山东英才学院全院选修课 数学实验 (Matlab版) 基础部数学教研室 谷振涛 2011年03月 楔 子 数学实验简介及Matlab初识 一、什么是数学? 二、什么是实验? 三、什么是数学实验? 四、数学实验的核武器Matlab简介 五、小乔初嫁了初识Matlab 一、什么是数学? 数学是一门课,而且是我最讨厌一 门课程! 数学是是催眠曲! 傻瓜!数学就是数的学问呗! 数学是,俺也不知道! 数学是Mathematics! 数学到底究竟是什么? 我们看看专家怎么说! 一、什么是数学?专家说: 数学,Mathematics,是研究数量、结构 、变化以及空间模型等概念的一门学科。 透过抽象化和逻辑推理的使用,由计数、 计算、量度和对物体形状及运动的观察中产 生。 数学,作为人类思维的表达形式,反映了 人们积极进取的意志、缜密周详的推理及对 完美境界的追求。它的基本要素是:逻辑和 直观、分析和推理、共性和个性。 一、什么是数学? 1、 数学就是解题 什么是数学?数学就是解题,就是把 不熟悉的题型向熟悉的题型转化 。 但是,解题不是经典的“多做题”。 而是应用已学的数学知识去解决实际 问题。 在做数学和用数学中不但可以提高学 习的兴趣,也会在数学活动的过程中学 到不少知识,提高多种能力。 一、什么是数学? 2、 数学是训练思维的体操 数学是由数学、字母、符号、图形构 成的一座迷宫。不少人爱玩迷宫游戏, 逆向思维是寻求走出迷宫正确道路的诀 窍,一旦顺利走出迷宫,成功的愉悦会 使你兴奋不已,你会向新的、更复杂的 迷宫挑战,这也是数学的魅力,思维在 不知不觉中得到了训练。可以这样说: 数学是教人颖睿的一门学科。 一、什么是数学? 3、 数学是一种语言 数学由于它自身的特点,严密的系统和逻辑 推理,运算法则和运算性质的合理性,使它成 为了一种宇宙间的通用语言,不需要翻译,只 要用数学式的恒等变形,用数学的符号语言和 图形语言即可传达我们的思想,达到交流的目 的。 数学是精密科学和现代科技的语言,精确到 何种程度,多元变量之间有什么关系,如果没 有数学语言,很难想象科学家们怎样把自己的 思想准确而凝练地向别人表述。 一、什么是数学? 4、 数学是哲学 数学中充满了哲学,许多数学家(比如毕达哥 拉斯)也是哲学家。 或者说,许多哲学观点在数学中找到了实证 ,得到了体现。许多哲学家也研究数学,比 如恩格斯,他写的自然辩证法就是一部 杰出的数学论著。 例如 线段AB 极限 无限有限 吾生也有涯,而知 也无涯! 一、什么是数学? 5、 数学是文化 数学对象并非物质世界中的真实存在, 而是人类抽象思维的产物。而文化,广义 地说,是指人类在社会历史实践过程中所 创造的物质财富和精神财富的总和。因此 ,在所说的精神财富意义上,数学就是一 种文化。 一、什么是数学? 5、 数学是文化 和很多数学家是哲学家一样,有很多数学家 也是文学家。 例如著名的童话爱丽丝漫游仙境就出自 英国牛津大学的一位数学家之手。 俄国著名女数学家柯瓦利夫斯卡娅不仅在数 学上有很大贡献,而且写出了一部被俄国文艺 评论家认为“无论在形式上还是在思想内容上都 可以与俄国文坛上最佳的作品相媲美”的小说 拉也夫斯卡娅姐妹。 我国著名数学家苏步青出版过诗集 一、什么是数学? 5、 数学是文化 数学中的许多问题的发现和解决,都 有深厚的文化背景,精彩的故事后面 隐含着深邃的哲理。数学有着数千年 的文化积淀,芸集了大众和数学家智 慧的结晶。在我们学习数学知识时, 不得不由衷地赞美人类的聪明才智。 七桥问题Seven Bridges Problem 当Euler在1736年访问Konigsberg, Prussia(now Kaliningrad Russia)时,他发现当地的市民正从事一项非 常有趣的消遣活动。Konigsberg城中有一条名叫Pregel的 河流横经其中,这项有趣的消遣活动是在星期六作一次走 过所有七座桥的散步,每座桥只能经过一次而且起点与终 点必须是同一地点。 (如图)问是否可能从这四块陆地中任 一块出发,恰好通过每座桥一次,再回到起点? (18世纪 著名古典数学问题之一。) 一、什么是数学? 6、数学是艺术 数学中存在着美。数百年来流传的“ 只有美的艺术,没有美的科学”的观念,使许 多人认为数学不过是一种有用的工具,是“科 学大门的钥匙”,仅此而已。数学中存在的美 就是数学美,它是纯客观的,哪里有数学哪 里就有数学美存在。数学的简洁美、和谐美 、对称美、奇异美就是数学美的内容。 一、什么是数学? 例如,黄金分割数0.618, 它是最和谐的比例 关系,具有很高的美学价值。人的肚脐高度和 人体总高度之比接近等于0.618; 主持人主持节目时,站在舞台的黄金分割点位 置,不显得呆板,声音传播效果最好; 在建筑造型上,黄金分割处布置腰线或装饰 物,则可使整幢大楼显得雄伟雅致。 蜜蜂房呈六角形,角度也很精确,钝 角 109 32 ,这样的巢不但节省材料,而且结实 坚固,令人类工程师惊叹不已!更另人惊奇的 是蜜蜂还知道两点间的最短距离,蜜蜂在花间 随意来去采集花蜜后它知道取最直接的路线回 到蜂房。 二、什么是实验? 实验,是科学研究的基本方法之一。根据科学研 究的目的,尽可能地排除外界的影响,突出主要因 素并利用一些专门的仪器设备,而人为地变革、控 制或模拟研究对象,使某一些事物(或过程)发生 或再现,从而去认识自然现象、自然性质、自然规 律。 二、什么是实验? 实验,区别于试验,实验是为了解决文 化、政治、经济及其社会、自然问题,而在 其对应的科学研究中用来检验某种新的假说 、假设、原理、理论或者验证某种已经存在 的假说、假设、原理、理论而进行的明确、 具体、可操作、有数据、有算法、有责任的 技术操作行为。通常实验要预设“实验目的 ”、“实验环境”,进行“实验操作”,最 终以“实验报告”的新闻形式发表“实验结 果”。 二、什么是实验? 而“试验”指的是在未知 事物,或对别人已知的某种事 物而在自己未知的时候,为了 了解它的性能或者结果而进行 的试探性操作。试验,是实验 的一种,大多带有盲目性,没 有假说。 三、什么是数学实验? 数学实验是计算机技术和数学、软件 引入教学后出现的新事物。 数学实验的目的是提高学生对数学的 应用意识并培养学生用所学的数学知识 和计算机技术去认识问题和解决实际问 题的能力。 三、什么是数学实验? 不同于传统的数学学习方式,它强调 以学生动手为主的数学学习方式。 在数学实验中,由于计算机的引入和 数学软件包的应用,为数学的思想与方 法注入了更多、更广泛的内容,使学生 摆脱了繁重的乏味的数学演算和数值计 算,促进了数学同其他学科之间的结合 ,从而使学生有时间去做更多的创造性 工作。 三、什么是数学实验? 现在国外小学还开设数学实验室或实 验角,准备各种各样的教具、操作用具 ,许多用发现法教学的课就在数学实验 室中进行。 所以我们要学习 “数学实验”! 四、数学实验的核武器Matlab简介 MATLAB是矩阵实验室(Matrix Laboratory )的简称,是美国MathWorks公司出品的商业 数学软件,用于算法开发、数据可视化、数据 分析以及数值计算的高级技术计算语言和交互 式环境,主要包括MATLAB和Simulink两大部 分。 四、数学实验的核武器Matlab简介 成长历程 20世纪70年代,美国新墨西哥大学计算机科 学系主任Cleve Moler为了减轻学生编程的负担 ,用FORTRAN编写了最早的MATLAB。1984年由 Little、Moler、Steve Bangert合作成立了的 MathWorks公司正式把MATLAB推向市场。到20世 纪90年代,MATLAB已成为国际控制界的标准计 算软件。 四、数学实验的核武器Matlab简介 成长历程 1 操作系统 : DOS Windows 2 版本: 1992年 4.0 版 1997年 5.0版 1999年 5.3 版 2000年 6.0版(Release 12) 2002年 6.5版 2004年 7.0版(Release 14) 2010年9月3日 7.11版 四、数学实验的核武器Matlab简介 应用广泛 数学软件Matlab等除了具备卓越的数值 计算能力外,它还提供了专业水平的符号 计算,文字处理,可视化建模仿真和实时 控制等功能。它是一套功能十分强大的工 程计算及数据分析软件,广泛应用于信息 、工业、电子、医疗、建筑等众多领域。 而且用Matlab来处理问题和编程要比用C语 言、Fortran语言等简捷快速得多。Matlab 已经是国际上公认的优秀数学应用软件之 一。 四、数学实验的核武器Matlab简介 Matlab特点 1. 计算功能强 2人机界面好 3. 编程效率高 4绘图功能强 5可扩展性强 Eg1:漂亮三维曲线,想怎么看就怎么转! t=0:pi/100:20*pi; x=sin(t); y=cos(t); z=t.*sin(t).*cos(t); plot3(x,y,z); title(Line in 3-D Space); xlabel(X);ylabel(Y);zlabel(Z); grid on; 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg2:看看这块好布,想做件什么衣服 ? x,y=meshgrid(0:0.25:4*pi); z=sin(x+sin(y)-x/10; mesh(x,y,z); axis(0 4*pi 0 4*pi -2.5 1); 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg3:看看这4个帽子! x,y=meshgrid(-8:0.5:8); z=sin(sqrt(x.2+y.2)./sqrt(x.2+y.2+eps); subplot(2,2,1); mesh(x,y,z); title(mesh(x,y,z) subplot(2,2,2); meshc(x,y,z); title(meshc(x,y,z) subplot(2,2,3); meshz(x,y,z) title(meshz(x,y,z) subplot(2,2,4); surf(x,y,z); title(surf(x,y,z) 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg3:瓶子、鸡蛋、山峰、山谷? t=0:pi/20:2*pi; x,y,z= cylinder(2+sin(t),30); subplot(2,2,1); surf(x,y,z); subplot(2,2,2); x,y,z=sphere; surf(x,y,z); subplot(2,1,2); x,y,z=peaks(30); surf(x,y,z); 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg4:找找不同点 x,y,z=sphere(20); subplot(1,2,1); surf(x,y,z);axis equal; light(Posi,0,1,1); shading interp; hold on; plot3(0,1,1,p);text(0,1,1, light); subplot(1,2,2); surf(x,y,z);axis equal; light(Posi,1,0,1); shading interp; hold on; plot3(1,0,1,p);text(1,0,1, light); 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg5: 方程(x.2 + (9/4)*y.2 + z.2 - 1)3 - x.2*z.3 - (9/80)*y.2*z.3 = 0 画出来的是一个立体的心。 五、小乔初嫁了初识Matlab 五、小乔初嫁了初识Matlab Eg6:强悍,Matlab能唱歌!见优盘 ! xiexie! 第1章 MATLAB的安装与启动 1.1 Matlab的界面和图标 Matlab的界面 Matlab的图标 1.2 MATLAB的安装与启动 1. 把MATLAB 7.0安装盘放入CD-ROM, 一般会自动运行安装程序,如果不运行 ,可以进入光盘双击setup.exe文件, 初始化完成,会出现对话框: 1.2.1 1.2.1 MATLABMATLAB的安装的安装 2. 单击Next按钮,出现一个对话框 ,分别输入名字、单位和安装序列号 。输入后,单击Next,出现是否接受 协议的对话框。 3. 在是否接受协议的对话框中单击yes 和Next,出现安装形式对话框,第一项是 典型安装,一般选择默认。第二项是定 制安装,可以选择产品和文件。 4.选择典型安装后,需选择安装路径, 一般默认为c盘MATLAB7。如果选择定制 安装后,单击Next,出现选择安装路径 和选择产品和文件的对话框,在选择产 品和文件部分可选择用户需要安装的 MATLAB和工具箱。 5) 安装到约70%,需要在CD-ROM中放 入第二章光盘,继续安装。 6) 安装完毕后,要重新启动计算机 。 如果用户需要卸载MATLAB时, 单击开始菜单,依次选择程序、 MATLAB、Uninstall MATLAB执行 命令,将会出现Uninstall Product List对话框示,选择需 要卸载的内容,然后单击Next。 单击yes,开始卸载。 1.2.2启动与退出MATLAB系统 1. MATLAB1. MATLAB系统的启动系统的启动 启动MATLAB系统有3种常见方法: 1)单击Windows开始菜单,依次选择程序 MATLAB7.0MATLAB7.0即可启动MATLAB系 统。这是最常用的一种方式。 2) 运行MATLAB系统启动程序matlab.exe。 3) 如果用户在桌面上建立了快捷方式,也 利用快捷方式启动MATLAB系统。 2. MATLAB2. MATLAB系统的退出系统的退出 要退出MATLAB系统,也有3种常见方 法: 1) 在MATLAB主窗口File菜单中选择 Exit MATLAB命令。 2) 在MATLAB命令窗口输入Exit或 Quit命令。 3) 单击MATLAB主窗口的关闭按钮 。 1.3 MATLAB工作环境 主要窗口: 命令窗 M文件编辑/调试器 历史命令窗 当前目录浏览器 工作空间浏览器 内存数组编辑器 交互界面分类目录窗 帮助导航/浏览器 图形窗 1.3.1 命令窗口 命令窗口是命令行语句和命令文件执 行的主要窗口。 在命令窗口中直接输入命令或MATLAB 函数,系统自动反馈结果。 1.3.2 M文件编辑/调试器 1.3.3 图形窗 图形窗的打开方式有三种: 1)在主窗口上依次选择FileNew Figure或Open file操作时,选择 打开图形文件。 2) 在命令窗口输入figure命令。 3) 执行结果为图形的语句。 % sin_x.m: This m-file calculates and plots the % function sin(x) for 0 = x = 6. x = 0:0.1:6; y = sin(x); plot(x,y); 1.3.4 工作空间浏览器 工作空间窗口是MATLAB的一个变量管 理中心,可以显示变量的名称、尺寸、 字节和类别等信息,同时用不同的图标 表示矩阵、字符数组、元胞数组、构架 数组等变量类型。 1.3.5 历史命令窗 历史命令窗口中显示已执行过的命 令,用户可以根据需要设置命令的多 少,单击窗口的右上角的箭号会独立 显示该窗口,在该窗口的某一命令上 单击鼠标右键会弹出菜单。 下拉菜单的功能: Copy 将所选历史命令拷贝到剪贴板 EvaluateSelection 运行所选历史命令 CreateM-File 打开编辑器,将所选历史命令复制到编辑器 DeleteSelection 删除所选历史命令(不确认是否删除) DeletetoSelection 从头删除到所选历史命令(不确认是否删除) DeleteEntireHistory 清除全部历史命令(将弹出对话框确认是否清除) 1.3.6 MATLAB帮助系统 1 帮助导航/浏览器 选择view菜单中的Help菜单项 或选择Help菜单中的MATLAB Help 菜单项可以打开帮助浏览器。 2 help命令 help 功能:列出帮助主题,内容为函数库 和工具箱的名称和功能简介。 help 函数库名 功能:列出指定的函数库中所有函数 的名称和功能简介。 help 函数名 功能:指定的函数的帮助信息,即语 法、参数说明和例子。 3 lookfor命令 lookfor 关键词 功能:搜索出一系列与给定关键词相 关的命令和函数。 4 模糊查询 输入命令的前几个字母,然后按Tab键 ,就可以列出所有以这几个字母开始 的命令和函数。需要注意的是, lookfor和模糊查询查到的不是详细信 息,通常还需要在确定了具体函数名 称后用help命令显示详细信息。 1.3.7 MATLAB搜索路径 基本的搜索过程是: 1)检查该命令是不是一个变量。 2)检查该命令是不是一个内部函数。 3)检查该命令是否当前目录下的M文件。 4)检查该命令是否MATLAB搜索路径中其他 目录下的M文件。 用户可以将自己的工作目录列入 MATLAB搜索路径,从而将用户目录纳入 MATLAB系统统一管理。 设置搜索路径的方法有: 1) path命令 用path命令设置搜索路径。例如, 将用户目录c:mydir加到搜索路径下, 可在命令窗口输入命令: path(path,c:mydir) 2) 用对话框设置搜索路径 在MATLAB的File菜单中选Set Path 命令或在命令窗口执行pathtool命令。 第2章 MATLAB运算基础 主要内容: 变量的定义及赋值; 数值数组、字符串数组、元胞数 组和构架数组等数据类型; 矩阵运算的定义和规则; 数组运算的定义和规则。 1)矩阵:由mn个数组成的排成m行n 列的一个矩形的数表,其中00矩阵为 空矩阵()。 数表中第i(1im)行第j(1jn)列 的数据称为矩阵元素 2)标量 :11的矩阵,即为只含一个 数的矩阵。 2.1 2.1 概述概述 2.1.1 2.1.1 数据术语数据术语 3)向量:1n或n1的矩阵,即只有一 行的或者一列的矩阵。 只有一行的矩阵称为行向量,只有一列的 矩阵称为列向量。 数表中第i(1in)个数据称为向量元素。 4)数组:矩阵的延伸,一般指多维数组 ,其中标量、向量和矩阵都是数组的特例 。 2.1.2 数据类型 数据类型包括数值型、字符串型、元 胞型、构架型等。 数值型有单精度型、双精度型和整数 型。 整数型 uint8,uint16,uint32和uint64等无 符号型; int8,int16,int32和int64等符号 型整数。 数值型数据可以用带小数点的形式和 科学计数法表示,数值的表示范围是10- 30910+309。 -20、1.25、2.88e-56(表示2.8810- 56)、7.68e204(表示7.6810204) 都是 合法的数据表示。 一般在计算时采用双精度型,在输出时 有多种数值显示格式可供选择。 数值显示格式的设置通过 format 命令, 格式如下: format short 默认设置,以5位数字形式输出 format long 以15位十进制数形式输出 format short e 以5位十进制数加指数形式输出 format long e 以16位十进制数加指数形式输出 format short g 从format short和format short e 中自动选择最佳输出形式 format long g 从format long和format long e 中自动选择最佳输出形式 format hex 以16位十六进制数形式输出 format + 以正号、负号和零形式输出 format bank 以两位小数形式输出 format rat 以近似分数形式输出 format loose 以稀疏格式(变量与执行结果之 间有空行)输出 format compact 以紧凑格式(变量与执行结果之 间无空行)输出 2.2 变量 变量的命名规则为: 1 变量名必须以字母开头,变量名的组成可以 是任意字母、数字或者下划线,但不能含有空 格和标点符号。 2 关键字和函数名不能作为变量名。 3 变量名不能超过63个字符。 4 变量名区分字母的大小写,即大小写敏感。 大小写是否区分可以通过命令casesen on/off进行切换(如果不区分大小写,为 casesen off ,否则为casesen on)。 2.2.1变量的命名 2.2.2变量的赋值 变量的赋值通常有两种形式: 1 变量=表达式 2 表达式 其中表达式是用运算符将有关运算 量连接起来的式子,其结果是一个数 组。 形式1中,= 代表的是赋值操作, 将表达式的值赋给MATLAB的变量;形 式2中,将表达式的值赋给MATLAB的 临时变量ans。 例2-1 在命令窗口输入下述 语句,并按回车键执行,分 别给变量a、b、c赋值: a=1% a为标量 b=0 1 % b为行向量 c=1 2;3 4;5 6 % c为矩阵即二维数组 2.2.3 特殊变量 eps MATLAB定义的正的极小值2.2204e-16 Realmax 最大的正实数1.7977e+308 Realmin 最小的正实数2.2251e-308 Pi 内建的值 i, j 虚数单位i=j= Inf NaN 无法定义一个数目 Nargin 函数输入参数个数 Nargout 函数输出参数个数 Flops 浮点运算次数 2.2.4内存变量的管理 1 内存变量的显示与删除 1)who 用于显示在MATLAB工作空间中已 经驻留的变量名清单。 2)whos 在给出变量名的同时,还给出它们 的大小、所占字节数及数据类型等 信息。 3)clear 删除MATLAB工作空间中的变量。注 意,特殊变量不能被删除。 例2-2 查询例2-1中语句执行后 工作空间中的变量情况。 Name Size Bytes Class a 1x1 8 double array b 1x2 16 double array c 3x2 48 double array Grand total is 10 elements using 72 bytes 在命令窗口输入在命令窗口输入 执行结果为:执行结果为: Your variables are:Your variables are: a b ca b c 在命令窗口输入在命令窗口输入 执行结果为:执行结果为: whowho whoswhos 2 工作空间浏览器 工作空间浏览器窗口用于显示所有 MATLAB工作空间中的变量名、数据 结构、类型、大小和字节数,也可以 对变量进行观察、编辑、提取和保存 。 3 内存变量文件 利用MAT文件可以把MATLAB工作空间中的 一些有用变量长久地保留下来。MAT文件的 生成和调入由save和load命令来完成 1) save1) save的格式为:的格式为: save save 文件名文件名 变量名表变量名表 -append-append- asciiascii 功能:功能:把工作空间中的变量存入磁盘。其中把工作空间中的变量存入磁盘。其中 变量名表指出需存储的变量,变量名表指出需存储的变量,appendappend为数为数 据填加方式,据填加方式,asciiascii为数据形式。为数据形式。 2) load2) load的格式为:的格式为: load load 文件名文件名 变量名表变量名表 - -asciiascii 功能:功能:磁盘上存储的磁盘上存储的matmat数据文件取回到数据文件取回到 MATLABMATLAB工作空间中。参数含义同工作空间中。参数含义同savesave 。 例2-3: 例2-1中语句执行后,在命令窗口 依次输入下述命令: save %变量a,b和c保存在matlab.mat Save mydata1.mat Save mydata1.mat % %变量变量a a,b b和和c c保存在保存在mydata1.matmydata1.mat save mydata2.mat asave mydata2.mat a % %变量变量a a保存在保存在mydata2.matmydata2.mat save mydata3.mat a bsave mydata3.mat a b % %变量变量a a和和b b保存在保存在mydata3.matmydata3.mat save mydata4.mat a b csave mydata4.mat a b c % %变量变量a a,b b和和c c保存在保存在 mydata4.matmydata4.mat 2.3 数值数组 2.3.1数值数组的建立 1 赋值语句建立数组 矩阵的建立可以通过赋值语句实现,赋值 符号左边为变量名,右边为矩阵元素。矩阵 元素应用方括号()括住,元素可以是数值 或表达式元素,表达式可以由数字、变量、 运算符和函数等组成。 矩阵同行内的元素间用逗号或空格隔开, 行与行之间用分号或回车键隔开。 例2-4 在命令窗口输入语句: a=1,2,3;4,5,6;7,8 ,9 按回车键,命令就被执行,在MATLAB 命令窗中显示以下结果: a = a = 1 2 3 1 2 3 4 5 6 4 5 6 7 8 9 7 8 9 如果在上述输入语句末尾加上分号,如果在上述输入语句末尾加上分号, 则在命令窗口不显示结果。则在命令窗口不显示结果。同理可以通过同理可以通过 赋值语句建立向量。赋值语句建立向量。 例2-5 在命令窗口输入语句: x=-1.3 1+2+3 sqrt(5) %sqrt是求平方根函数 按回车键,指令被执行,按回车键,指令被执行,MATLABMATLAB命令命令 窗中显示以下结果:窗中显示以下结果: x =x = -1.3000 6.0000 2.2361 -1.3000 6.0000 2.2361 例2-6 在命令窗口输入下述语句,建立 复数数组: b=1+2*i,2+3*i;2-i,3-2*i 执行结果为: b =b = 1.0000 + 2.0000i 2.0000 + 3.0000i1.0000 + 2.0000i 2.0000 + 3.0000i 2.0000 - 1.0000i 3.0000 - 2.0000i2.0000 - 1.0000i 3.0000 - 2.0000i elfun函数库中提供一系列复数函数: real 复数的实数部分 real(b) imag 复数的虚数部分 imag(b) abs 绝对值或模 abs(b) angle 幅角 angle(b) 结果为弧度 angle(b)*180/pi 结果为角度 conj 共轭 conj(b) 2 简捷表达式 等间隔向量赋值可以通过简捷表达式实现。 下面介绍两种为等间隔向量赋值的方法: 1 1)两个冒号组成等增量语句)两个冒号组成等增量语句 格式:格式:t =t =初值:增量:终值初值:增量:终值 说明:说明: 初值、增量和终值初值、增量和终值分别表示开始值、分别表示开始值、 步长和结束值。当增量可为负值,省步长和结束值。当增量可为负值,省 略时则默认为增量为略时则默认为增量为1 1;当增量省略或;当增量省略或 增量增量0 0而初值而初值0 0时为空向量,当增时为空向量,当增 量量0 0而初值终值时也为空向量。而初值终值时也为空向量。 例2-7 简捷表达式建立向量和矩阵 t1=0:0.02:1 %产生0t11之间的行向量,间隔为0.02 t2=5:-1:2 t2=5:-1:2 %产生产生5t125t12之间的行向量,之间的行向量, 间隔为间隔为-1-1。 t4=2:-1:3t4=2:-1:3 % % 建立空矩阵建立空矩阵 t5=1:2:5;1:3:7 t5=1:2:5;1:3:7 %建立矩阵建立矩阵 T6=1:10 %T6=1:10 %默认步长为默认步长为1 1 2)使用linspace和logspace函数 生成向量 linspace函数的格式: linspace(a,b,nlinspace(a,b,n) ) 功能:功能:生成从生成从a a到到b b之间线性分布的之间线性分布的n n 个元素的行向量。个元素的行向量。 logspacelogspace (a,b,n) (a,b,n) 功能:功能:生成从生成从1010 a a 到到1010 b b 之间按对数等之间按对数等 分的分的n n个元素的行向量。个元素的行向量。 logspacelogspace函数的格式:函数的格式: 例 2-8 用linspace和logspace函 数生成向量 t1=linspace(0,2*pi,5) %从0到2*pi等分成5个点 linspace(1,8,8) linspace(1,8,1) t2=logspace(0,2,3) %从1到100(即100到102)按对数等分 成3个点 3 内建函数 1) 通用特殊矩阵 函数库elmat提供的常用的通用特殊矩阵 生成函数: zeros ones eye rand 2)用于专门学科的特殊矩阵 (1)魔方矩阵 magic(n) 功能:魔方矩阵的元素由1到nn 的自然数 组成,其对角线上的元素为1;每行、每列及对 角线上的元素之和均等于(n3+n)/2。魔方矩阵的 每行、每列及两条对角线上的元素和都相等。 对于n阶魔方阵,其元素由1,2,3,n2共n2个整 数组成。 例2-9 产生2阶和3阶魔方阵。 m1=magic(2) %产生2阶魔方阵 m2=magic(3) %产生3阶魔方阵 (2) 范得蒙矩阵 vander(V) 生成以向量V为基础向量的范得蒙矩阵 ,矩阵元素最后一列全为1,倒数第二列 为一个指定的向量,其他各列是其后列 与倒数第二列的点乘积。可以用一个指 定向量生成一个范得蒙矩阵。 例2-10 产生范得蒙矩阵。 v1=vander(1;2;3;5) v2=vander(1:3) v3=vander(1:4) (3) 伴随矩阵 compan(p) 功能:生成伴随矩阵,其中p是一个多 项式的系数向量,高次幂系数排在前, 低次幂排在后。 例例2-13 2-13 为了求多项式的为了求多项式的x x 3 3 -7x+6-7x+6的伴的伴 随矩阵,可使用语句:随矩阵,可使用语句: p=1,0,-7,6;c=p=1,0,-7,6;c=compan(pcompan(p) ) (4) 帕斯卡矩阵 n阶帕斯卡矩阵的生成函数的格式: pascal(n) 例例2-14 2-14 求求(x+y)(x+y) 4 4 的展开式。的展开式。 p1=pascal(4) p1=pascal(4) p1 =p1 = 1 1 1 1 1 1 1 1 1 2 3 4 1 2 3 4 1 3 6 10 1 3 6 10 1 4 10 20 1 4 10 20 由执行结果可知,矩阵次对角由执行结果可知,矩阵次对角 线上的元素线上的元素1,4,6,41,4,6,4,1 1即为展开式的系数。即为展开式的系数。 4 通过MAT数据文件加载矩阵 通过load命令或选择菜单FileImport Data 命令加载MAT数据文件来创建矩阵。 5 在M文件中创建矩阵 M M文件实际上是一种包含文件实际上是一种包含MATLABMATLAB代码的代码的 文本文件;通过在文本文件;通过在MATLABMATLAB命令窗口命令窗口 中运行中运行M M文件创建矩阵。文件创建矩阵。 2.3.2数组元素的标识 1 向量的标识 向量是由多个元素组成的,每个元素通 过序号来标识。 例例2-162-16 演示向量的标志和重新赋值。演示向量的标志和重新赋值。 x=1:2:7; y=x;x=1:2:7; y=x; y3=y(3)y3=y(3) % %引用引用y y的第三个元素的第三个元素5 5 y5=y(end)y5=y(end) % %用用endend函数引用函数引用y y的最后的最后 一个元素一个元素7 7 y(3)=10y(3)=10 % %对对y y的第三个元素重新赋值的第三个元素重新赋值 2矩阵的标识 两种标识方式: 全下标方式和单下标方式。 1) 1) 全下标方式全下标方式 全下标方式标识是指出行下标和列下全下标方式标识是指出行下标和列下 标的方法标识,如一个标的方法标识,如一个mnmn的矩阵的矩阵a a的的 第第i i(1im1im)行第行第j(1jn)j(1jn)列的列的 元素可表示为元素可表示为a(i,j)a(i,j)。 例2-17 演示矩阵元素的标识和 扩充矩阵的方法 a=1 2;3 4;5 6; %建立一个23的矩阵 a12=a(1,2) %引用a(1,2)的值 a(3,3) %引用a(3,3)的值,(3,3)超出矩阵的大小, 出错 a(3,3)=9 %扩充23的矩阵为33的 矩阵,并给a(3,3)赋值 2) 单下标方式 根据全下标换算出单下标的函数sub2ind格式: IND=sub2ind(siz,I,J) 功能:IND为返回的对应的单下标,siz为以矩 阵行数和列数构成的两个元素的向量,I和J分 别为矩阵的某一行号和列号。 根据根据单下标单下标换算出全下标的函数换算出全下标的函数ind2subind2sub格格 式:式: I,J=ind2sub(siz,IND)I,J=ind2sub(siz,IND) 功能:功能:I I和和J J分别为返回的矩阵的某一行号分别为返回的矩阵的某一行号 和列号,和列号,sizsiz为以矩阵行数和列数构成的为以矩阵行数和列数构成的 两个元素的向量,两个元素的向量,INDIND为单下标。为单下标。 例2-18 演示矩阵元素的全下标标 识和单下标标识的转换。 i,j=ind2sub(3 3,5) % 33矩阵的第5个元素的全下标 ind=sub2ind(3 3,3,3)ind=sub2ind(3 3,3,3) % % 3 33 3矩阵第三行、第三列元素的矩阵第三行、第三列元素的 序号序号 2.3.3 子数组 子数组是从数组中取出一部分元素所构成的 数组,通常可用全下标和单下标方式取子数组 。 1 1 向量的一般情况如下:向量的一般情况如下: A(i)A(i) 数组数组A A的第的第i i个元素个元素 A(i:L:i+m)A(i:L:i+m) 数组数组A A的第的第i i个个- -第第i+mi+m个(下标个(下标 增量为增量为L L)元素元素 2 矩阵一般情况如下: A(:,j) 数组A的第j列全部元素 A(i,:) 数组A的第i行全部元素 A(i,j) 数组A的第i行第j列的元素 A(:,j:L:j+n) 数组A的第j列-第j+n列(下 标增量为L)全部元素 A(i:k:i+m,:) 数组A的第i行-第i+m行(下 标 增量为k)元素 A(i:k:i+m,j:L:j+n) 数组A的第i行-第 i+m 行(下标增量为k)并在第j 列 -第j+n列(下标增量为L)全 部元素 例2-19 演示建立行向量并取子 数组的方法。 a1=1.1,-2.2,3.3,-4.4,5.5; a1(3) % 取a1的第三个元素 a1(1 4) % 取a1的第一个和第四个元 素 a1(1:2:5) % 取a1的第一个、第三个和 第五个元素,等价语句为: a1(1:2:end) 例2-20 演示建立34的矩阵并取子 数组的方法。 a=1 2 3 4;5 6 7 8;9 10 11 12; a(1,:) a(:,end) a24=a(2,4) % 取a的第二行、第四列的元 素 a(1:2:4,:) a(:,1:2:end) a1=a(1,2,2,3,4) a2=a(1,2,2,3,1) a3=a(3,1,:) a(1,3,2,4)=zeros(2) %对a(1,3,2,4)赋值 2.3.4数组的赋值 数组的赋值大致有两种方式:全元素方 式和子数组方式。 1 1 全元素方式全元素方式 全元素方式赋值的一般格式全元素方式赋值的一般格式: : a(:)=b a(:)=b 功能:功能:给矩阵给矩阵a a的所有元素赋值,矩阵的所有元素赋值,矩阵b b 的元素总数必须等于矩阵的元素总数必须等于矩阵a a的元素总数的元素总数 ,但行列数不一定相等。,但行列数不一定相等。 例2-21 演示全元素方式赋值的方法 a=zeros(2,3); b=1:6; a(:)=b 执行结果如下:执行结果如下: a =a = 1 3 5 1 3 5 2 4 6 2 4 6 2 子数组方式 子数组方式赋值的一般格式1: a(s)=b 功能:给矩阵a的部分元素赋值,s为单下标序 号,b为向量,向量的元素个数必须等于数组a 中s指定的元素个数。 子数组方式赋值的一般格式子数组方式赋值的一般格式2 2: A(i:k:i+m,j:L:j+n)=bA(i:k:i+m,j:L:j+n)=b 功能:功能:给数组给数组a a的部分元素赋值,则数组的部分元素赋值,则数组b b的的 行列数必须等于数组行列数必须等于数组a a的第的第i i行行- -第第i+mi+m行(行( 下标增量为下标增量为k k)并在第并在第j j列列- -第第j+nj+n列(下标列(下标 增量为增量为L L)全部元素的行列数。全部元素的行列数。 例2-22 演示子数组方式赋值方法。 a=zeros(2,3);a(5:6)=2 3 %给第5、6元素赋值 如果对a不作初始化,a(5:6)=2 3的赋值情况有何变化? a=zeros(3,4); a(1:2,1:3)=1 1 1;1 1 1 %给第 一、二行前3个元素赋值为全1 2.3.5数组元素的删除 数组元素的删除是简单地通过赋值为空 (用表示)实现的。 通过赋值为空,可以实现删除一行元素 、一列元素、子数组和整个数组。 注意区分空矩阵和零矩阵: 空矩阵是00的数组,而零矩阵是元素 为零的mn的数组。 例2-23 建立33的数组,实现数组元素 的 删除。 a=1 2 0;3 4 0;5 6 9; a(:,3)= %删除第三列元素 a(2,:)= %删除第二行元素 a(1)= %删除一个元素则矩阵变 为行向量 a= %删除所有元素为空矩阵 2.3.6 多维数组 1 三维数组的建立 三维数组的建立方式和二维数组类似,大三维数组的建立方式和二维数组类似,大 致有致有三种方式:三种方式: 1 1) 通过全下标元素赋值方式创建通过全下标元素赋值方式创建 2 2) 由生成函数直接创建由生成函数直接创建 3) 3) 由生成函数由生成函数onesones,zeroszeros,randrand和和 randnrandn等直接创建多维数组。等直接创建多维数组。 例2-24 演示全下标元素赋值方式 建立三维数组的方法。 b=1 1;2 2; %先创建二维数组 b(:,:,2)=5 %扩展数组 例2-25 演示生成函数ones、 zeros、rand和randn直接创建多 维数组的方法。 ones(2,3,4) 函数cat的格式为: cat(维,p1,p2,) 功能:按指定行列数放置模块数组生成多 维数组。参数维是指沿着第几维连接数组 p1、p2等。 函数函数repmatrepmat的格式为的格式为: : repmat(p,repmat(p,行行 列列 页页 ) 功能:功能:在总元素的数目不变的前提下重新确在总元素的数目不变的前提下重新确 定数组的行列数来重组数组。定数组的行列数来重组数组。 其中第一个输入变量其中第一个输入变量p p是用来放置的模块是用来放置的模块 数组,后面的变量行、列、页是要放在指数组,后面的变量行、列、页是要放在指 定的各维。定的各维。 例2-26 演示cat和repmat函数的功 能。 a=1 2 ;3 4;b= 5 6;7 8;cat(1 ,a,b) a=1 2 ;3 4;b= 5 6;7 8;cat(2 ,a,b) a=1 2 ;3 4;b= 5 6;7 8;cat(3 ,a,b) repmat(magic(2), 2, 3) ( repmat(magic(2), 2, 3)结果同上) repmat(5, 2, 3) 2 多维数组的信息 函数ndims的功能是直接给出数组的维数 ,格式为:ndims(p) 其中,p为数组。 函数函数sizesize的功能是给出数组各维的大小,、的功能是给出数组各维的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论