科学计算与仿真 科学计算与仿真 科学计算与仿真 科学计算与仿真 科学计算与仿真
本章目标
了解MATLAB的基本知识 熟悉MATLAB的上机环境
掌握利用MATLAB进行基本运算的方法
初步具备将一般数学问题转化成对应的计算机模型并进行处理的能
力
主要内容
1.1
MATLAB简介
1.2 MATLAB的工作环境 1.3 基本运算功能 1.4 基本数据类型 1.5 数学函数
1.1.1
科学研究和工程实践中的计算问题 计算机编程
简单问题:计算器或直接手工推导 复杂问题:计算机编程
1.1.2
高级编程语言
Microsoft: Visual C++、Visual Basic Borland: Delphi、C++Builder Sun: Java
科学计算软件工具
MathWorks: MATLAB
1.1.3
MATLAB的发展
1984年,MATLAB第1版(DOS版) 1992年,MATLAB 4.0版 1994年,MATLAB 4.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2000年,MATLAB 6.0版 2001年,MATLAB 6.1版 2002年,MATLAB 6.5版 2004年,MATLAB 7.0版
1.1.4
MATLAB的主要功能
3.编程语言
MATLAB具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。 4.MATLAB工具箱
MATLAB包含两部分内容:基本部分和各种可选的工具箱。 MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。
MATLAB具有用法简单、灵活、结构性强、延展性好等优点,逐渐成为科技计算、视图交互系统和程序中的首选语言工具。 功能强大的数值运算功能 强大的图形处理能力 高级但简单的程序环境 丰富的工具箱与模块集 易于扩充
科研和工程技术人员的首选MATLAB 模块化的设计和系统级的仿真
1.1.6 初识MATLAB
例1-1 绘制正弦曲线和余弦曲线。 x=[0:0.5:360]*pi/180; plot(x, sin(x), x, cos(x));
432
例1-2 求方程 3x+7x +9x-23=0的全部根。 p=[3,7,9,0,-23]; %建立多项式系数向量 x=roots(p); %求根
例1-3
求积分
quad('x.*log(1+x)',0,1)
例1-4 求解线性方程组。
2x-3y+z=4 a=[2, -3, 1; 8, 3, 2; 45, 1, -9]; 8x+3y+2z=2 解 b=[4; 2; 17]; 45x+y-9z=17 M=inv(a)*b
其中M=[x; y; z]
第二节 MATLAB的工作环境
MATLAB的工作环境主要有:
命令窗口(Command Window) 图形窗口(Figure Window) 文本编辑窗口(File Editor)
1.2.1 主窗口
在Window桌面上,双击MATLAB的图标,就可以进入matlab的工作环境:
其左上视图为资源目录(Launch Pad),可切换为工作空间(Workspace)。
1.2.1 主窗口
在Window桌面上,双击MATLAB的图标,就可以进入matlab的工作环境:
其左下视图为历史命令(Command History),可切换为当前目录(Current Directory)。
1.2.1 主窗口
在Window桌面上,双击MATLAB的图标,就可以进入matlab的工作环境:
右半视窗为命令窗口(Command Window)。命令窗口是用户与matlab进行人机对话的主要环境。
1.2.1 主窗口 主窗口
MATLAB主窗口是MATLAB的主要工作界面。主窗口除了嵌入一些子窗口外,还主要包括菜单栏和工具栏。 1.菜单栏
在MATLAB 主窗口的菜单栏,共包含File、Edit、View、Web、Window和Help 6个菜单项。
1.2.1 主窗口
(1) File菜单项:File菜单项实现有关文件的操作。
(2) Edit菜单项:Edit菜单项用于命令窗口的编辑操作。
(3) View菜单项:View菜单项用于设置MATLAB集成环境的显示方式。 (4) Web菜单项:Web菜单项用于设置MATLAB的Web操作。 (5) Window菜单项:主窗口菜单栏上的Window菜单,只包含一个子菜单Close all,用于关闭所有打开的编辑器窗口,包括M-file、Figure、Model和GUI窗口。 (6) Help菜单项:Help菜单项用于提供帮助信息。
1.2.1 主窗口
1.2.1 主窗口
2.工具栏
MATLAB 6.5主窗口的工具栏共提供了10个命令按钮。这些命令按钮均有对应的菜单命令,但比菜单命令使用起来更快捷、方便。
1.2.2 命令窗口(Command Window) 命令窗口
命令窗口是MATLAB的主要交互窗口,用于输入命令并显示除图形以外的所有执行结果。
MATLAB命令窗口中的“>>”为命令提示符,表示MATLAB正在处于准备状态。在命令提示符后键入命令并按下回车键后,MATLAB就会解释执行所输入的命令,并在命令后面给出计算结果。
1.2. 2 命令窗口(Command Window)
一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔,若前一命令后带有分号,则逗号可以省略。例如 p=15,m=35 p=15;m=35
要注意,;的区别
如果一个命令行很长,一个物理行之内写不下,可以在第一个物理行之后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的逻辑继续。
在MATLAB里,有很多的控制键和方向键可用于命令行的编辑。
1.2. 2 命令窗口(Command Window)
1.2. 2 命令窗口(Command Window)
命令行编辑器
(1)方向键和控制键可以编辑修改已输入的命令
向上箭头:回调上一行命令 向下箭头 :回调下一行命令 (2)命令窗口的分页输出
more off:不允许分页 more on:允许分页 more(n):指定每页输出的行数
回车前进一行,空格键显示下一页,q结束当前显示。 (3)多行命令(…)
如果命令语句超过一行或者太长希望分行输入,则可以使用多行命令继续输入。例:
S=1-12+13+4+… 9-4-18;
1.2. 3 工作空间窗口
工作空间窗口
工作空间是MATLAB用于存储各种变量和结果的内存空间。在该窗口中显示工作空间中所有变量的名称、大小、字节数和变量类型说明,可对变量进行观察、编辑、保存和删除。
1.2. 3 工作空间窗口
1.2.4 当前目录窗口和搜索路径
当前目录窗口和搜索路径 1.当前目录窗口
当前目录是指MATLAB运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数可以被运行或调用。 在当前目录窗口中可以显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。
将用户目录设置成当前目录也可使用cd命令。例如,将用户目录c:\\mydir设置为当前目录,可在命令窗口输入命令: cd c:\\mydir
1.2.4 当前目录窗口和搜索路径
2.MATLAB的搜索路径
当用户在MATLAB命令窗口输入一条命令后,MATLAB按照一定次序寻找相关的文件。基本的搜索过程是:
(1) 检查该命令是不是一个变量。
(2) 检查该命令是不是一个内部函数。 (3) 检查该命令是否当前目录下的M文件。
(4) 检查该命令是否MATLAB搜索路径中其他目录下的M文件。
1.2.4 当前目录窗口和搜索路径
用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目
录纳入MATLAB系统统一管理。设置搜索路径的方法有: (1) 用path命令设置搜索路径。例如,将用户目录c:\\mydir加到搜索路径下,可在命令窗口输入命令: path(path,’c:\\mydir’)
1.2.4 当前目录窗口和搜索路径
(2)
用对话框设置搜索路径
在MATLAB的File菜单中选Set Path命令或在命令窗口执行pathtool命令,将出现搜索路径设置对话框。通过Add Folder或Add with Subfolder命令按钮将指定路径添加到搜索路径列表中。 在修改完搜索路径后,则需要保存搜索路径。
1.2.5 命令历史记录窗口
命令历史记录窗口 在默认设置下,历史记录窗口中会自动保留自安装起所有用过的命令的历史记录,并且还标明了使用时间,从而方便用户查询。而且,通过双击命令可进行历史命令的再运行。如果要清除这些历史记录,可以选择Edit菜单中的Clear Command History命令。
1.2.6 启动平台窗口和Start按钮
启动平台窗口和Start按钮
MATLAB 6.5的启动平台窗口可以帮助用户方便地打开和调用MATLAB的各种程序、函数和帮助文件。
MATLAB 6.5主窗口左下角还有一个Start按钮,单击该按钮会弹出一个菜单,选择其中的命令可以执行MATLAB产品的各种工具,并且可以查阅MATLAB包含的各种资源。
1.2.7 MATLAB帮助系统 1.2.7 MATLAB帮助系统
帮助命令
MATLAB帮助命令包括help、lookfor以及模糊查询。 1.help命令
在MATLAB 6.5命令窗口中直接输入help命令将会显示当前帮助系统中所包含的所有项目,即搜索路径中所有的目录名称。同样,可以通过help加函数名来显示该函数的帮助说明。
1.2.7 MATLAB帮助系统
2.lookfor命令
help命令只搜索出那些关键字完全匹配的结果,lookfor命令对搜索范围内的M文件进行关键字搜索,条件比较宽松。 lookfor命令只对M文件的第一行进行关键字搜索。若在lookfor命令加上-all选项,则可对M文件进行全文搜索。
1.2.7 MATLAB帮助系统
3.模糊查询
MATLAB 6.0以上的版本提供了一种类似模糊查询的命令查询方法,用户只需要输入命令的前几个字母,然后按Tab键,系统就会列出所有以这几个字母开头的命令。
1.2.7 MATLAB帮助系统 演示系统
在帮助窗口中选择演示系统(Demos)选项卡,然后在其中选择相应的演示模块,或者在命令窗口输入Demos,或者选择主窗口Help菜单中的Demos子菜单,打开演示系统。
1.2.7 MATLAB帮助系统 远程帮助系统
在MathWorks公司的主页(http://www.mathworks.com)上可以找到很多有用的信息,国内的一些网站也有丰富的信息资源。
MATLAB的基本运算可分为三类:
算术运算 关系运算 逻辑运算
使用变量来进行更复杂的问题求解
>> a=15+20-50+3*9 a =
12 >>b=30 b = 30
>> c=a*b c =
360
>> d=a^3-b*c d =
-9072
逗号或分号的区别
>>x=2, y=3 %逗号隔开,屏幕有回显 x = 2 y = 3
>>m=2; n=3; %分号隔开,无回显
>>m %在提示符后直接输入变量名可查看变量的值 m = 2
基本算术运算符
>>
例1-1 求解算术表达式的值
>> (12+2*(7-4))/3^3 ans =
0.6667
format命令数值显示格式
1.3.2 关系运算
关系运算的结果类型为逻辑量 (0, 1)
>> x=2; >> x>3 ans = 0 >> x<=2 ans = 1
1.3.3 逻辑运算
逻辑运算符用于将关系表达式或逻辑量连接起来,构成较复杂的逻辑表达式。逻辑表达式的值也是逻辑量。
MATLAB数据类型
数值 逻辑 字符串
1.4.1 数值类型
分类方法一:
双精度型 单精度型 带符号整数 无符号整数
(系统默认类型)
分类方法二
标量 数组 矩阵
1.4.2 字符串类型
字符串:包含在一对单引号中的字符集合
>> s='hello, MATLAB' s =
hello, MATLAB
变量的命名规则:
%定义字符串变量s
1.4.3 变量和表达式
变量名由字母、数字和下划线组成; 变量名必须以字母打头;
变量名中的英文字母大小写是有区别的; 变量名的最大长度是有规定的
不同版本的系统规定不同:19个字符、31或63个字符等 可调用namelengthmax函数得到系统规定长度
MATLAB系统的特殊变量和常数 变量的使用
>>clear
%删除工作区中所有定义过的变量
>>whos %查看当前工作区内变量信息,无显示表示没有定义的变量 >> xy=1; yx=2; %对变量赋值 >> xy %查看变量xy的当前数值 xy = 1 >> whos
Name Size Bytes Class
xy 1x1 8 double array yx 1x1 8 double array Grand total is 2 elements using 16 bytes >> clear xy yx %删除变量xy及yx >> whos >> xy %这时变量xy已经不存在了 ??? Undefined function or variable 'xy'.
使用函数须注意以下几点
函数一定要出现在等式的右边
函数对其自变量的个数和格式都有一定的要求 函数允许嵌套
例1-2 计算下式的结果,其中a=5.67 , b=7.811
>>a=5.67; b=7.811; >>exp(a+b)/log10(a+b) ans =
6.3351e+005
扩展阅读
1.5 MATLAB背景
1.5.1 MATLAB历史 1.5.2 MATLAB组成 1.5.3 MATLAB特点
1.5.4其他几种相关的数学软件
1.6 工具箱
上机指导
1.7 MATLAB的安装和使用
1.7.1安装MATLAB系统 1.7.2使用MATLAB系统
1.8 MATLAB帮助功能
应用举例
计算星球之间的万有引力。
>> G = 6.67E-11; % 引力恒量 >> sun=1.987E30; % 太阳质量1.987×1030千克 >> earth = 5.975E24; % 地球质量5.975×1024千克 >> d1=1.495E11; % 太阳和地球的距离1.495×1011米 >> g1 = G*sun*earth/d1^2 % 太阳和地球的引力 g1 =
3.5431e+022
>> moon=7.348E22; % 月亮质量7.348×1022千克 >> d2=3.844E5; % 月亮和地球两者间距3.844×105米 >> g2 = G*moon*earth/d2^2 % 月亮和地球的引力 g2 =
1.9818e+026
应用举例
设三个复数a=3+4i,b=1+2i,
>> a=3+4i; >> b=1+2i;
>> c=2*exp(i*pi/6); >> x=a*b/c x =
0.3349 + 5.5801i
应用举例
已知三角形的三边长分别为3、4、5,求其面积。
>>a=3; b=4; c=5; % 三角形的三个边长 >>s=(a+b+c)/2;
>>area=sqrt(s*(s-a)*(s-b)*(s-c)) area = 6
应用举例
计算下式的结果,其中x= 45°
计算x=ab/c ,
>>x=pi/180*(45); %将角度单位由度转换为函数要求的弧度值
>>z=(sin(x)+sqrt(35))/72^(1/5) z = 2.8158
作业
1、在自己的电脑上安装matlab软件。
2、熟悉matlab界面,能进行简单操作,尤其是其帮助系统的使用。
结 束 语
学好matlab的唯一途径是
你的编程能力与你在计算机上投入的时间成比。
因篇幅问题不能全部显示,请点此查看更多更全内容