47
数数数数数数数数 《》 数数数数数数数数 《》 第第 第第 Matlab Matlab 第第第第 第第第第

第一部分 Matlab 软件介绍

  • Upload
    jagger

  • View
    97

  • Download
    4

Embed Size (px)

DESCRIPTION

第一部分 Matlab 软件介绍. 目录. 第一节 Matlab 语言基础 第二节 Matlab 基本数学运算 第三节 Matlab 简单程序设计 第四节 Matlab 作图. 第一节 Matlab 语言基础. Matlab 是 MathWorks 公司的产品 http://www.mathworks.com 数值运算、程序设计,广泛应用 Mathematica 、 Maple 数学机械化,编程侧重于模式匹配. Matlab 语言的优势. 编程简单,类似于其他语言,如 C 集成度更高,扩展性更好 数学问题数值解能力强大 - PowerPoint PPT Presentation

Citation preview

Page 1: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

第一部分第一部分

Matlab Matlab 软件介绍软件介绍

Page 2: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

目录目录

第一节 第一节 MatlabMatlab语言基础语言基础 第二节 第二节 MatlabMatlab基本数学运算基本数学运算 第三节 第三节 MatlabMatlab简单程序设计简单程序设计 第四节 第四节 MatlabMatlab作图作图

Page 3: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

第一节 第一节 MatlabMatlab 语言基础语言基础

MatlabMatlab 是是 MathWorksMathWorks 公司的产品公司的产品http://http://www.mathworks.comwww.mathworks.com

数值运算、程序设计,广泛应用数值运算、程序设计,广泛应用 MathematicaMathematica 、、 MapleMaple

– 数学机械化,编程侧重于模式匹配数学机械化,编程侧重于模式匹配

Page 4: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

MatlabMatlab 语言的优势语言的优势

编程简单,类似于其他语言,如编程简单,类似于其他语言,如 CC 集成度更高,扩展性更好集成度更高,扩展性更好 数学问题数值解能力强大数学问题数值解能力强大 由由 MapleMaple 内核构成的符号运算工具箱可内核构成的符号运算工具箱可

以继承以继承 MapleMaple 所有解析解的求解能力所有解析解的求解能力 在数学、工程领域各种“工具箱”在数学、工程领域各种“工具箱” 强大的系统仿真能力,强大的系统仿真能力, SimulinkSimulink 建模建模

Page 5: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

MatlabMatlab 语言的变量名规则语言的变量名规则

MatlabMatlab 语言的变量名规则语言的变量名规则– 由一个字母引导,后面可以为其他字符由一个字母引导,后面可以为其他字符– 区分大小写 区分大小写 AbcAbc ABcABc

– 有效 有效 MYvar12, MY_Var12MYvar12, MY_Var12 和 和 MyVar12_MyVar12_

– 错误的变量名 错误的变量名 12MyVar, _MyVar1212MyVar, _MyVar12 Matlab Matlab 的保留常量的保留常量

– eps, i, j, pi, NaN, Inf, i=sqrt(-1)eps, i, j, pi, NaN, Inf, i=sqrt(-1)

Page 6: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

MatlabMatlab 基本语句基本语句 直接赋值语句直接赋值语句

函数调用语句函数调用语句

Page 7: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

MATLAB 的每条命令后,若为逗号或无标点符号,则显示命令的结果;若命令后为分号,则禁止显示结果 .

“%” 后面所有文字为注释 . “...” 表示续行 .

Page 8: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

第二节 第二节 MatlabMatlab 基本数学运算基本数学运算

矩阵的输入 1. 直接输入

2. 函数输入 如: zeros(n,m); ones(n,m);eye(n,m)

rand(1,n); randn(m,n); magic(n)

Page 9: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

矩阵中元素的操作

矩阵矩阵 AA 的第的第 rr 行:行: AA (( rr ,:),:) 矩阵矩阵 AA 的第的第 rr 列:列: AA (:,(:, rr )) 取矩阵取矩阵 AA 的第的第 i1~i2i1~i2 行、第行、第 j1~j2j1~j2 列构列构

成新矩阵成新矩阵 :A(i1:i2, j1:j2) :A(i1:i2, j1:j2) 删除删除 AA 的第的第 j1~j2j1~j2 列,构成新矩阵列,构成新矩阵 :A:A

(( :, :, j1:j2)=[ ] j1:j2)=[ ] 将矩阵将矩阵 AA 和和 BB 拼接成新矩阵:拼接成新矩阵: [A B][A B] ;; [A[A ;; B]B]

