MATLAB程序设计(孙蓬)_第1页
MATLAB程序设计(孙蓬)_第2页
MATLAB程序设计(孙蓬)_第3页
MATLAB程序设计(孙蓬)_第4页
MATLAB程序设计(孙蓬)_第5页
已阅读5页,还剩710页未读 继续免费阅读

下载本文档

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

文档简介

1、MATLAB 程序设计课程教学幻灯授课教师: 孙 蓬电子邮箱: 所在单位:计算机学院基础基础部办公地点:计算机学院楼C北106# 基础楼四层409 了解课程了解课程Matlab是个什么软件? 帮我们计算。 (1+1) 帮我们绘图。 (x=(0:0.1:2*pi);y=sin(x);plot(x,y))3 帮我们利用函数。(paintFlower)4 航空、航天、航海、力学结构、数学等专业都有各自特色的应用。 了解课程了解课程一、课程特色 从零开始 精讲多练1 崇尚个性 了解课程了解课程一、课程主旨 从零开始 # 本课程的教学内容以基础入门为主。 不要求学生有程序设计方面的先修课程。 # 但是如

2、果具有以下知识点学习更轻松: 一门程序设计语言(C/VB/其他); 高等数学知识;线性代数知识; 熟悉Windows ;熟练的键盘操作能力; 了解课程了解课程一、课程主旨2 “精讲多练”,轻松学习 了解课程了解课程一、课程主旨 崇尚个性,适合各个专业 (1)入门容易熟练难。 (2)MATLAB与专业息息相关。 了解课程了解课程二、课堂及实验课要求 课堂。 实验。 1 请假。 了解课程了解课程二、课堂及实验课要求 课堂 课堂随机提问(点名)是本课程的特点之一。 课堂上不要出现随意旷课,迟到,早退,随意旷课,迟到,早退,接打电话接打电话等不文明行为。每次将记录在案。如确有急事,请举手示意一下即可。

3、 了解课程了解课程二、课堂及实验要求 实验 勤能补拙。光说不练假把式。 注意:实验课独立,成绩独立。 第一次实验课按班级和学号排好座位,一学期无特殊原因不变化。不用每次找座位,并且方便老师定点交流。 了解课程了解课程二、课堂及实验要求 请假(严格管理) * 请假(理论课)必须经过辅导员签名同意。 * 请假(实验课)必须经过辅导员签名同意。 * 请假(考试)必须经过辅导员和学院两级批准。 * 如有作假,发现即取消参加考试资格。 * 理论和实验无故旷课累计达到三次者,取消参加本课程的考试资格。 了解课程了解课程三、课程安排 总课时:72学时 理论课学时40 (4学时10周) 实验课学时32 (3学

4、时10周+2学时考试) 了解课程了解课程四、考试方案 * 理论课:闭卷笔试。 笔试卷面分。 * 实验课:开卷 平时成绩和测验成绩。 了解课程了解课程五、认识教学用课本认识教学用课本 MATLAB基础教程 1 西工大非计算机专业MATLAB教学用书 第一版 2 孙蓬等编著,欢迎大家查错纠错。 西工大友谊校区本部基础楼409室 西工大长安校区计算机学院楼C北106室 联系方式:了解课程了解课程六、参考用书参考用书 若干电子书籍供大家使用 /for Stu 如果你们下载到了好的资料,请与大家共享谢谢!关于排实验课的若干问题关于排实验课的若干问题金工实习: 冲突问题选修课:

5、冲突问题课后任务: (1)确定大班长,各小班课代表。(2)完成班级名册;(3)提供课表,找出各个班级空余时间。(4)大班长与我联系,确定实验课时间。(很重要!) ok,开始学习了!,开始学习了! 第一章第一章 MATLAB概述概述 * 第一节教学目标 1 了解MATLAB软件 2 安装MATLAB软件 3 了解MATLAB的软件环境 第一章第一章 MATLAB概述概述一、 MATLAB MATrix + LABoratory 第一章第一章 MATLAB概述概述二、 MATLAB简史 MATLAB本身由本身由C语言语言编写,编写, 是是MathWorks公司的产品。公司的产品。 目前主流版本:目

