Upload
desiree-pratt
View
93
Download
7
Embed Size (px)
DESCRIPTION
MatLab 及其数学应用. MatLab and its Maths Guides. 一、 MatLab 概述. Mat rix Lab oratory. 20 世纪 70 年代中期 ,Cleve Moler 和其同事在美国国家科学基金的资助下研究开发了调用 LINPACK 和 EISPACK 子程序库 , 并于 1984 年编写了便于使用 LINPACK 和 EISPACK 的接口程序,并将该程序取名为 MatLab 。由美国 MathWorks 公司推向市场以来,现已成为国际公认的最优秀的工程应用开发环境。 - PowerPoint PPT Presentation
Citation preview
MatLab 及其数学应用MatLab and its Maths Guides
2
一、 MatLab 概述
Matrix Laboratory20 世纪 70 年代中期 ,Cleve Moler 和其同事
在美国国家科学基金的资助下研究开发了调用 LINPACK 和 EISPACK 子程序库 , 并于 1984 年编写了便于使用 LINPACK 和 EISPACK 的接口程 序 , 并 将 该 程 序 取 名 为 MatLab 。 由 美 国 MathWorks 公司推向市场以来,现已成为国际公认的最优秀的工程应用开发环境。
MatLab 功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。
3
2001 年初推出了 MatLab6.0 正式版 , 不仅在数值计算、符号运算和图形处理等功能上进一步加强,而且又增加了一些工具箱。目前 MatLab 已拥有数十个工具箱 : 控制系统工具箱、信号处理工具箱、神经网络工具箱、最优化工具箱、金融工具箱、偏微分方程工具箱等。
MatLab 语言的算法先进,许多功能函数都带有算法的自适应性,且运算速度快捷。
MatLab 编程容易、效率高,调试方便、简单,人机交互性强。
MatLab 的主要功能
MatLab 的数值计算功能包括:矩阵运算、多项式和有理分式运算、数据统计分析、数值积分、优化处理等。还可以通过符号计算得到问题的解析解。
4
MatLab 除了命令行的交互式操作以外,还可以程序方式工作。使用 MatLab 可以很容易地实现 C 语言的几乎全部功能,包括 Windows 图形用户界面的设计。 MatLab 提供了两个层次的图形命令:一种是对图形句柄进行的低级图形命令,另一种是建立在低级图形命令之上的高级图形命令。利用 MatLab 的高级图形命令可以轻而易举地绘制二维、三维,并可进行图形和坐标的标识、视角和色彩精细控制等操作。
5
MatLab 运行环境与安装
硬件: 一般要求奔腾以上的处理器、 128MB 以上
内存、足够的硬盘可用空间 ( 随安装组件的多少而定 ) 、 CD-ROM 驱动器、鼠标等。
软件: Windows xp and its compatible
6
二、 MatLab 特色举例考虑两个矩阵 A 和 B 的乘积问题 在 C 语言中要实现两个矩阵的乘积需要一组双重 (或三重 )循环。多重循环当然是矩阵乘积所必需的 .
7
MatLab 矩阵符号积分
求 :积分指令对符号函数矩阵的作用。
syms a b x;f=[a*x,b*x^2;1/x,sin(x)];disp('The integral of f is'); int(f) The integral of f is [ 1/2*a*x^2, 1/3*b*x^3] [ log(x) , -cos(x) ]
dxx
x
1bxax 2
sin
8
MatLab 多重符号积分
求积分 注意:内积分上下限都是函数。syms x y z;F2=int(int(int(x^2+y^2+z^2,z,sqrt(x*y),x^2*y),y,sqrt(x),
x^2),x,1,2)VF2=vpa(F2)
F2 =1610027357/6563700-6072064/348075*2^(1/2)+14912/4641*
2^(1/4)+64/225*2^(3/4)VF2 =224.92153573331143159790710032805
2
1
2222 2
)(x
x
yx
xydzdydxzyx
9
MatLab 三维云图
考虑一个二元函数
如何用三维图形的方式表现出这个曲面?
222222 y1xyx531y2x2 e3
1eyx
5
x10ex13x,yfz
>> [x,y] = meshgrid(-3:1/8:3); z = 3*(1-x).^2.*exp(-(x.^2) - (y+1).^2)- 10*(x/5 - x.^3 - y.^5)... .*exp(-x.^2-y.^2)- 1/3*exp(-(x+1).^2 - y.^2); surf(x,y,z), shading interp; colorbar
10
MatLab 三维云图
11
MatLab 绘图——透视效果
[X0,Y0,Z0]=sphere(30);X=2*X0;Y=2*Y0;Z=2*Z0;surf(X0,Y0,Z0);shading interp;hold on,mesh(X,Y,Z),colormap(hot),hold off;hidden off;axis equal,axis off
透视 效果
12
MatLab 绘图——镂空效果
镂空 效果t=linspace(0,2*pi,100); r=1-exp(-t/2).*cos(4*t);[X,Y,Z]=cylinder(r,60);ii=find(X<0&Y<0);Z(ii)=NaN;surf(X,Y,Z);colormap(spring),shading interplight('position',[-3,-1,3],'style','local')material([0.5,0.4,0.3,10,0.3])
13
MatLab 绘图——镂空效果
P=peaks(30);P(18:20,9:15)=NaN;surfc(P);colormap(summer)light('position',[50,-10,5]),lighting flatmaterial([0.9,0.9,0.6,15,0.4])
镂空 效果
14
MatLab 多维切割效果clf;[X,Y,Z,V]=flow;x1=min(min(min(X)));x2=max(max(max(X)));y1=min(min(min(Y)));y2=max(max(max(Y)));z1=min(min(min(Z)));z2=max(max(max(Z)));sx=linspace(x1+1.2,x2,5);sy=0;sz=0;slice(X,Y,Z,V,sx,sy,sz);view([-33,36]);shading interp;colormap jet;alpha('color')alphamap('rampdown')alphamap('increase',.1)colorbaraxis off
15
MatLab 绘图——光照
光照 光照 处理
16
MatLab 绘图——浓淡变化
浓淡 处理
17
三、 MatLab 工具箱 偏微分方程工具箱 pdetool
优化工具箱 最小化问题, 线性规划, 无约束 / 有约束…概率论与数理统计工具箱 概率密度函数,累加 /逆累加分布, 随机数…
18
①MatLab主窗口 :主要包括 6 个下拉菜单和 10 个按钮控件。
② 命令窗口:其中 “ >> ” 为运算提示符 ,表示MatLab 正处于准备状态。当在提示符后输入一段算式并按 Enter键后, MatLab 将给出计算结果,然后再次进入准备状态。③ 历史窗口:在默认设置状态下,历史窗口中会保留自安装起所有命令的历史记录,并标明了使用时间;双击某一行命令,则可在命令窗口中执行该行命令。④ 当前目录窗口:在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件并提供搜索功能。此窗口有四个按钮键。
四、 MatLab 命令窗口
19
20
File菜单项:
New 命令:用于建立 M文件、图形窗口。
Open 命令:打开一个已经建立的 M文件。Save Workspace As 命令:把当前工作空间的所有变量用后缀为 .m 的文件保存起来。
21
Help菜单项:Help Window 命令:打开 MatLab 的帮助窗口。Help Desk(HTML) 命令:打开系统 WWW浏览器,并显示MatLab 的帮助桌面。Demos 命令:可以通过演示MatLab 提供的例子来熟悉相关部分的用法。
About MatLab 命令:打开关于 MatLab 的版本和版权等信息。
Examples and Demos 命令:可以通过演示MatLab 提供的例子来熟悉相关部分的用法。
22
MatLab帮助系统
1. Help 命令 >>help < 程序或主题名 >
2. Demos 命令 >>demos 或者 help 菜单下的 demos
23
■ 命令窗口的工具栏 工具栏提供了一些命令按钮,使用命令按钮可使操作更快捷、更方便。
新建 剪切 粘贴 浏览器 新仿真模型
打开 复制 撤消 路径浏览器 帮助
24
■命令窗口编辑区命令编辑区用于输入命令和显示计算结果。键入命令并按下回车键后, MatLab就会解释执行所输入的命令,并在命令后面给出计算结果。
例如: 输入: a=[1,1.5,2,9,7; 0,3.6,0.5,-4,4; 7,10,-3,22,33;3,7,8.5,21,6; 3,8,0,90,-20]将显示一个 5X5 的矩阵。
25
■ 历史指令行的再运行
26
■ 一些通用命令
27
■ 一些常用操作技巧
28
29
变量与常量
30
MatLab 中变量赋值有两种形式: (1) 变量 =表达式 (2) 表达式 其中“表达式”是用运算符将有关运算量连
接起来的式子,其结果是一个矩阵。
[注]第二种语句形式下,将表达式的值赋给MatLab 的永久变量 ans
31
数据显示格式 short (缺省 ) ~ 小数点后 4位 , long ~ 15位数字, short e ~ 5位科学计数, long e ~ 15位科学计数
通过 File 下子菜单 Preferences选择;用 format加格式选择
常用
格式
32
MatLab 基本语法 >> p=7.1
>> x=-4.92
>>p=7.1, x=-4.92 % 不同语句之间逗号分割
33
最简单的计算器用法
【例 1】求 的算术运算结果。用键盘在 MatLab指令窗中输入以下内容
>> (12+2*(7-4))/3^2
23)]47(212[
ans = 2
34
【例 2】简单矩阵 的输入步骤。
987
654
321
A
>> A = [1,2,3; 4,5,6; 7,8,9] % 一行输入A = 1 2 3 4 5 6 7 8 9
也可以 A=[1,2,3 4,5,6 7,8,9] % 分行输入
35
【例 3 】 S=1-1/2+1/3-1/4+ ...
1/5-1/6+1/7-1/8 %表达式分行输入
S = 0.6345
36
【例 4 】ii2=2;
ii3=3;
jj=1.5;
T=ii2/ii3^jj
T =0.3849
format long T
T = 0.38490017945975
37
变量命名规则 1. 不可超过 31 个字符 , 多余部分将被忽略掉。
2.变量名要求以大写或小写字母开头,后面可跟大小写字母 ,数字和下划线。
3.字符间不可有空格。
4.变量名对于大小写敏感。
5. 多余变量用 clear 变量名清除掉。
38
使用 MatLab 的一些建议1.尽可能使用帮助文件。
2. 在文本编辑器中编写程序和函数并保存为 m文件。
3. 程序和函数尽可能使用图形化开发手段。
4.尽量减少由程序和函数组成的表达式的数目。
5.采用另一种手段验证程序或函数输出结果的正确性。