Page 10: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

矩阵的运算

矩阵加法:矩阵加法: A+BA+B 矩阵乘法:矩阵乘法: A*BA*B 矩阵乘幂:矩阵乘幂: A^nA^n 方阵的行列式:方阵的行列式: detdet (( AA )) 方阵的逆:方阵的逆: invinv (( AA )) 方阵的特征值与特征向量:方阵的特征值与特征向量: [V[V ,, D]=eig[A] D]=eig[A] 求矩阵的秩求矩阵的秩 : rank(A): rank(A)

Page 11: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

数组及其运算数组及其运算

数组的输入数组的输入 直接输入同矩阵,常用“:”和函数直接输入同矩阵,常用“:”和函数 linslins

pace(a,b,n)pace(a,b,n) 两种输入方式两种输入方式 如如

Page 12: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

数组的运算数组的运算

.* .* 乘法乘法 ; .^ ; .^ 乘幂乘幂 ; .\ ; .\ 左除左除 ; ./ ; ./ 右除右除 如如

Page 13: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

基本数学函数基本数学函数函 数函 数 名 称名 称 函 数函 数 名 称名 称 sin(x)sin(x) 正弦函数正弦函数 asin(x)asin(x) 反正弦函数反正弦函数cos(x)cos(x) 余弦函数余弦函数 acos(x)acos(x) 反余弦函数反余弦函数tan(x)tan(x) 正切函数正切函数 atan(x)atan(x) 反正切函数反正切函数abs(x)abs(x) 绝对值绝对值 max(x)max(x) 最大值最大值min(x)min(x) 最小值最小值 sum(x)sum(x) 元素的总和元素的总和sqrt(x)sqrt(x) 开平方开平方 exp(x)exp(x) 以以 ee 为底的指数为底的指数log(x)log(x) 自然对数自然对数 log10(x)log10(x) 以以 1010 为底的对为底的对

数数sign(x)sign(x) 符号函数符号函数 fix(x)fix(x) 取整取整

Page 14: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

还有如: 还有如: length(length( 长度长度 ); mean(); mean( 平均平均值值 ); median(); median( 中间值中间值 );prod();prod( 乘积乘积 ); so); sort(rt( 从小到大排序从小到大排序 ))

round(round( 四舍五入取整四舍五入取整 ); floor(); floor( 向向 --11 方方向取整向取整 ); ceil(); ceil( 向向 ++11 方向取整方向取整 ); real); real(( 取实部取实部 ); imag(); imag( 取虚部取虚部 );angle();angle( 取辐取辐角角 );rats();rats( 有理逼近有理逼近 ))

Page 15: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

第三节 第三节 MatlabMatlab 简单程序设计简单程序设计 关系运算符关系运算符

关系操作符关系操作符 关系操作符关系操作符说明说明 说明说明

<< <<小于小于 小于小于<=<= <=<=

小于或等于小于或等于 小于或等于小于或等于

>> >>

Page 16: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

逻辑运算符逻辑运算符

逻辑操作符逻辑操作符 说明说明&& 与与|| 或或

~~ 非非

Page 17: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

MatlabMatlab 语言流程控制语言流程控制

循环结构循环结构– for for 结构结构

– while while 结构结构

Page 18: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

for for 语句多用在已知循环次数的情况,语句多用在已知循环次数的情况,而而 while while 语句则多用在不能判定循环次语句则多用在不能判定循环次数的情况下数的情况下

例:例:用循环求解

Page 19: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:用循环求解 求最小的 m

Page 20: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

转移结构转移结构

Page 21: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 22: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:用循环求解 求最大的 m

Page 23: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

开关结构开关结构

Page 24: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 25: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

m m 文件文件

文本文本 m m 文件文件 一个较复杂的程序常常需要反复调试,一个较复杂的程序常常需要反复调试,不妨建立一个文本文件保存起来,以便不妨建立一个文本文件保存起来,以便随时调用调试。在随时调用调试。在 FileFile 菜单下选择菜单下选择 NeNew,w,再选择再选择 M-file. M-file. 再打开的文本编辑窗再打开的文本编辑窗口里输入命令和数据。储存文件名原则口里输入命令和数据。储存文件名原则与变量命名一致。与变量命名一致。

Page 26: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

函数 函数 m m 文件文件