6、前主流版本: MATLAB7.* 第一章第一章 MATLAB概述概述三、 MATLAB支撑平台 Windows/NT操作系统; Macintosh的Mac OS操作系统; Solaris,Unix,Linux等操作系统。 第一章第一章 MATLAB概述概述四、 MATLAB特点 1 强大的数值运算功能; 2 强大的图形处理能力; 3 高级但简单的程序环境; 4 丰富的工具箱(参见表1-1)。 第一章第一章 MATLAB概述概述四、 MATLAB特点 第一章第一章 MATLAB概述概述 五、五、MATLAB的安装的安装 1 系统要求系统要求 硬件硬件:CPU;内存;硬盘;内存;硬盘; 显示器;显

7、卡;声卡;显示器;显卡;声卡; 软件软件:Windows 95/98 操作系统;操作系统; Windows Office97 ; Web Browser(IE3.0 );); Adobe Acrobat Reader ; Java Virtual Machine; 第一章第一章 MATLAB概述概述 五、五、MATLAB的安装的安装 2 安装方法和步骤安装方法和步骤 Step1:找到安装光盘:找到安装光盘/安装文件;安装文件; Step2: 开始安装(一路开始安装(一路next即可);即可); (细节处请关注每个版本的区别!)(细节处请关注每个版本的区别!) Step3:安装成功。:安装成功。

8、 第一章第一章 MATLAB概述概述与安装相关自学内容(独立阅读内容):与安装相关自学内容(独立阅读内容): install_guide.pdf 第一章第一章 MATLAB概述概述看看看看MATLAB软件到底是什么样?软件到底是什么样? 六、六、MATLAB的视窗环境的视窗环境 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗可视化环境的视窗可视化环境 * 标题栏(标题栏(Title Bar) * 菜单(菜单(Menu) *

9、工具栏(工具栏(ToolBar) * 视图一:视图一:current directory/workspace * 视图二:视图二:command window * 视图三:视图三:command history 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 标题栏标题栏 标题标题 + 窗口最小化按钮窗口最小化按钮+窗口缩放按钮窗口缩放按钮+关闭按钮关闭按钮 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 菜单菜单 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 菜单菜单 (1) File:

10、新建新建+ 打开打开+ 保存保存+ 关闭关闭+ 打印打印+ 退出退出 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 菜单菜单 (2) Edit: 对源代码和窗体进行编辑。对源代码和窗体进行编辑。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 菜单菜单 (3) View/Window: 查看当前系统打开的所有窗口。查看当前系统打开的所有窗口。 不同窗口之间的转换。不同窗口之间的转换。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 菜单菜单 (4) Help: 实现实现MATLAB的帮助功能

11、。的帮助功能。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * ToolBar 提供了一些最常用的菜单命令的快捷方式。提供了一些最常用的菜单命令的快捷方式。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图一:视图一: current directory/workspacecurrent directory/workspace 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command window 用于输入和显示计算结果。用于输入和显示计算结果。 例如:例如: 1+2

12、+3+4+5 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command window “”: 提示符提示符 提示用户目前系统已经处于等待状态,用户可提示用户目前系统已经处于等待状态,用户可以在提示符后面键入命令,回车后,系统会解释执以在提示符后面键入命令,回车后,系统会解释执行所输入的命令,并给出计算结果。行所输入的命令,并给出计算结果。 例如:例如: ver 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command window “上下左右箭头,上下左右箭头,Home,End,De

13、lete,Insert”: 功能一用便知。功能一用便知。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command window “Ctrl+C”: 终止正在执行中的终止正在执行中的MATLAB的工作。的工作。 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command window “命令行尾命令行尾+ 分号;分号;”: 不在屏幕上显示运行结果。不在屏幕上显示运行结果。 例如:例如: x=6; x=6 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 *

14、视图二:视图二:command window “命令行尾命令行尾+ 逗号,逗号,”: 例如:例如: x=6,y=8 第一章第一章 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; 第一章第一章 MATL

15、AB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command history 第一章第一章 MATLAB概述概述 六、六、MATLAB的视窗环境的视窗环境 * 视图二:视图二:command history(1)历史命令窗口用于记录用户在命令窗口中键入的命令。(2)双击这些命令可使它再次执行。 示例演示:示例演示: 1+1等命令。等命令。 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法: 1 帮助命令帮助命令 help 2 查找命令查找命令 Lookfor 3 帮助窗口帮助窗口 Help Window 4

16、在线帮助页在线帮助页/通过网络链接到通过网络链接到MathWorks公司公司 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法: 1 帮助命令帮助命令 Help 语法:语法:help 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法: 2 查找命令查找命令 lookfor 语法:语法:lookfor 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法: 3 帮助窗口帮助窗口 Help Window (1)菜单)菜单help (2)

17、双击)双击Toolbar上的问号按钮上的问号按钮 (3)键入)键入helpwin命令命令 (4)键入)键入helpdesk命令命令 第一章第一章 MATLAB概述概述 七、七、MATLAB的在线帮助的在线帮助 寻求帮助方法:寻求帮助方法: 4 在线帮助页在线帮助页 通过网络链接到通过网络链接到MathWorks公司公司 第一章第一章 MATLAB概述概述 八、退出八、退出MATLAB 1 键入命令键入命令Exit 2 键入命令键入命令Quit 3 直接关闭直接关闭MATLAB的窗口的窗口 课后任务课后任务一、亲自安装一、亲自安装MATLAB一次。一次。 并总结安装技巧。并总结安装技巧。二、上机

