Matlab授课课件

Download Report

Transcript Matlab授课课件

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