数学实验选修课课件1.ppt

上传人:牧羊曲112 文档编号:6577916 上传时间:2023-11-14 格式:PPT 页数:147 大小:2.98MB
返回 下载 相关 举报
数学实验选修课课件1.ppt_第1页
第1页 / 共147页
数学实验选修课课件1.ppt_第2页
第2页 / 共147页
数学实验选修课课件1.ppt_第3页
第3页 / 共147页
数学实验选修课课件1.ppt_第4页
第4页 / 共147页
数学实验选修课课件1.ppt_第5页
第5页 / 共147页
点击查看更多>>
资源描述

《数学实验选修课课件1.ppt》由会员分享,可在线阅读,更多相关《数学实验选修课课件1.ppt(147页珍藏版)》请在三一办公上搜索。

1、山东英才学院全院选修课,数学实验(Matlab版)基础部数学教研室谷振涛2011年03月,楔 子 数学实验简介及Matlab初识,一、什么是数学?二、什么是实验?三、什么是数学实验?四、数学实验的核武器Matlab简介五、小乔初嫁了初识Matlab,一、什么是数学?,数学是一门课,而且是我最讨厌一门课程!数学是是催眠曲!傻瓜!数学就是数的学问呗!数学是,俺也不知道!数学是Mathematics!数学到底究竟是什么?我们看看专家怎么说!,一、什么是数学?专家说:,数学,Mathematics,是研究数量、结构、变化以及空间模型等概念的一门学科。透过抽象化和逻辑推理的使用,由计数、计算、量度和对物

2、体形状及运动的观察中产生。数学,作为人类思维的表达形式,反映了人们积极进取的意志、缜密周详的推理及对完美境界的追求。它的基本要素是:逻辑和直观、分析和推理、共性和个性。,一、什么是数学?,1、数学就是解题 什么是数学?数学就是解题,就是把不熟悉的题型向熟悉的题型转化。但是,解题不是经典的“多做题”。而是应用已学的数学知识去解决实际问题。在做数学和用数学中不但可以提高学习的兴趣,也会在数学活动的过程中学到不少知识,提高多种能力。,一、什么是数学?,2、数学是训练思维的体操 数学是由数学、字母、符号、图形构成的一座迷宫。不少人爱玩迷宫游戏,逆向思维是寻求走出迷宫正确道路的诀窍,一旦顺利走出迷宫,成

3、功的愉悦会使你兴奋不已,你会向新的、更复杂的迷宫挑战,这也是数学的魅力,思维在不知不觉中得到了训练。可以这样说:数学是教人颖睿的一门学科。,一、什么是数学?,3、数学是一种语言 数学由于它自身的特点,严密的系统和逻辑推理,运算法则和运算性质的合理性,使它成为了一种宇宙间的通用语言,不需要翻译,只要用数学式的恒等变形,用数学的符号语言和图形语言即可传达我们的思想,达到交流的目的。数学是精密科学和现代科技的语言,精确到何种程度,多元变量之间有什么关系,如果没有数学语言,很难想象科学家们怎样把自己的思想准确而凝练地向别人表述。,一、什么是数学?,4、数学是哲学数学中充满了哲学,许多数学家(比如毕达哥

4、拉斯)也是哲学家。或者说,许多哲学观点在数学中找到了实证,得到了体现。许多哲学家也研究数学,比如恩格斯,他写的自然辩证法就是一部杰出的数学论著。例如 线段AB 极限 无限有限,吾生也有涯,而知也无涯!,一、什么是数学?,5、数学是文化 数学对象并非物质世界中的真实存在,而是人类抽象思维的产物。而文化,广义地说,是指人类在社会历史实践过程中所创造的物质财富和精神财富的总和。因此,在所说的精神财富意义上,数学就是一种文化。,一、什么是数学?,5、数学是文化和很多数学家是哲学家一样,有很多数学家也是文学家。例如著名的童话爱丽丝漫游仙境就出自英国牛津大学的一位数学家之手。俄国著名女数学家柯瓦利夫斯卡娅