18、熟悉二、上机熟悉MATLAB软件环境。软件环境。三、找几个你手边熟悉的计算公式,三、找几个你手边熟悉的计算公式, 代入已知数据,用代入已知数据,用MATLAB计算结果。计算结果。 第一章第一章 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

19、+2+3+4 . %使用了续行符使用了续行符“”, 5 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 【书例题例题1-21-2】一个半径一个半径r=5r=5的圆,计算其的圆,计算其面积面积areaarea的值。的值。r=5; %指定半径指定半径r的值,分号确保赋值后无需在命令窗口显示的值,分号确保赋值后无需在命令窗口显示r的值的值area=pi*r2 %计算圆面积,计算圆面积,pi是圆周率常数是圆周率常数 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 【书例题例题1-31-3】 disp disp屏幕输出函数。屏幕输出函数。 disp(the area is :

20、 ); disp(area); %屏幕输出字符串和变量的值屏幕输出字符串和变量的值 %输出超链接输出超链接 disp(The MATLAB Site) 第一章第一章 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/b 第一章第一章 MATLAB概述概述sin(|x|+|y|)cos(|x+y|) 九、应用举例九、应用举例 例题: 计算下式的结果,其中x=-3.5 。 ,Y=6.7。 x=pi/180*(-3.5);y=pi/180*6.7; z=sin

