Matlab 软件简介 哈尔滨理工大学 数学建模组

41
Matlab 软软软软 软软软软软软软 软软软软软

description

Matlab 软件简介 哈尔滨理工大学 数学建模组. Matlab 是数学建模常用软件之一,也是在各个专业领域,特别是在工程实际领域应用最广泛的计算软件,并已成为一个通用的计算工具。. MATLAB 概述. 1. MATLAB 的发展 MATLAB 语言是由美国的 Clever Moler 博士于 1980 年开发的。 设计者的初衷是为解决“线性代数”课程的矩阵运算问题。 取名 MATLAB 即 Mat rix Lab oratory 矩阵实验室的意思。. 2. Matlab 的影响. - PowerPoint PPT Presentation

Transcript of Matlab 软件简介 哈尔滨理工大学 数学建模组

Matlab 软件简介哈尔滨理工大学 数学建模组

Matlab 是数学建模常用软件之一,也是在各个专业领域,特别是在工程实际领域应用最广泛的计算软件,并已成为一个通用的计算工具。

MATLAB 概述 1. MATLAB 的发展 MATLAB 语言是由美国的 Clever Mole

r 博士于 1980 年开发的。 设计者的初衷是为解决“线性代数”课

程的矩阵运算问题。 取名 MATLAB 即 Matrix Laboratory

矩阵实验室的意思。

2. Matlab 的影响

就影响而言,至今仍然没有一个别的计算软件可与MATLAB 匹敌。

在欧美大学里, MATLAB 是大学生必须掌握的基本工具,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把 MATLAB 作为内容。

在国际学术界, MATLAB 已经被确认为准确、可靠的科学计算标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到 MATLAB 的应用。

   3. MATLAB 语言的特点: 语言简洁紧凑,语法限制不严,程序设计 自由度大,可移植性好 运算符、库函数丰富 图形功能强大 界面友好、编程效率高 扩展性强

它将一个优秀软件的易用性与可靠性、通用性与专业性 、一般目的的应用与高深的科学技术应用有机地相结合。

MATLAB 是一种直译式的高级语言,比其它程序设计语言容易。

4. Matlab 能在各领域做什么

工业研究与开发 数学教学,特别是线性代数 数值分析和科学计算方面的教学与研究 电子学、控制理论和物理学等工程和科学学科 方面的教学与研究 经济学、化学和生物学等计算问题的所有其他 领域中的教学与研究

MATLAB 工具箱  MATLAB 包含两部分内容:基本部分和各种可选的

工具箱。MATLAB 工具箱分为两大类:功能性工具箱和学科性工具箱。

 许多学科,在 MATLAB 中都有专用工具箱,现已有30 多个工具箱,但 MATLAB 语言的扩展开发还远远没有结束,各学科的相互促进,将使得 MATLAB

更加强大。

MATLAB主工具箱 符号数学工具箱 SIMULINK 仿真工具箱 控制系统工具箱 信号处理工具箱 图象处理工具箱 通讯工具箱 系统辨识工具箱 神经元网络工具箱 金融工具箱

5. MATLAB 的简单应用

5.1 在线性代数中的应用 MATLAB 以矩阵作为数据操作的基本单位,可以清楚地看到线性代数的运算由Matlab轻松完成。

矩阵的运算 A = [1 2 0; 2 5 -1; 4 10 -1] % 输入矩阵 A A =

1 2 0 2 5 -1 4 10 -1

矩阵的转置 B = A’ %A 的转置 B =

1 2 4 2 5 10 0 -1 -1

矩阵的乘积C = A * BC =

5 12 24 12 30 59 24 59 117

矩阵求逆 X = inv(A) X =

5 2 -2 -2 -1 1 0 -2 1

矩阵的特征值 eig(A) ans =

3.7321 0.2679 1.0000

线性方程组求解

2. 无穷多解情况 用函数 rref 将增广矩阵化为最简形,如

用 rref 化简,有

1 2 3 4 5

1 2 3 4 5

1 2 3 5

1 2 3 4 5

2 3 7

2 2

2 7

2 2 5 18

x x x x x

x x x x x

x x x x

x x x x x

ans=

1 0 0 0 -2 3

0 1 0 0 -1 1

0 0 1 0 1 2

0 0 0 1 -2 0

则方程的解即可给出

例 求超定方程组 的最小二乘解。

解:

原方程组写成矩阵形式为 则正规方程组为

72

62

353

1142

21

21

21

21

xx

xx

xx

xx

7

6

3

11

12

21

53

42

2

1

x

x

7

6

3

11

1254

2132

12

21

53

42

1254

2132

2

1

x

x

令 , ,

利用 MATLAB 中矩阵的左除 >>X=A\b

即得

48

51

463

318

2

1

x

x

2418.1,0403.3 21 xx

463

318A