5、不仅在数学上有很大贡献,而且写出了一部被俄国文艺评论家认为“无论在形式上还是在思想内容上都可以与俄国文坛上最佳的作品相媲美”的小说拉也夫斯卡娅姐妹。我国著名数学家苏步青出版过诗集,一、什么是数学?,5、数学是文化数学中的许多问题的发现和解决,都有深厚的文化背景,精彩的故事后面隐含着深邃的哲理。数学有着数千年的文化积淀,芸集了大众和数学家智慧的结晶。在我们学习数学知识时,不得不由衷地赞美人类的聪明才智。,七桥问题Seven Bridges Problem 当Euler在1736年访问Konigsberg,Prussia(now Kaliningrad Russia)时,他发现当地的市民正从事一项

6、非常有趣的消遣活动。Konigsberg城中有一条名叫Pregel的河流横经其中,这项有趣的消遣活动是在星期六作一次走过所有七座桥的散步,每座桥只能经过一次而且起点与终点必须是同一地点。(如图)问是否可能从这四块陆地中任一块出发,恰好通过每座桥一次,再回到起点?(18世纪著名古典数学问题之一。),一、什么是数学?,6、数学是艺术 数学中存在着美。数百年来流传的“只有美的艺术,没有美的科学”的观念,使许多人认为数学不过是一种有用的工具,是“科学大门的钥匙”,仅此而已。数学中存在的美就是数学美,它是纯客观的,哪里有数学哪里就有数学美存在。数学的简洁美、和谐美、对称美、奇异美就是数学美的内容。,一、

7、什么是数学?,例如,黄金分割数0.618,它是最和谐的比例关系,具有很高的美学价值。人的肚脐高度和人体总高度之比接近等于0.618;主持人主持节目时,站在舞台的黄金分割点位置,不显得呆板,声音传播效果最好;在建筑造型上,黄金分割处布置腰线或装饰物,则可使整幢大楼显得雄伟雅致。蜜蜂房呈六角形,角度也很精确,钝 角10932,这样的巢不但节省材料,而且结实坚固,令人类工程师惊叹不已!更另人惊奇的是蜜蜂还知道两点间的最短距离,蜜蜂在花间随意来去采集花蜜后它知道取最直接的路线回到蜂房。,二、什么是实验?,实验,是科学研究的基本方法之一。根据科学研究的目的,尽可能地排除外界的影响,突出主要因素并利用一些

8、专门的仪器设备,而人为地变革、控制或模拟研究对象,使某一些事物(或过程)发生或再现,从而去认识自然现象、自然性质、自然规律。,二、什么是实验?,实验,区别于试验,实验是为了解决文化、政治、经济及其社会、自然问题,而在其对应的科学研究中用来检验某种新的假说、假设、原理、理论或者验证某种已经存在的假说、假设、原理、理论而进行的明确、具体、可操作、有数据、有算法、有责任的技术操作行为。通常实验要预设“实验目的”、“实验环境”,进行“实验操作”,最终以“实验报告”的新闻形式发表“实验结果”。,二、什么是实验?,而“试验”指的是在未知事物,或对别人已知的某种事物而在自己未知的时候,为了了解它的性能或者结

9、果而进行的试探性操作。试验,是实验的一种,大多带有盲目性,没有假说。,三、什么是数学实验?,数学实验是计算机技术和数学、软件引入教学后出现的新事物。数学实验的目的是提高学生对数学的应用意识并培养学生用所学的数学知识和计算机技术去认识问题和解决实际问题的能力。,三、什么是数学实验?,不同于传统的数学学习方式,它强调以学生动手为主的数学学习方式。在数学实验中,由于计算机的引入和数学软件包的应用,为数学的思想与方法注入了更多、更广泛的内容,使学生摆脱了繁重的乏味的数学演算和数值计算,促进了数学同其他学科之间的结合,从而使学生有时间去做更多的创造性工作。,三、什么是数学实验?,现在国外小学还开设数学实

10、验室或实验角,准备各种各样的教具、操作用具,许多用发现法教学的课就在数学实验室中进行。所以我们要学习“数学实验”!,四、数学实验的核武器Matlab简介,MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。,四、数学实验的核武器Matlab简介,成长历程20世纪70年代,美国新墨西哥大学计算机科学系主任Cleve Moler为了减轻学生编程的负担,用FORTRAN编写了最早的MATLAB。1984年由Li