21、(abs(x)+abs(y)/sqrt(cos(abs(x+y) sin(|x|+|y|)cos(|x+y|) 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 例题: 我国人口按照2000年第五次全国人口普查的结果为12.9533亿,如果年增长率为1.07%,求公元2010年末的人口数。 计算人口的公式为:P1=P0(1+r)n,其中:P1为几年后的人口,P0为人口初值,r为年增长率,n为年数。 第一章第一章 MATLAB概述概述 九、应用举例九、应用举例 用MATLAB解题: r=0.0107; n=2010-2000; p0=12.9533E8; p1=p0*(1.0+r)n

22、 第一章第一章 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)242bbaca 第一章第一章 MATLAB概述概述 发现:? (1)MATLAB是一个计算器。 第一章第一章 MATLAB概述概述 发现:? (2)有些规律。 输入已知条件; 代入公式(利用一些函数); 开始计算! 第一章第一章 MATLAB概述概述 发现:? (3)找出一些可用函数。 第一章第一章 M

23、ATLAB概述概述 发现: (1)MATLAB是一个计算器。 (2)有些规律。 输入已知条件; 带入公式(利用一些函数); 开始计算! (3)找出一些可用函数。 第一章第一章 MATLAB概述概述* 第二节教学目标 1 MATLAB的工作空间。 2 MATLAB的搜索路径。第一章第一章 MATLAB概述概述 一、MATLAB的工作空间什么是工作空间? 工作空间是MATLAB的一个变量管理中心。 *管理系统所提供的特殊变量 *管理用户自己定义的所有变量 第一章第一章 MATLAB概述概述 一、MATLAB的工作空间(1)显示变量的 名称、尺寸、字节、长度等信息(2)变量处理 在某一变量上单击鼠标

24、右键会弹出菜单。 第一章第一章 MATLAB概述概述 一、MATLAB的工作空间(1)显示变量的 名称、尺寸、字节、长度等信息(2)变量处理 在某一变量上单击鼠标右键会弹出菜单。 第一章第一章 MATLAB概述概述 一、MATLAB的工作空间什么是工作空间? 我们需要知道的: * 当MATLAB启动后,系统会自动建立一个工作空间, 这时的工作空间内只包含系统所提供的一些特殊变量, 如pi,eps,nan,i等。 * 随着用户的使用,逐渐增加一些用户自己定义的变量。 * 使用who,whos可以查看到当前工作空间所有变量的情况。 * 使用clear可以删除全部或部分工作空间中的变量。 * 关闭M

25、ATLAB,释放工作空间,所有变量会被释放。 第一章第一章 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) 第一章第一章 MATLAB概述概述

26、二、MATLAB的搜索路径 键入下面这个命令的结果是什么? path第一章第一章 MATLAB概述概述二、MATLAB的搜索路径 打开菜单项file/setpath会出现什么?第一章第一章 MATLAB概述概述二、MATLAB的搜索路径注意:只有在注意:只有在当前目录当前目录或或搜索路径搜索路径下的文件、下的文件、函数可以被运行或调用。否则视为非法命令。函数可以被运行或调用。否则视为非法命令。*默认当前目录为默认当前目录为My DocumentsMATLAB*早期版本略有细微差异。早期版本略有细微差异。第一章第一章 MATLAB概述概述二、MATLAB的搜索路径MATLAB每遇到一个命令(例如

27、test)时,其处置过程为: 1. 将test视为使用者自定义的变量。 2.若test不是使用者自定义的变量,将其视为系统定义的常量。 3.若test不是常量,检查其是否为当前工作目录下的M文件。 4.若不是,则由搜寻路径寻找是否有test.m的文件。 5.若在搜寻路径中找不到,则MATLAB会印出错误讯息。 * 处置过程可能因版本不同而略有不同。 第一章第一章 MATLAB概述概述二、MATLAB的搜索路径which命令: 查询某一命令是在搜寻路径的何处. What命令:显示当前目录里MATLAB相关文件及路径。【书例题1-7】which和what命令。 which help which l

28、ookfor what第一章第一章 MATLAB概述概述 三、MATLAB中数据的读写思考:关闭MATLAB,释放工作空间,所有变量会被释放。这样会出现什么问题? 第一章第一章 MATLAB概述概述 三、MATLAB中数据的读写 解决方法:将工作空间中的变量存储到文件中。这样,即使退出了MATLAB系统,变量依然存在。需要使用时,将这些变量从文件中读取出来即可。 第一章第一章 MATLAB概述概述1 save命令功能:将变量以二进制的方式存储至后缀名为.mat的文档中。格式:save filename第一章第一章 MATLAB概述概述1 save命令命令实例:假定内存中已经存在变量X,Y,Zs

29、ave myFile X Y Zdir . myFile.mat .第一章第一章 MATLAB概述概述1 save命令 注意事项: ) 存储文件为.mat的二进制mat文档中。 ) 若文件名缺省,则自动存储到matlab.mat中。1 ) 若为save filename x 则只将变量x存储到文件中去。第一章第一章 MATLAB概述概述1 save命令 注意事项:4 ) 若为save filename u w append 则将变量u,w添加到文件名为filename.mat的文件中。5 ) 若为save filename u w ascii 则将变量u,w保存为filename的8位ASCI