2

1

x

xx

48

51b

5.2 在高等数学中的应用

Matlab 和著名的符号计算语言 Maple 相结合,使得Matlab 具有符号计算功能。

符号运算即用字符串进行数学分析。 允许变量不赋值而参与运算。 用于微积分、复合导数、积分、二重积分、有理函

数、微分方程、泰勒级数展开、寻优等等,可求得解析符号解。

5.2.1.求根例 1 求方程 3x4+7x3 +9x2-23=0 的全部根。

5.2.2.符号极限limit(F,x,a)

计算符号表达式 F 在 x→a下的极限。例 2. 计算

32

(3 5)lim

1sin( )

x

x

xx

5.2.3符号微分

求符号表达式 S 的微分 ( 即求一元导数 )

例 3 求

d(sin( ))

d 2

x

x

diff(S)

5.2.4符号积分

计算表达式 S对符号自变量的不定积分 。

int(S,v)

计算表达式 S对默认符号变量从 a 到 b 的定积分; a 和 b 为双精度或符号变量。

计算表达式 S对变量 v从 a 到 b 的定积分

int(S,a,b)

int(S,v,a,b)

例 4

2

2 dt

e t

5.2.5. 解微分方程 在 matlab 中,用大写字母 D 表示微分方程的

导数,例如 Dy 表示 y’,D2y 表示 y”;D2y+Dy=6*x= 0;Dy(1)=2 表示 y’(1)=2;

命令格式:dsolve(' ', ' ', ' ')微分方程 初始条件 变量

求解方程

解解

例例 2

2sin

d yt

dt

求解方程

解解

例例 2

24 3 , 0 1, 0 1

d yy x y y

dx

5.3 概率应用实例例 某人进行射击,设每次射击的命中率为 0.028 , 独立射击 1000次,试求至少击中 20次的概率。解:设击中的次数为 X ,则 X~b(1000,0.028). X 的分布率

于是所求的概率为

10001000( ) (0.028) (0.98) , 1,2, ,1000,k kP X k k

k

1000 1000 19

{ 20} 1 { 19} 1 { 0} { 19}

1 (0.972) 1000(0.028)(0.972) ?

P X P X P X P X

在 MATLAB 中用命令 binocdf 很容易得到结果。

>> R=1-binocdf (19,1000,0.028)

R =

0.9544

{ 20} 1 { 19}P X P X

向图中边长为 1 的正方形里随机投n块小石头

4 /k n

5.4 概率应用实例 -蒙特卡罗方法计算

随机投石试验

n 很大

均匀分布在正方形中假定有 k 个落在四分之一圆里

图 5.1 随机投一块小石头落在四分之一单位圆里

21 1 1 2

0 0 01

xp dydx x dx

5.1.4 应用实例 -蒙特卡罗方法计算

分析:事件 A 发生事件 A 发生

“向图 5.1 中正方形随机投一块小石头落在四分之一单位圆里”

概率 p(A)概率 p(A) 单位圆面积

独立重复做 n次试验,事件 A 发生 k次

伯努利定理lim {| | } 1n

kP pn

现利用计算机完成 n次投石试验,采用 [0 , 1]

区间上的均匀分布产生相互独立的随机数。

记这样产生的 n个点的坐标为

事件 A 发生的个数是满足

的个数 k,由伯努利定理, p可用 k/n近似替代。

( , ) ( 1,2, , )i ix y i n

21 ( 1,2, , )i iy x i n

5.1.4 应用实例 -蒙特卡罗方法计算

n=10000;

x=rand(2,n);

k=0;

for i=1:n

if x(1,i).^2+x(2,i).^2<=1

k=k+1;

end

end

p=4*k/n

重复计算 4次,计算结果

p = 3.1364 p = 3.1360

p = 3.1484 p = 3.1396

当 n提高到 50000时,

重复计算 4次,计算结果

p = 3.1396 p = 3.1431

p = 3.1296 p = 3.1421

5.1.4 应用实例 -蒙特卡罗方法计算

解 : 编写 M文件如下:

5.4 绘图功能1. 二维图形plot(y) 、 ezplot 是绘制二维图形常用的命令

例 画出函数 在 -5 x 5的图形。

解 :

2siny x

-5 0 5-1

-0.5

0

0.5

1

图 曲线2siny x

2.三维图形函数 mesh 用来生成函数的网格曲面

)sinsin( yxz 例 画出函数

-3-2

-10

12

3

-4

-2

0

2

4-1

-0.5

0

0.5

1

cylinde(r,n) —— 三维柱面绘图函数r 为半径; n 为柱面圆周等分数例:绘制三维陀螺锥面t1=0:0.1:0.9;

t2=1:0.1:2;

r=[t1 -t2+2];

[x,y,z]=cylinder(r,30);

surf(x,y,z);

grid