11、ttle、Moler、Steve Bangert合作成立了的MathWorks公司正式把MATLAB推向市场。到20世纪90年代,MATLAB已成为国际控制界的标准计算软件。,四、数学实验的核武器Matlab简介,成长历程1 操作系统:DOS Windows2 版本: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等除了具备卓越的数值计算能力外,它还提供了专业水平的符号计算

12、,文字处理,可视化建模仿真和实时控制等功能。它是一套功能十分强大的工程计算及数据分析软件,广泛应用于信息、工业、电子、医疗、建筑等众多领域。而且用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(Lin

13、e 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);sub

14、plot(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);subpl

15、ot(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 equ

16、al;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 MATLA

17、B的安装与启动,1.把MATLAB 7.0安装盘放入CD-ROM,一般会自动运行安装程序,如果不运行,可以进入光盘双击setup.exe文件,初始化完成,会出现对话框:,1.2.1 MATLAB的安装,2.单击Next按钮,出现一个对话框,分别输入名字、单位和安装序列号。输入后,单击Next,出现是否接受协议的对话框。,3.在是否接受协议的对话框中单击yes和Next,出现安装形式对话框,第一项是典型安装,一般选择默认。第二项是定制安装,可以选择产品和文件。,4.选择典型安装后,需选择安装路径,一般默认为c盘MATLAB7。如果选择定制安装后,单击Next,出现选择安装路径和选择产品和文件的对

18、话框,在选择产品和文件部分可选择用户需要安装的MATLAB和工具箱。,5)安装到约70%,需要在CD-ROM中放入第二章光盘,继续安装。6)安装完毕后,要重新启动计算机。,如果用户需要卸载MATLAB时,单击开始菜单,依次选择程序、MATLAB、Uninstall MATLAB执行命令,将会出现Uninstall Product List对话框示,选择需要卸载的内容,然后单击Next。单击yes,开始卸载。,启动与退出MATLAB系统,1.MATLAB系统的启动启动MATLAB系统有3种常见方法:1)单击Windows开始菜单,依次选择程序MATLAB7.0MATLAB7.0即可启动MATLA

19、B系统。这是最常用的一种方式。2)运行MATLAB系统启动程序matlab.exe。3)如果用户在桌面上建立了快捷方式,也利用快捷方式启动MATLAB系统。,2.MATLAB系统的退出要退出MATLAB系统,也有3种常见方法:1)在MATLAB主窗口File菜单中选择Exit MATLAB命令。2)在MATLAB命令窗口输入Exit或Quit命令。3)单击MATLAB主窗口的关闭按钮。,1.3 MATLAB工作环境,主要窗口:命令窗M文件编辑/调试器历史命令窗当前目录浏览器工作空间浏览器内存数组编辑器交互界面分类目录窗帮助导航/浏览器图形窗,1.3.1 命令窗口命令窗口是命令行语句和命令文件执

20、行的主要窗口。在命令窗口中直接输入命令或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的一个变量管理中心,可以显示变

21、量的名称、尺寸、字节和类别等信息,同时用不同的图标表示矩阵、字符数组、元胞数组、构架数组等变量类型。,1.3.5 历史命令窗 历史命令窗口中显示已执行过的命令,用户可以根据需要设置命令的多少,单击窗口的右上角的箭号会独立显示该窗口,在该窗口的某一命令上单击鼠标右键会弹出菜单。,下拉菜单的功能:,Copy 将所选历史命令拷贝到剪贴板EvaluateSelection 运行所选历史命令CreateM-File 打开编辑器,将所选历史命令复制到编辑器DeleteSelection 删除所选历史命令(不确认是否删除)DeletetoSelection 从头删除到所选历史命令(不确认是否删除)Delet

22、eEntireHistory 清除全部历史命令(将弹出对话框确认是否清除),1.3.6 MATLAB帮助系统,1 帮助导航/浏览器 选择view菜单中的Help菜单项或选择Help菜单中的MATLAB Help菜单项可以打开帮助浏览器。,2 help命令,help功能:列出帮助主题,内容为函数库和工具箱的名称和功能简介。help 函数库名功能:列出指定的函数库中所有函数的名称和功能简介。help 函数名功能:指定的函数的帮助信息,即语法、参数说明和例子。,3 lookfor命令,lookfor 关键词功能:搜索出一系列与给定关键词相关的命令和函数。,4 模糊查询,输入命令的前几个字母,然后按T