30、I文档。6) 若为save filename u w ascii -double则将变量u,w保存为filename的16位ASCII文档。第一章第一章 MATLAB概述概述 1 save命令 ASCII文档特色(使用-ascii后缀):(1)ASCII文档可以看到文档内容。(2)默认的存储格式是二进制的mat文件。 存储ASCII文档必须加-ascii。(3)save -ascii通常只存为一个变量,原有变量名消失。 load载入时,取用文件名为变量名。(4)对于复数,save -ascii后只存实部,虚部抛弃。(5)ASCII文件通常比二进制文件大,二进制文档较小, 读取速度快。第一章第一

31、章 MATLAB概述概述1 save命令建议: 尽量使用二进制文件存储MATLAB变量。第一章第一章 MATLAB概述概述2 load命令功能:读取保存在文件中的变量。格式:load filename load filename ascii load filename mat第一章第一章 MATLAB概述概述2 load命令注意事项: 首先,MATLAB在系统默认路径中自动寻找名称为filename.mat的二进制文件。 其次,若无该文件,则找filename的文件,用ASCII方式载入。第一章第一章 MATLAB概述概述2 load命令【例题】: clear all; a=1;b=2;c=3

32、; save mydata1 save mydata2 a b load mydata1 load mydata1 a课后任务课后任务一、熟悉一、熟悉MATLAB系统环境。系统环境。二、熟悉工作空间以及变量的读写。二、熟悉工作空间以及变量的读写。三、熟悉搜索路径的设置。三、熟悉搜索路径的设置。四、四、阅读阅读“实用技巧实用技巧”并自己操作。并自己操作。第二章第二章 MATLAB程序设计基础程序设计基础 * 第一节教学目标 1 基本运算介绍。 2 变量的概念。 3 系统函数的概念。 4 一般的应用问题转换为计算机模型。第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算第二章第二章

33、MATLAB程序设计基础程序设计基础 一、基本运算 简单的数学运算 1+2+3+4+5 1+2+3+4+5;第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 复杂一点点的数学运算已知 : x=15,y=10,z=7求解: (x+2Y+5z)/3 x=15;y=10;z=7; (x+2*y+5*z)/3第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 操作数运算符第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 1 MATLAB算术运算符 加、减、乘、除、幂次方 + - * / 运算次序:自左向右运算。 优先级最高,乘除次之,后加减。 如果有括号,

34、括号优先执行。第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 2 format命令 用来显示计算的精度。 不是用来改变计算的精度。MATLAB默认以double(双精度)进行运算和存储。使用format可以控制数据不同的显示格式。format shortformat short eformat longformat long eformat ratformat bank第二章第二章 MATLAB程序设计基础程序设计基础 一、基本运算 2 format命令 用pi来测试一下显示精度:piformat shortpiformat longpiformat ratpi第二章第二章

35、MATLAB程序设计基础程序设计基础 二、变量 变量程序执行过程中可以变化的量。MATLAB中的中的变量可以由用户指定变量名。通过变量名随时可以引用变量和修改变量。第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 MATLAB特殊之处:无需进行变量声明。(遇到新变量名时,自动生成变量, 并指定合适的存储空间。 如变量早已存在,则自动更新。) *利与弊的分析*第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 1.系统特殊变量1+2+3+4+5ans 是个特殊的系统变量。没有指定变量来存储运算结果时,系统会自动将结果存储在临时变量ans中。第二章第二章 MATLAB程序设计

36、基础程序设计基础 二、变量 1.系统特殊变量 MATLAB的系统特殊变量ans: 临时变量pi : inf : 无穷大eps :极小值NaN:Not a Number (Not Available) nan:同上 i: 虚数sqrt(-1) j: 虚数sqrt(-1)第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 2 自定义变量注意我的这些操作: a= 1 abc= 1+2+3+4+5 a=1;b=3;c=5; A=2,B=4,C=6 area = r2 ?第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 2 自定义变量命名规则 * 变量名由字母、数字和下划线组成。

37、字母间不可留空格且第一个字符必须为字母 * 区分大小写。 * 变量名的长度上限为n个字符。 补充: * 变量名不能为中文; * 系统变量名不要和自定义重名。 第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 万一自定义变量名和系统变量名一样结果会怎样?怎么办? 第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 观察下面的变量名是否合理? isvarname myVarNameisvarname 7myVarName 第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 3 获取当前变量 命令行直接键入变量名。第二章第二章 MATLAB程序设计基础程序设计基础 二

