(精品)matlab课件_(西工大2011-2012).ppt
MATLAB 程序设计课程教学幻灯授课教师:*电子邮箱:*所在单位:计算机学院基础基础部办公地点:计算机学院楼C北106#基础楼四层4091 了解课程了解课程Matlab是个什么软件?1 帮我们计算。(1+1)2 帮我们绘图。(x=(0:0.1:2*pi);y=sin(x);plot(x,y))3 帮我们利用函数。(paintFlower)14 航空、航天、航海、力学结构、数学等专业都有各自特色的应用。2 了解课程了解课程一、课程特色1 从零开始 2 精讲多练3 崇尚个性3 了解课程了解课程一、课程主旨1 从零开始#本课程的教学内容以基础入门为主。不要求学生有程序设计方面的先修课程。#但是如果具有以下知识点学习更轻松:一门程序设计语言(C/VB/其他);1 高等数学知识;线性代数知识;熟悉Windows;熟练的键盘操作能力;4 了解课程了解课程一、课程主旨2 “精讲多练”,轻松学习 5 了解课程了解课程一、课程主旨3 崇尚个性,适合各个专业(1)入门容易熟练难。(2)MATLAB与专业息息相关。6 了解课程了解课程二、课堂及实验课要求1 课堂。2 实验。3 请假。7 了解课程了解课程二、课堂及实验课要求1 课堂 课堂随机提问(点名)是本课程的特点之一。课堂上不要出现随意旷课,迟到,早退,随意旷课,迟到,早退,接打电话接打电话等不文明行为。每次将记录在案。如确有急事,请举手示意一下即可。8 了解课程了解课程二、课堂及实验要求2 实验 勤能补拙。光说不练假把式。注意:实验课独立,成绩独立。第一次实验课按班级和学号排好座位,一学期无特殊原因不变化。不用每次找座位,并且方便老师定点交流。9 了解课程了解课程二、课堂及实验要求3 请假(严格管理)*请假(理论课)必须经过辅导员签名同意。*请假(实验课)必须经过辅导员签名同意。*请假(考试)必须经过辅导员和学院两级批准。*如有作假,发现即取消参加考试资格。*理论和实验无故旷课累计达到三次者,取消参加本课程的考试资格。10 了解课程了解课程三、课程安排 总课时:72学时 理论课学时40 (4学时10周)实验课学时32 (3学时10周+2学时考试)11 了解课程了解课程四、考试方案*理论课:闭卷笔试。笔试卷面分。*实验课:开卷 平时成绩和测验成绩。12 了解课程了解课程五、认识教学用课本认识教学用课本 MATLAB基础教程 1 西工大非计算机专业MATLAB教学用书 第一版 2 孙蓬等编著,欢迎大家查错纠错。西工大友谊校区本部基础楼409室 西工大长安校区计算机学院楼C北106室 联系方式:* 13 了解课程了解课程六、参考用书参考用书 若干电子书籍供大家使用 /for Stu 如果你们下载到了好的资料,请与大家共享谢谢!14关于排实验课的若干问题关于排实验课的若干问题金工实习:冲突问题选修课:冲突问题课后任务:(1)确定大班长,各小班课代表。(2)完成班级名册;(3)提供课表,找出各个班级空余时间。(4)大班长与我联系,确定实验课时间。(很重要!)15 ok,开始学习了!,开始学习了!16 第一章第一章 MATLAB概述概述*第一节教学目标 1 了解MATLAB软件 2 安装MATLAB软件 3 了解MATLAB的软件环境17 第一章第一章 MATLAB概述概述一、MATLAB MATrix +LABoratory18 第一章第一章 MATLAB概述概述二、MATLAB简史 MATLAB本身由本身由C语言语言编写,编写,是是MathWorks公司的产品。公司的产品。目前主流版本:目前主流版本:MATLAB7.*19 第一章第一章 MATLAB概述概述三、MATLAB支撑平台 Windows/NT操作系统;Macintosh的Mac OS操作系统;Solaris,Unix,Linux等操作系统。20 第一章第一章 MATLAB概述概述四、MATLAB特点 1 强大的数值运算功能;2 强大的图形处理能力;3 高级但简单的程序环境;4 丰富的工具箱(参见表1-1)。21 第一章第一章 MATLAB概述概述四、MATLAB特点 22 第一章第一章 MATLAB概述概述 五、五、MATLAB的安装的安装 1 系统要求系统要求 硬件硬件:CPU;内存;硬盘;内存;硬盘;显示器;显卡;声卡;显示器;显卡;声卡;软件软件:Windows 95/98 操作系统;操作系统;Windows Office97 ;Web Browser(IE3.0 ););Adobe Acrobat Reader;Java Virtual Machine;23 第一章第一章 MATLAB概述概述 五、五、MATLAB的安装的安装 2 安装方法和步骤安装方法和步骤 Step1:找到安装光盘:找到安装光盘/安装文件;安装文件;Step2:开始安装(一路开始安装(一路next即可);即可);(细节处请关注每个版本的区别!)(细节处请关注每个版本的区别!)Step3:安装成功。:安装成功。24 第一章第一章 MATLAB概述概述与安装相关自学内容(独立阅读内容):与安装相关自学内容(独立阅读内容):install_guide.pdf25 第一章第一章 MATLAB概述概述看看看看MATLAB软件到底是什么样?软件到底是什么样?六、六、MATLAB的视窗环境的视窗环境 26 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 27 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 28 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗可视化环境的视窗可视化环境 *标题栏(标题栏(Title Bar)*菜单(菜单(Menu)*工具栏(工具栏(ToolBar)*视图一:视图一:current directory/workspace *视图二:视图二:command window *视图三:视图三:command history29 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *标题栏标题栏 标题标题+窗口最小化按钮窗口最小化按钮+窗口缩放按钮窗口缩放按钮+关闭按钮关闭按钮30 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *菜单菜单 31 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *菜单菜单 (1)File:新建新建+打开打开+保存保存+关闭关闭+打印打印+退出退出32 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *菜单菜单 (2)Edit:对源代码和窗体进行编辑。对源代码和窗体进行编辑。33 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *菜单菜单 (3)View/Window:查看当前系统打开的所有窗口。查看当前系统打开的所有窗口。不同窗口之间的转换。不同窗口之间的转换。34 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *菜单菜单 (4)Help:实现实现MATLAB的帮助功能。的帮助功能。35 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *ToolBar 提供了一些最常用的菜单命令的快捷方式。提供了一些最常用的菜单命令的快捷方式。36 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图一:视图一:current directory/workspacecurrent directory/workspace 37 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window 用于输入和显示计算结果。用于输入和显示计算结果。例如:例如:1+2+3+4+5 38 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window “”:提示符提示符 提示用户目前系统已经处于等待状态,用户可提示用户目前系统已经处于等待状态,用户可以在提示符后面键入命令,回车后,系统会解释执以在提示符后面键入命令,回车后,系统会解释执行所输入的命令,并给出计算结果。行所输入的命令,并给出计算结果。例如:例如:ver39 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境*视图二:视图二:command window “上下左右箭头,上下左右箭头,Home,End,Delete,Insert”:功能一用便知。功能一用便知。40 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window “Ctrl+C”:终止正在执行中的终止正在执行中的MATLAB的工作。的工作。41 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window “命令行尾命令行尾+分号;分号;”:不在屏幕上显示运行结果。不在屏幕上显示运行结果。例如:例如:x=6;x=642 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window “命令行尾命令行尾+逗号,逗号,”:例如:例如:x=6,y=8 43 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command window “续行符续行符”:如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(.),再开始第二行的书写。举例如下,下面这两语句是等价的。举例如下,下面这两语句是等价的。x1=1+1/2+1/3+1/4+1/5+1/6;And x1=1+1/2+1/3+1/4.+1/5+1/6;44 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command history45 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *视图二:视图二:command history(1)历史命令窗口用于记录用户在命令窗口中键入的命令。(2)双击这些命令可使它再次执行。示例演示:示例演示:1+1等命令。等命令。46 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法:1 帮助命令帮助命令 help 2 查找命令查找命令 Lookfor 3 帮助窗口帮助窗口 Help Window 4 在线帮助页在线帮助页/通过网络链接到通过网络链接到MathWorks公司公司47 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法:1 帮助命令帮助命令 Help 语法:语法:help 48 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法:2 查找命令查找命令 lookfor 语法:语法:lookfor 49 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法:3 帮助窗口帮助窗口 Help Window (1)菜单)菜单help (2)双击)双击Toolbar上的问号按钮上的问号按钮 (3)键入)键入helpwin命令命令 (4)键入)键入helpdesk命令命令 50 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法:4 在线帮助页在线帮助页 通过网络链接到通过网络链接到MathWorks公司公司51 第一章第一章 MATLAB概述概述 八、退出八、退出MATLAB 1 键入命令键入命令Exit 2 键入命令键入命令Quit 3 直接关闭直接关闭MATLAB的窗口的窗口52 课后任务课后任务一、亲自安装一、亲自安装MATLAB一次。一次。并总结安装技巧。并总结安装技巧。二、上机熟悉二、上机熟悉MATLAB软件环境。软件环境。三、找几个你手边熟悉的计算公式,三、找几个你手边熟悉的计算公式,代入已知数据,用代入已知数据,用MATLAB计算结果。计算结果。53 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 【书例例题题1-11-1】计计算式子算式子“1+2+3+4+51+2+3+4+5”的的值值。观观察分号和察分号和续续行符的使用方法以及行符的使用方法以及ansans变变量的用法。量的用法。1+2+3+4+5%计算计算“1+2+3+4+5”的值的值 1+2+3+4+5;%使用了分号后,计算结果不在命令窗口输出使用了分号后,计算结果不在命令窗口输出 1+2+3+4.%使用了续行符使用了续行符“”,554 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 【书例例题题1-21-2】一个半径一个半径r=5r=5的的圆圆,计计算其算其面面积积areaarea的的值值。r=5;%指定半径指定半径r的值,分号确保赋值后无需在命令窗口显示的值,分号确保赋值后无需在命令窗口显示r的值的值area=pi*r2%计算圆面积,计算圆面积,pi是圆周率常数是圆周率常数 55 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 【书例例题题1-31-3】dispdisp屏幕屏幕输输出函数。出函数。disp(the area is:);disp(area);%屏幕输出字符串和变量的值屏幕输出字符串和变量的值%输出超链接输出超链接 disp(The MATLAB Site)56 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 例题:设两个复数a=1+2i,b=3-4i,计算a+b,a-b,a*b,a/b。a=1+2i;b=3-4i;a+b a-b a*b a/b57 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 例题:计算下式的结果,其中x=-3.5。,Y=6.7。x=pi/180*(-3.5);y=pi/180*6.7;z=sin(abs(x)+abs(y)/sqrt(cos(abs(x+y)58 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 例题:我国人口按照2000年第五次全国人口普查的结果为12.9533亿,如果年增长率为1.07%,求公元2010年末的人口数。计算人口的公式为:P1=P0(1+r)n,其中:P1为几年后的人口,P0为人口初值,r为年增长率,n为年数。59 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 用MATLAB解题:r=0.0107;n=2010-2000;p0=12.9533E8;p1=p0*(1.0+r)n60 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 例题:求解ax2+bx+c=0一元二次方程的根,其中a=1,b=2,c=3。求根公式:x1,2=a=1;b=2;c=3;d=sqrt(b*b-4*a*c);x1=(-b+d)/(2*a)x2=(-b-d)/(2*a)61 第一章第一章 MATLAB概述概述 发现:?(1)MATLAB是一个计算器。62 第一章第一章 MATLAB概述概述 发现:?(2)有些规律。输入已知条件;带入公式(利用一些函数);开始计算!63 第一章第一章 MATLAB概述概述 发现:?(3)找出一些可用函数。64 第一章第一章 MATLAB概述概述 发现:(1)MATLAB是一个计算器。(2)有些规律。输入已知条件;带入公式(利用一些函数);开始计算!(3)找出一些可用函数。65第一章第一章 MATLAB概述概述*第二节教学目标 1 MATLAB的工作空间。2 MATLAB的搜索路径。66第一章第一章 MATLAB概述概述 一、MATLAB的工作空间什么是工作空间?工作空间是MATLAB的一个变量管理中心。*管理系统所提供的特殊变量 *管理用户自己定义的所有变量 67第一章第一章 MATLAB概述概述 一、MATLAB的工作空间(1)显示变量的 名称、尺寸、字节、长度等信息(2)变量处理 在某一变量上单击鼠标右键会弹出菜单。68第一章第一章 MATLAB概述概述 一、MATLAB的工作空间(1)显示变量的 名称、尺寸、字节、长度等信息(2)变量处理 在某一变量上单击鼠标右键会弹出菜单。69第一章第一章 MATLAB概述概述 一、MATLAB的工作空间什么是工作空间?我们需要知道的:*当MATLAB启动后,系统会自动建立一个工作空间,这时的工作空间内只包含系统所提供的一些特殊变量,如pi,eps,nan,i等。*随着用户的使用,逐渐增加一些用户自己定义的变量。*使用who,whos可以查看到当前工作空间所有变量的情况。*使用clear可以删除全部或部分工作空间中的变量。*关闭MATLAB,释放工作空间,所有变量会被释放。70第一章第一章 MATLAB概述概述 一、MATLAB的工作空间什么是工作空间?【书书例题例题】执行执行whowho、whoswhos、clearclear、sizesize和和lengthlength等命令等命令 查询变查询变量信息。注意量信息。注意观观察察WorkspaceWorkspace窗口的窗口的变变化。化。who whosclear r clear clear all clc s=1 2 3 4 5;size(s)length(s)p=helloworld;size(p)length(p)71第一章第一章 MATLAB概述概述 二、MATLAB的搜索路径 键入下面这个命令的结果是什么?path72第一章第一章 MATLAB概述概述二、MATLAB的搜索路径 打开菜单项file/setpath会出现什么?73第一章第一章 MATLAB概述概述二、MATLAB的搜索路径注意:只有在注意:只有在当前目录当前目录或或搜索路径搜索路径下的文件、下的文件、函数可以被运行或调用。否则视为非法命令。函数可以被运行或调用。否则视为非法命令。*默认当前目录为默认当前目录为My DocumentsMATLAB*早期版本略有细微差异。早期版本略有细微差异。74第一章第一章 MATLAB概述概述二、MATLAB的搜索路径MATLAB每遇到一个命令(例如test)时,其处置过程为:1.将test视为使用者自定义的变量。2.若test不是使用者自定义的变量,将其视为系统定义的常量。3.若test不是常量,检查其是否为当前工作目录下的M文件。4.若不是,则由搜寻路径寻找是否有test.m的文件。5.若在搜寻路径中找不到,则MATLAB会印出错误讯息。*处置过程可能因版本不同而略有不同。75第一章第一章 MATLAB概述概述二、MATLAB的搜索路径which命令:查询某一命令是在搜寻路径的何处.What命令:显示当前目录里MATLAB相关文件及路径。【书例题1-7】which和what命令。which help which lookfor what76第一章第一章 MATLAB概述概述 三、MATLAB中数据的读写思考:关闭MATLAB,释放工作空间,所有变量会被释放。这样会出现什么问题?77第一章第一章 MATLAB概述概述 三、MATLAB中数据的读写 解决方法:将工作空间中的变量存储到文件中。这样,即使退出了MATLAB系统,变量依然存在。需要使用时,将这些变量从文件中读取出来即可。78第一章第一章 MATLAB概述概述1 save命令功能:将变量以二进制的方式存储至后缀名为.mat的文档中。格式:save filename79第一章第一章 MATLAB概述概述1 save命令命令实例:假定内存中已经存在变量X,Y,Zsave myFile X Y Zdir.myFile.mat.80第一章第一章 MATLAB概述概述1 save命令 注意事项:1)存储文件为.mat的二进制mat文档中。2)若文件名缺省,则自动存储到matlab.mat中。3)若为save filename x 则只将变量x存储到文件中去。81第一章第一章 MATLAB概述概述1 save命令 注意事项:4)若为save filename u w append 则将变量u,w添加到文件名为filename.mat的文件中。5)若为save filename u w ascii 则将变量u,w保存为filename的8位ASCII文档。6)若为save filename u w ascii-double则将变量u,w保存为filename的16位ASCII文档。82第一章第一章 MATLAB概述概述 1 save命令 ASCII文档特色(使用-ascii后缀):(1)ASCII文档可以看到文档内容。(2)默认的存储格式是二进制的mat文件。存储ASCII文档必须加-ascii。(3)save -ascii通常只存为一个变量,原有变量名消失。load载入时,取用文件名为变量名。(4)对于复数,save-ascii后只存实部,虚部抛弃。(5)ASCII文件通常比二进制文件大,二进制文档较小,读取速度快。83第一章第一章 MATLAB概述概述1 save命令建议:尽量使用二进制文件存储MATLAB变量。84第一章第一章 MATLAB概述概述2 load命令功能:读取保存在文件中的变量。格式:load filename load filename ascii load filename mat85第一章第一章 MATLAB概述概述2 load命令注意事项:首先,MATLAB在系统默认路径中自动寻找名称为filename.mat的二进制文件。其次,若无该文件,则找filename的文件,用ASCII方式载入。86第一章第一章 MATLAB概述概述2 load命令【例题】:clear all;a=1;b=2;c=3;save mydata1 save mydata2 a b load mydata1 load mydata1 a87课后任务课后任务一、熟悉一、熟悉MATLAB系统环境。系统环境。二、熟悉工作空间以及变量的读写。二、熟悉工作空间以及变量的读写。三、熟悉搜索路径的设置。三、熟悉搜索路径的设置。四、四、阅读阅读“实用技巧实用技巧”并自己操作。并自己操作。8889第二章第二章 MATLAB程序设计基础程序设计基础 *第一节教学目标 1 基本运算介绍。2 变量的概念。3 系统函数的概念。4 一般的应用问题转换为计算机模型。90第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算91第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 简单的数学运算 1+2+3+4+5 1+2+3+4+5;92第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 复杂一点点的数学运算已知:x=15,y=10,z=7求解:(x+2Y+5z)/3 x=15;y=10;z=7;(x+2*y+5*z)/393第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 操作数运算符94第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 1 MATLAB算术运算符 加、减、乘、除、幂次方 +-*/运算次序:自左向右运算。优先级最高,乘除次之,后加减。如果有括号,括号优先执行。95第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 2 format命令 用来显示计算的精度。不是用来改变计算的精度。MATLAB默认以double(双精度)进行运算和存储。使用format可以控制数据不同的显示格式。format shortformat short eformat longformat long eformat ratformat bank96第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 2 format命令 用pi来测试一下显示精度:piformat shortpiformat longpiformat ratpi97第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 变量程序执行过程中可以变化的量。MATLAB中的中的变量可以由用户指定变量名。通过变量名随时可以引用变量和修改变量。98第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 MATLAB特殊之处:无需进行变量声明。(遇到新变量名时,自动生成变量,并指定合适的存储空间。如变量早已存在,则自动更新。)*利与弊的分析*99第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 1.系统特殊变量1+2+3+4+5ans 是个特殊的系统变量。没有指定变量来存储运算结果时,系统会自动将结果存储在临时变量ans中。100第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 1.系统特殊变量 MATLAB的系统特殊变量ans:临时变量pi:inf:无穷大eps:极小值NaN:Not a Number (Not Available)nan:同上 i:虚数sqrt(-1)j:虚数sqrt(-1)101第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 2 自定义变量注意我的这些操作:a=1 abc=1+2+3+4+5 a=1;b=3;c=5;A=2,B=4,C=6 area=r2?102第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 2 自定义变量命名规则 *变量名由字母、数字和下划线组成。字母间不可留空格且第一个字符必须为字母 *区分大小写。*变量名的长度上限为n个字符。补充:*变量名不能为中文;*系统变量名不要和自定义重名。103第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 万一自定义变量名和系统变量名一样结果会怎样?怎么办?104第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 观察下面的变量名是否合理?isvarname myVarNameisvarname 7myVarName 105第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 3 获取当前变量 命令行直接键入变量名。106第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 4 变量的显示精度控制显示精度函数:format控制精度计算的函数:digits(n):设置缺省的精度;vpa(S,n):将S表示为n位有效位数的形式。107第二章第二章 MATLAB程序设计基础程序设计基础4 变量的显示精度问题:积少成多的累计误差?(1/3+1/3)=?format long 1/3+1/3108第二章第二章 MATLAB程序设计基础程序设计基础 s=1/3+1/3 digits(2)s?vpa(s)vpa(s,10)s=1+1/3+1/3?4 变量的显示精度109第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 5 查看变量 who:查看当前工作区(workspace)的变量。whos:查看当前变量的详细信息。110第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 6 清除变量 clear:清除所有定义过的变量。clear 变量名:清除某个变量。111第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 7 变量的初始化(三种方式)1用赋值语句初始化变量。2用input 函数从键盘输入初始化变量。例如:in1=input(enter data:);Enter data:1.23 in2=input(enter data:,s)Enter data:1.23 in1+in2(?)(?)3从文件读取一个数据。(以后介绍)112第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 8 变量的作用域(1)局部变量(Local)(2)全局变量(Global)(3)永久变量(Persistent)113第二章第二章 MATLAB程序设计基础程序设计基础二、变量7 变量的作用域局部变量:在函数中使用的变量,只能在函数的范围内使用。全局变量:在命令文件或工作空间中定义。用global定义全局变量。global Gvar1 Gvar2 Gvar3永久变量:只能在函数文件中定义和使用,只允许定义它的函数存取。只有清除函数或者关闭MATLAB时,才能从内存中清除它们。persistent perVar;114第二章第二章 MATLAB程序设计基础程序设计基础四、函数相关知识3 变量的作用域 局部变量:在函数中使用的变量,只能在函数的范围内使用。全局变量:在命令文件或工作空间定义。用global定义全局变量。global var1 var2 var3 例如:例如:(?)(?)func1.m function y=func1(x)global Gvar;(?)(?)y=x;Gvar=x*10func2.mfunction y=func2(x)global Gvar;y=x;Gvar=x*100 例如:例如:global Gvar (!)func1.m function y=func1(x)global Gvar;Y=x;Gvar=x*10func2.mfunction y=func2(x)global Gvar;Y=x;Gvar=x*100115第二章第二章 MATLAB程序设计基础程序设计基础 tips:尽量不使用全局变量和永久变量!116第二章第二章 MATLAB程序设计基础程序设计基础 三、常用函数 初等数学函数:help elfun 高等数学函数:help specfun help elmat117第二章第二章 MATLAB程序设计基础程序设计基础 三、常用函数 注意问题:(1)等式中,函数一定是出现在等式的右边。(2)函数参数要求。(变量个数和格式要求)(3)允许函数嵌套。118第二章第二章 MATLAB程序设计基础程序设计基础 四、现实问题转化为数学模型 例如:哥哥弟弟年龄问题。哥哥比弟弟大19岁,哥哥年龄是弟弟的3倍还多1,问:哥哥和弟弟的年龄分别是多少?119第二章第二章 MATLAB程序设计基础程序设计基础 四、现实问题转化为数学模型 例如:吃桃问题。桃子1毛钱一个,每3个桃核可以换一个桃子。如果有一元钱,问:一共能吃到多少桃子?120课后任务课后任务一、一、熟悉熟悉基本数学运算。基本数学运算。二、二、熟练熟练使用变量的相关应用使用变量的相关应用。121122第二章第二章 MATLAB程序设计基础程序设计基础 *第二节教学目标 通过实例演练熟悉部分常用函数。123第二章第二章 MATLAB程序设计基础程序设计基础 实战演练常用函数的使用124第二章第二章 MATLAB程序设计基础程序设计基础 函数?125第二章第二章 MATLAB程序设计基础程序设计基础小整理:MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 angle(z):复数z的相角round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数 ceil(x):天花板函数,即加入正小数至最近整数 rat(x):将实数x化为多项分数展开rats(x):将实数x化为分数表示 126第二章第二章 MATLAB程序设计基础程序设计基础小整理:MATLAB常用的基本数学函数 sign(x):符号函数(Signum function)。当x0时,sign(x)=1。rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数 log2(x):以2为底的对数 log10(x):以10为底的对数 127第二章第二章 MATLAB程序设计基础程序设计基础实战1:函数 abs功能 数值的绝对值与复数的幅值格式 Y=abs(X)%返回参量X的每一个分量的绝对值;%若X为复数的,则返回每一分量的幅值%abs(X)=sqrt(real(X).2+imag(X).2)例 x=-18;z1=abs(x)y=-2+4i;z2=abs(y)128第二章第二章 MATLAB程序设计基础程序设计基础实战2:函数 sqrt功能 求平方根函数格式 Y=sqrt(X)%数值的平方根运算例 x=16;z1=sqrt(x)y=-18;z2=sqrt(y)f=2+4i;z3=sqrt(f)129第二章第二章 MATLAB程序设计基础程序设计基础实战3:函数 exp功能 以e为底数的指数函数格式 Y=exp(X)%对参量X的每一分量,求以e为底数的指数函数Y。%X中的分量可以为复数。%对于复数分量如,z=x+i*y,%则相应地计算:ez=ex*(cos(y)+i*sin(y)。例 x=3;z1=exp(x)y=-3;z1=exp(y)f=2+4i;z3=exp(f)130第二章第二章 MATLAB程序设计基础程序设计基础实战4:函数 log功能 自然对数,即以e为底数的对数。格式 Y=log(X)%对参量X中的每一个元素计算自然对数。%其中X中的元素可以是复数与负数,但由此可能得到意想不到的结果。%若z=x+i*y,则log对复数的计算如下:%log(z)=log(abs(z)+i*atan2(y,x)例:x=20.0855 z1=log(x)f=2+4i;z3=log(f)下面的语句可以得到无理数的近似值:pai=abs(log(-1)131第二章第二章 MATLAB程序设计基础程序设计基础实战5:函数 log10功能 常用对数,即以10为底数的对数。格式 Y=log10(X)%计算X中的每一个元素的常用对数,%若X中出现复数,则可能得到意想不到的结果。例 x=10;z1=log10(x)y=-10;z1=log10(y)f=2+4i;z3=log10(f)132第二章第二章 MATLAB程序设计基础程序设计基础实战6:函数 lcm功能 整数x和y的最小公倍数格式 z=lcm(x,y)%计算整数x和y的最小公倍数 例 x=10;y=23;z1=lcm(x,y)x=10;y=2;z2=lcm(x,y)x=10;y=-2;/?z3=lcm(x,y)133第二章第二章 MATLAB程序设计基础程序设计基础实战7:函数 gcd功能 整数x和y的最大公约数格式 z=gcd(x,y)%计算整数x和y的最大公约数 例 x=10;y=23;z1=gcd(x,y)x=10;y=2;z2=gcd(x,y)x=10;y=-2;z3=gcd(x,y)134第二章第二章 MATLAB程序设计基础程序设计基础实战8:函数 real功能 复数的实数部分。格式 Y=real(Z)%返回输入参量Z的每一个分量的实数部分。例 f=3+8i;z=real(f)135第二章第二章 MATLAB程序设计基础程序设计基础实战9:函数 imag功能 复数的虚数部分格式 Y=imag(Z)%返回输入参量Z的每一个分量的虚数部分。例f=9+7i;z=imag(f)136第二章第二章 MATLAB程序设计基础程序设计基础实战10:函数 conj功能 复数的共轭值格式 ZC=conj(Z)%返回参量Z的每一个分量的共轭复数:%conj(Z)=real(Z)-i*imag(Z)例f=9+7i;z=conj(f)如果两复数的实部相等,虚部系数互为相反数,那么,这两个复数叫做共轭复数.共轭复数的乘积是一个实数.提问:什么是复数的共轭值?137第二章第二章 MATLAB程序设计基础程序设计基础实战11:函数 sin功能 正弦函数格式 Y=sin(X)%计算参量X(可以是向量、矩阵,元素可以是复数)%中每一个角度分量的正弦值Y *所有分量的角度单位为弧度值 13