23、ab键,就可以列出所有以这几个字母开始的命令和函数。需要注意的是,lookfor和模糊查询查到的不是详细信息,通常还需要在确定了具体函数名称后用help命令显示详细信息。,1.3.7 MATLAB搜索路径,基本的搜索过程是:1)检查该命令是不是一个变量。2)检查该命令是不是一个内部函数。3)检查该命令是否当前目录下的M文件。4)检查该命令是否MATLAB搜索路径中其他目录下的M文件。用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录纳入MATLAB系统统一管理。,设置搜索路径的方法有:,1)path命令 用path命令设置搜索路径。例如,将用户目录c:mydir加到搜索路径下,可

24、在命令窗口输入命令: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.1 数据术语,3)向量:1n或n1的矩阵,即只有一行的或者一

25、列的矩阵。只有一行的矩阵称为行向量,只有一列的矩阵称为列向量。数表中第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.681

26、0204)都是合法的数据表示。一般在计算时采用双精度型,在输出时有多种数值显示格式可供选择。,数值显示格式的设置通过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 h

27、ex 以16位十六进制数形式输出format+以正号、负号和零形式输出format bank 以两位小数形式输出format rat 以近似分数形式输出format loose 以稀疏格式(变量与执行结果之 间有空行)输出 format compact 以紧凑格式(变量与执行结果之 间无空行)输出,2.2 变量,变量的命名规则为:1 变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能含有空格和标点符号。2 关键字和函数名不能作为变量名。3 变量名不能超过63个字符。4 变量名区分字母的大小写,即大小写敏感。大小写是否区分可以通过命令casesen on/off进行切换(如

28、果不区分大小写,为casesen off,否则为casesen on)。,变量的命名,变量的赋值,变量的赋值通常有两种形式: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-16Realmax

29、最大的正实数1.7977e+308Realmin 最小的正实数2.2251e-308Pi 内建的值i,j 虚数单位i=j=Inf NaN 无法定义一个数目 Nargin 函数输入参数个数Nargout 函数输出参数个数Flops 浮点运算次数,内存变量的管理,1 内存变量的显示与删除1)who 用于显示在MATLAB工作空间中已 经驻留的变量名清单。2)whos 在给出变量名的同时,还给出它们 的大小、所占字节数及数据类型等 信息。3)clear 删除MATLAB工作空间中的变量。注 意,特殊变量不能被删除。,例2-2 查询例2-1中语句执行后工作空间中的变量情况。,Name Size Byt

30、es Class a 1x1 8 double array b 1x2 16 double array c 3x2 48 double arrayGrand total is 10 elements using 72 bytes,在命令窗口输入,执行结果为:,Your variables are:a b c,在命令窗口输入,执行结果为:,who,whos,2 工作空间浏览器,工作空间浏览器窗口用于显示所有MATLAB工作空间中的变量名、数据结构、类型、大小和字节数,也可以对变量进行观察、编辑、提取和保存。,3 内存变量文件,利用MAT文件可以把MATLAB工作空间中的一些有用变量长久地保留下来

31、。MAT文件的生成和调入由save和load命令来完成,1)save的格式为:save 文件名 变量名表-append-ascii 功能:把工作空间中的变量存入磁盘。其中变量名表指出需存储的变量,append为数据填加方式,ascii为数据形式。,2)load的格式为:load 文件名 变量名表-ascii功能:磁盘上存储的mat数据文件取回到MATLAB工作空间中。参数含义同save。,例2-3:例2-1中语句执行后,在命令窗口依次输入下述命令:,save%变量a,b和c保存在matlab.mat,Save mydata1.mat%变量a,b和c保存在mydata1.mat,save myd

32、ata2.mat a%变量a保存在mydata2.mat,save mydata3.mat a b%变量a和b保存在mydata3.mat,save mydata4.mat a b c%变量a,b和c保存在 mydata4.mat,2.3 数值数组 数值数组的建立,1 赋值语句建立数组矩阵的建立可以通过赋值语句实现,赋值符号左边为变量名,右边为矩阵元素。矩阵元素应用方括号()括住,元素可以是数值或表达式元素,表达式可以由数字、变量、运算符和函数等组成。矩阵同行内的元素间用逗号或空格隔开,行与行之间用分号或回车键隔开。,例2-4 在命令窗口输入语句:a=1,2,3;4,5,6;7,8,9,按回车