38、、变量 4 变量的显示精度控制显示精度函数: format控制精度计算的函数: digits(n):设置缺省的精度; vpa(S,n):将S表示为n位有效位数的形式。第二章第二章 MATLAB程序设计基础程序设计基础4 变量的显示精度问题: 积少成多的累计误差? ( 1/3+1/3)=? format long 1/3+1/3第二章第二章 MATLAB程序设计基础程序设计基础 s= 1/3+1/3 digits(2) s ? vpa(s) vpa(s,10) s= 1+1/3+1/3 ?4 变量的显示精度第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 5 查看变量 who: 查看

39、当前工作区(workspace)的变量。 whos:查看当前变量的详细信息。第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 6 清除变量 clear:清除所有定义过的变量。 clear 变量名:清除某个变量。第二章第二章 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从文件读取一

40、个数据。(以后介绍)第二章第二章 MATLAB程序设计基础程序设计基础 二、变量 8 变量的作用域(1)局部变量(Local)(2)全局变量(Global)(3)永久变量(Persistent) 第二章第二章 MATLAB程序设计基础程序设计基础二、变量7 变量的作用域局部变量:在函数中使用的变量, 只能在函数的范围内使用。全局变量:在命令文件或工作空间中定义。 用global定义全局变量。 global Gvar1 Gvar2 Gvar3永久变量:只能在函数文件中定义和使用, 只允许定义它的函数存取。 只有清除函数或者关闭MATLAB时, 才能从内存中清除它们。 persistent per

41、Var; 第二章第二章 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=fun

42、c1(x)global Gvar; Y=x;Gvar=x*10func2.mfunction y=func2(x)global Gvar; Y=x;Gvar=x*100第二章第二章 MATLAB程序设计基础程序设计基础 tips:尽量不使用全局变量和永久变量!第二章第二章 MATLAB程序设计基础程序设计基础 三、常用函数 初等数学函数:help elfun 高等数学函数:help specfun help elmat第二章第二章 MATLAB程序设计基础程序设计基础 三、常用函数 注意问题:(1)等式中,函数一定是出现在等式的右边。(2)函数参数要求。(变量个数和格式要求)(3)允许函数嵌套

43、。 第二章第二章 MATLAB程序设计基础程序设计基础 四、现实问题转化为数学模型 例如:哥哥弟弟年龄问题。 哥哥比弟弟大19岁,哥哥年龄是弟弟的3倍还多1,问:哥哥和弟弟的年龄分别是多少?第二章第二章 MATLAB程序设计基础程序设计基础 四、现实问题转化为数学模型 例如:吃桃问题。 桃子1毛钱一个,每3个桃核可以换一个桃子。如果有一元钱,问:一共能吃到多少桃子?课后任务课后任务一、一、熟悉熟悉基本数学运算。基本数学运算。二、二、熟练熟练使用变量的相关应用使用变量的相关应用。第二章第二章 MATLAB程序设计基础程序设计基础 * 第二节教学目标 通过实例演练熟悉部分常用函数。 第二章第二章

44、MATLAB程序设计基础程序设计基础 实战演练常用函数的使用第二章第二章 MATLAB程序设计基础程序设计基础 函数?第二章第二章 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):将实

45、数x化为多项分数展开rats(x):将实数x化为分数表示 第二章第二章 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为底的对数 第二章第二章 MATLAB程序设计基础程序设计基础实战1:函数 abs功能 数值

46、的绝对值与复数的幅值格式 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)第二章第二章 MATLAB程序设计基础程序设计基础实战2:函数 sqrt功能 求平方根函数格式 Y = sqrt(X) % 数值的平方根运算例 x= 16; z1 = sqrt(x) y= -18; z2 = sqrt(y) f= 2+ 4i; z3 = sqrt(f)第二章第二章 MATLAB程序设计基础程序设计基