我们可以根据自己的需要建立自己的函数文我们可以根据自己的需要建立自己的函数文件,它与库文件一样方便调用,从而极大地件,它与库文件一样方便调用,从而极大地扩展了扩展了 MatlabMatlab 的功能的功能

函数函数 mm 文件的第一行有特殊的要求,如下文件的第一行有特殊的要求,如下

文件名必须是 文件名必须是 << 函数名函数名 >.m>.m

Page 27: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

如前面的例,先建立相应的如前面的例,先建立相应的 mm 文件文件

然后然后

Page 28: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

inline inline 函数和匿名函数函数和匿名函数

inline inline 函数,可以免去文件函数,可以免去文件

MATLAB 7.0MATLAB 7.0

Page 29: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

第四节 第四节 MatlabMatlab 作图作图

Matlab Matlab 系统提供了丰富的图形功能,系统提供了丰富的图形功能,这里只着重介绍这里只着重介绍 22维图形,对维图形,对 33 维图形维图形作简述作简述

22维图形维图形 33 维图形维图形

Page 30: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

二维图形绘制二维图形绘制二维图形绘制基本语句二维图形绘制基本语句

构造向量 :

Page 31: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 32: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 33: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

绘制图形的辅助操作绘制图形的辅助操作

1. 1. 图形标注图形标注 有关图形标注函数的调用格式为:有关图形标注函数的调用格式为: title(title( 图形名称图形名称 )) xlabel(xxlabel(x 轴说明轴说明 )) ylabel(yylabel(y 轴说明轴说明 )) text(x,y,text(x,y, 图形说明图形说明 )) legend(legend( 图例图例 1,1, 图例图例 2,…)2,…)

Page 34: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

2. 2. 坐标控制坐标控制函数的调用格式为:函数的调用格式为:axis([xmin xmax ymin ymax zmin zmax])axis([xmin xmax ymin ymax zmin zmax])axisaxis 函数功能丰富,常用的用法还有:函数功能丰富,常用的用法还有:axis equal axis equal 纵、横坐标轴采用等长刻度纵、横坐标轴采用等长刻度axis square axis square 产生正方形坐标系产生正方形坐标系 ((缺省为矩形缺省为矩形 ))axis off axis off 取消坐标轴取消坐标轴axis on axis on 显示坐标轴显示坐标轴grid on/offgrid on/off命令控制是画还是不画网格线,不命令控制是画还是不画网格线,不带参数的带参数的 gridgrid 命令在两种状态之间进行切换。命令在两种状态之间进行切换。

box on/offbox on/off命令控制是加还是不加边框线,不命令控制是加还是不加边框线,不带参数的带参数的 boxbox命令在两种状态之间进行切换。命令在两种状态之间进行切换。

Page 35: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

3. 3. 图形窗口的分割图形窗口的分割 subplotsubplot 函数的调用格式为:函数的调用格式为: subplot(m,n,p)subplot(m,n,p) 把一个画面分割成把一个画面分割成 m*nm*n 个图形区域,个图形区域,

pp 代表当前的区域号,再每个区域中分代表当前的区域号,再每个区域中分别画一个图别画一个图

Page 36: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:用图形保持功能在同一坐标内绘制例:用图形保持功能在同一坐标内绘制曲线曲线 y=2ey=2e-0.5x-0.5xsin(2sin(2 x) x)及其包络线,并及其包络线,并加网格线。程序如下加网格线。程序如下

Page 37: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 38: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:在一个图形窗口中以子图形式同时绘制正弦、余例:在一个图形窗口中以子图形式同时绘制正弦、余弦、正切、余切曲线。程序如下: 弦、正切、余切曲线。程序如下:

Page 39: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 40: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

其他二维图形绘制语句其他二维图形绘制语句

Page 41: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

三维图形绘制三维图形绘制

三维曲线绘制三维曲线绘制

stem3, fill3, bar3 stem3, fill3, bar3 等等

Page 42: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

三维曲面绘制三维曲面绘制

一般曲面绘制一般曲面绘制

其他函数, 其他函数, surfl( ), surfc( )surfl( ), surfc( ) 等高线绘制 等高线绘制 contour( ), contours( )contour( ), contours( )

Page 43: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:作螺旋线 例:作螺旋线 x=sint,y=cost,z=tx=sint,y=cost,z=t

Page 44: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 45: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

例:作曲面 例:作曲面 z=f(x,y)z=f(x,y) 的图形的图形

Page 46: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课

Page 47: 第一部分 Matlab  软件介绍

《数学分析》实验课《数学分析》实验课