33、键,命令就被执行,在MATLAB命令窗中显示以下结果:,a=1 2 3 4 5 6 7 8 9,如果在上述输入语句末尾加上分号,则在命令窗口不显示结果。同理可以通过赋值语句建立向量。,例2-5 在命令窗口输入语句:x=-1.3 1+2+3 sqrt(5),%sqrt是求平方根函数,按回车键,指令被执行,MATLAB命令窗中显示以下结果:,x=-1.3000 6.0000 2.2361,例2-6 在命令窗口输入下述语句,建立复数数组:b=1+2*i,2+3*i;2-i,3-2*i,执行结果为:,b=1.0000+2.0000i 2.0000+3.0000i2.0000-1.0000i 3.000

34、0-2.0000i,elfun函数库中提供一系列复数函数:,real 复数的实数部分real(b)imag 复数的虚数部分imag(b)abs 绝对值或模abs(b)angle 幅角 angle(b)结果为弧度angle(b)*180/pi 结果为角度conj 共轭conj(b),2 简捷表达式,等间隔向量赋值可以通过简捷表达式实现。下面介绍两种为等间隔向量赋值的方法:,1)两个冒号组成等增量语句 格式:t=初值:增量:终值说明:初值、增量和终值分别表示开始值、步长和结束值。当增量可为负值,省略时则默认为增量为1;当增量省略或增量0而初值0时为空向量,当增量0而初值终值时也为空向量。,例2-7

35、 简捷表达式建立向量和矩阵,t1=0:0.02:1%产生0t11之间的行向量,间隔为0.02,t2=5:-1:2%产生5t12之间的行向量,间隔为-1。,t4=2:-1:3%建立空矩阵,t5=1:2:5;1:3:7%建立矩阵T6=1:10%默认步长为1,2)使用linspace和logspace函数生成向量,linspace函数的格式:,linspace(a,b,n)功能:生成从a到b之间线性分布的n个元素的行向量。,logspace(a,b,n)功能:生成从10a到10b之间按对数等分的n个元素的行向量。,logspace函数的格式:,例 2-8 用linspace和logspace函数生成

36、向量,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提供的常用的通用特殊矩阵生成函数:zerosoneseyerand,2)用于专门学科的特殊矩阵,(1)魔方矩阵 magic(n)功能:魔方矩阵的元素由1到nn 的自然数组成,其对角线上的元素为1;每行、每列及对角线上的元素之和均等于(n3+n)/2。魔方矩阵的每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,

37、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

38、 为了求多项式的x3-7x+6的伴随矩阵,可使用语句:p=1,0,-7,6;c=compan(p),(4)帕斯卡矩阵,n阶帕斯卡矩阵的生成函数的格式:pascal(n),例2-14 求(x+y)4的展开式。p1=pascal(4)p1=1 1 1 1 1 2 3 4 1 3 6 10 1 4 10 20 由执行结果可知,矩阵次对角线上的元素1,4,6,4,1即为展开式的系数。,4 通过MAT数据文件加载矩阵,通过load命令或选择菜单FileImport Data命令加载MAT数据文件来创建矩阵。,5 在M文件中创建矩阵,M文件实际上是一种包含MATLAB代码的文本文件;通过在MATLAB命令

39、窗口中运行M文件创建矩阵。,数组元素的标识,1 向量的标识向量是由多个元素组成的,每个元素通过序号来标识。,例2-16 演示向量的标志和重新赋值。x=1:2:7;y=x;y3=y(3)%引用y的第三个元素5 y5=y(end)%用end函数引用y的最后 一个元素7y(3)=10%对y的第三个元素重新赋值,2矩阵的标识,两种标识方式:全下标方式和单下标方式。,1)全下标方式 全下标方式标识是指出行下标和列下标的方法标识,如一个mn的矩阵a的第i(1im)行第j(1jn)列的元素可表示为a(i,j)。,例2-17 演示矩阵元素的标识和扩充矩阵的方法,a=1 2;3 4;5 6;%建立一个23的矩阵

40、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分别为矩阵的某一行号和列号。,根据单下标换算出全下标的函数ind2sub格式:I,J=ind2sub(siz,IND)功能:I和J分别为返回的矩阵的某一行号和列号,siz为以矩阵行数和列数构成的两个元素的向量,IND为单下标。,例2