47、础实战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)第二章第二章 MATLAB程序设计基础程序设计基础实战4:函数 log功能 自然对数,即以e为底数的对数。格式 Y = log(X) % 对参量X中的每一个元素计算自然对数。 % 其中X中的元素可以是复数与负

48、数,但由此可能得到意想不到的结果。 % 若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)第二章第二章 MATLAB程序设计基础程序设计基础实战5:函数 log10功能 常用对数,即以10为底数的对数。格式 Y = log10(X) %计算X中的每一个元素的常用对数, % 若X中出现复数,则可能得到意想不到的结果。例 x= 10; z1 = log10(

49、x) y= -10; z1 = log10(y) f= 2+ 4i; z3 = log10(f)第二章第二章 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)第二章第二章 MATLAB程序设计基础程序设计基础实战7:函数 gcd功能 整数x和y的最大公约数格式 z = gcd(x,y) %计算整数x和y的最大公约数 例 x= 10;

50、 y=23; z1 = gcd(x,y) x= 10; y=2; z2 = gcd(x,y) x= 10; y=-2; z3 = gcd(x,y)第二章第二章 MATLAB程序设计基础程序设计基础实战8:函数 real功能 复数的实数部分。格式 Y = real(Z) %返回输入参量Z的每一个分量的实数部分。例 f = 3+8i; z=real(f)第二章第二章 MATLAB程序设计基础程序设计基础实战9:函数 imag功能 复数的虚数部分格式 Y = imag(Z) %返回输入参量Z的每一个分量的虚数部分。例f=9+7i;z= imag(f)第二章第二章 MATLAB程序设计基础程序设计基础

51、实战10:函数 conj功能 复数的共轭值格式 ZC = conj(Z) %返回参量Z的每一个分量的共轭复数: %conj(Z) = real(Z) - i*imag(Z) 例f=9+7i;z= conj(f)如果两复数的实部相等, 虚部系数互为相反数, 那么, 这两个复数叫做共轭复数.共轭复数的乘积是一个实数. 提问:什么是复数的共轭值?第二章第二章 MATLAB程序设计基础程序设计基础实战11:函数 sin功能 正弦函数格式 Y = sin(X) % 计算参量X(可以是向量、矩阵,元素可以是复数) % 中每一个角度分量的正弦值Y *所有分量的角度单位为弧度值 第二章第二章 MATLAB程序

52、设计基程序设计基础础sin(|x|+|y|)cos(|x+y|)书例1-3 计算下式的结果,其中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) sin(|x|+|y|)cos(|x+y|)第二章第二章 MATLAB程序设计基础程序设计基础实战12:函数 cos功能 余弦函数格式 Y = cos(X) % 计算参量X(可以是向量、矩阵,元素可以是复数) % 中每一个角度分量的余弦值Y *所有分量的角度单位为弧度值第二章第二章 MATLAB程序设计基程序设计基础础sin(|x|+

53、|y|)cos(|x+y|)书例1-3 计算下式的结果,其中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) sin(|x|+|y|)cos(|x+y|)第二章第二章 MATLAB程序设计基础程序设计基础实战13:函数 asin功能 反正弦函数格式 Y = asin(X) % 返回参量X(可以是向量、矩阵)中每一个 % 元素的反正弦函数值Y。 % 若X中有的分量处于-1,1之间, % 则Y = asin(X)对应的分量处于-/2,/2, % 若X中有分量在区间-1,1之外, %

54、 则Y= asin(X)对应的分量为复数。第二章第二章 MATLAB程序设计基础程序设计基础实战13:函数 asin例题: x=-1; z1=asin(x) x=-2; /? z2=asin(x)第二章第二章 MATLAB程序设计基础程序设计基础实战14:函数 acos功能 反余弦函数格式 Y = acos(X) %返回参量X(可以是向量、矩阵)中每一个 %元素的反余弦函数值Y。 %若X中有的分量处于-1,1之间, %则Y = acos(X)对应的分量处于0,之间, %若X中有分量在区间-1,1之外, %则Y = acos(X)对应的分量为复数。第二章第二章 MATLAB程序设计基础程序设计基

55、础实战14:函数 acos例题: x=-1; z1=acos(x) x=-2; /? z2=acos(x)第二章第二章 MATLAB程序设计基础程序设计基础实战15:函数 tan功能 正切函数格式 Y = tan(X) %计算参量X %(可以是向量、矩阵,元素可以是复数) %中每一个角度分量的正切值Y, %所有角度分量的单位为弧度值。 第二章第二章 MATLAB程序设计基础程序设计基础实战15:函数 tan特别地,我们要指出的是,tan(pi/2)和tan(-pi/2)并不是精确的值, 因为matlab中的pi仅仅是精确值近似的表示值而已。例题: tan(pi/2) x=-pi/2+0.01:

56、 0.01:pi/2-0.01; plot(x,tan(x);grid on;第二章第二章 MATLAB程序设计基础程序设计基础实战16:函数 atan功能 反正切函数格式 Y = atan(X) %返回参量X(可以是向量、矩阵)中每一个 %元素的反正切函数值Y。 %若X中有的分量为实数,则Y = atan(X)对应 %的分量处于-/2,/2之间。例: atan(0)第二章第二章 MATLAB程序设计基础程序设计基础第二章第二章 MATLAB程序设计基础程序设计基础学生演练实例1 【例】求 的算术运算结果。(2)23)47(212第二章第二章 MATLAB程序设计基础程序设计基础学生演练实例2

57、【例】 求 的算术运算结果。(-0.0045 )20.3*4sin(10)*e第二章第二章 MATLAB程序设计基程序设计基础础学生演练实例3【例】复数 , 计算 (0.3349 + 5.5801i)612334 ,12 ,2izi zi ze 1 23z zzz第二章第二章 MATLAB程序设计基础程序设计基础学生演练实例4【例】 求 的算术运算结果。( 0.5000)12sin(0.3 )15y第二章第二章 MATLAB程序设计基础程序设计基础学生演练实例5【例】 求 的算术运算结果。( 0.3633)22cos(0.3 )15y第二章第二章 MATLAB程序设计基础程序设计基础学生演练实

58、例n继续补充一些演练实例。(增加难度)课后任务课后任务一、一、熟练熟练使用常用函数使用常用函数(初等)(初等)。二、二、理解理解应用题并转化为数学模型。应用题并转化为数学模型。疑问疑问精度问题精度问题有时候函数结果返回0而不是0.0000。按理,0!=0.0000.类似的问题还有:在matlab中为什么sin(pi) != 0?而cos(pi)却等于-1,而不是-1.0000?而format bank Sin(0)=0.00, cos(pi) 等于-1.00?疑问疑问解释一:MATLAB中的数字是默认按照双精度型浮点数存储的,他们的区别可能有两种情况:一、0代表符号值的0,是没有经过舍入的精确

59、值,而0.0000是浮点数,有舍入。由于MATLAB中默认数据类型是浮点型,所以在输入计算时两者是没有差别的。二、在MATLAB的输出结果中同样是浮点数,如果一个矩阵中各元素的数量级相差较大,同时显示出来时有的元素会显示为0.0000,如果你只单独显示这一个数,发现它只是很小,并不是0。疑问疑问解释二:Sin是是build-in函数,看不到源代码。函数,看不到源代码。让让sin(0)=0而让而让sin(pi)!=0,cos(pi)=-1等等完全由完全由mathworks公司函数内部定义。公司函数内部定义。疑问疑问看如下的代码,分析:看如下的代码,分析: x=0; for n=1:82 x=x+

60、0.01 end x=0.82 x=0; for n=1:82 x=x+1 end x=82上机安排:人数上机安排:人数93 2院大班(02021001/2班10-11周金工实习)02021001/2,02011001班+英语精英班周一16:0018:40,实验大楼三层南02011002/3/4班+020110卓越计划班周一19:0021:40,实验大楼三层南 注意: 大班长尽快报精英班和卓越班名单给我; 8-9周每周补一次理论课。上机安排:人数上机安排:人数A=1 2 3 4 A=1,2,3,4 第二章第二章 MATLAB程序设计基础程序设计基础一、一维数组的创建 建立方法二:冒号法 调用格

温馨提示

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

评论

0/150

提交评论