41、-18 演示矩阵元素的全下标标识和单下标标识的转换。,i,j=ind2sub(3 3,5)%33矩阵的第5个元素的全下标,ind=sub2ind(3 3,3,3)%33矩阵第三行、第三列元素的序号,2.3.3 子数组,子数组是从数组中取出一部分元素所构成的数组,通常可用全下标和单下标方式取子数组。,1 向量的一般情况如下:A(i)数组A的第i个元素A(i:L:i+m)数组A的第i个-第i+m个(下标增量为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列(

42、下 标增量为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

43、,:)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)赋值,数组的赋值,数组的赋值大致有两种方式:全元素方式和子数组方式。,1 全元素方式 全元素方式赋值的一般格式:a(:)=b 功能:给矩阵a的所有元素赋值,矩阵b的元素总数必须等于矩阵a的元素总数,但行列数不一定相等。,例2-21 演示全元素方式赋值的方法,a=zeros(2,3);b=1:6;a(:)=b,执行结果如下:,a=1 3 5

44、2 4 6,2 子数组方式,子数组方式赋值的一般格式1:a(s)=b功能:给矩阵a的部分元素赋值,s为单下标序号,b为向量,向量的元素个数必须等于数组a中s指定的元素个数。,子数组方式赋值的一般格式2:A(i:k:i+m,j:L:j+n)=b 功能:给数组a的部分元素赋值,则数组b的行列数必须等于数组a的第i行-第i+m行(下标增量为k)并在第j列-第j+n列(下标增量为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

45、,1:3)=1 1 1;1 1 1%给第一、二行前3个元素赋值为全1,数组元素的删除,数组元素的删除是简单地通过赋值为空(用表示)实现的。通过赋值为空,可以实现删除一行元素、一列元素、子数组和整个数组。注意区分空矩阵和零矩阵:空矩阵是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)通

46、过全下标元素赋值方式创建2)由生成函数直接创建3)由生成函数ones,zeros,rand和randn等直接创建多维数组。,例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等。,函数repmat的格式为:repmat(p,行 列 页)功能:在总元素的数目不变的前提下重新确定数组

47、的行列数来重组数组。其中第一个输入变量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为数组。,函数size的功能是给出数组各维的大小,

48、、格式为:m,n,=size(p)%得出各维的大小 m=size(p,x)%得出某一维的大小 其中,p为多维数组;m为行数,n为列数;当只有一个输出变量时,x=1返回第一维(行数),x=2返回第二维(列数),以此类推。,numel的功能是给出数组的体积(元素的数目),格式为:n=numel(p)其中,p为数组。,例2-27 演示ndims,size和 numel函数的 功能。,x=ones(1,8);n=length(x)%建立任意的18的数组xy=zeros(3,5);d=size(y)%建立任意的35的数组ym n=size(y),ndims(y),numel(y),mm=size(y,1

49、),nn=size(y,2)z=rand(2,10,3);%建立任意的2103的数组yn=length(z),第2章 Matlab符号计算及微积分应用,2.1符号计算基础符号对象1.建立符号变量和符号常数(1)sym函数 用来定义单个符号变量非符号变量:参与运算时候,实际是变量所对应值参与计算。结果是数 a=2;b=3;a+b=5符号变量:参与运算时,用变量名参与计算。结果是表达式子。a=sym(a);a+5,例2.1考察差别a=sym(a);b=sym(b)c=sym(c);d=sym(d);w=10;x=5;y=-8;z=11;A=a,b;c,dB=w,x;y,z,Sym函数还可以定义符号

50、常数例题2.2比较符号常数与数值在代数运算时的差别.pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3);pi2=pi;r1=8;r2=2;r3=3;sin(pi1/3)sin(pi2/3)sqrt(k1)sqrt(r1)sqrt(k3+sqrt(k2)sqrt(r3+sqrt(r2),(2)syms函数 syms var1 var2 varn 例如 syms a b c a+a+b+c2、建立符号表达式(1)建立代数式 建立 方法1 利用 sym直接建立 U=sym(3*x2+5*y+2*x*y+6)方法2 利用变量建立 syms x y;V=3*x2+5*y+

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号