《数学分析》实验课
第一部分
Matlab 软件介绍
《数学分析》实验课
目录
? 第一节 Matlab语言基础
? 第二节 Matlab基本数学运算
? 第三节 Matlab简单程序设计
? 第四节 Matlab作图
《数学分析》实验课
第一节 Matlab语言基础
Matlab是 MathWorks公司的产品
http://www.mathworks.com
? 数值运算、程序设计,广泛应用
? Mathematica,Maple
– 数学机械化,编程侧重于模式匹配
《数学分析》实验课
Matlab语言的优势
? 编程简单,类似于其他语言,如 C
? 集成度更高,扩展性更好
? 数学问题数值解能力强大
? 由 Maple内核构成的符号运算工具箱可
以继承 Maple所有解析解的求解能力
? 在数学、工程领域各种, 工具箱,
? 强大的系统仿真能力,Simulink建模
《数学分析》实验课
Matlab语言的变量名规则
? Matlab语言的变量名规则
– 由一个字母引导,后面可以为其他字符
– 区分大小写 Abc ABc
– 有效 MYvar12,MY_Var12 和 MyVar12_
– 错误的变量名 12MyVar,_MyVar12
? Matlab 的保留常量
– eps,i,j,pi,NaN,Inf,i=sqrt(-1)
《数学分析》实验课
Matlab基本语句
? 直接赋值语句
? 函数调用语句
《数学分析》实验课
? MATLAB的每条命令后,若为 逗号或无
标点 符号,则显示命令的结果;若命令
后为 分号,则禁止显示结果,
?,%” 后面所有文字为注释,
?,...”表示续行,
《数学分析》实验课
第二节 Matlab基本数学运算
? 矩阵的输入
1,直接输入
2,函数输入
如,zeros(n,m); ones(n,m);eye(n,m)
rand(1,n); randn(m,n); magic(n)
《数学分析》实验课
矩阵中元素的操作
? 矩阵 A的第 r行,A( r,:)
? 矩阵 A的第 r列,A(:,r)
? 取矩阵 A的第 i1~i2行、第 j1~j2列构成
新矩阵,A(i1:i2,j1:j2)
? 删除 A的第 j1~j2列,构成新矩阵,A(:,
j1:j2)=[ ]
? 将矩阵 A和 B拼接成新矩阵:
[A B]; [A; B]
《数学分析》实验课
矩阵的运算
? 矩阵加法,A+B
? 矩阵乘法,A*B
? 矩阵乘幂,A^n
? 方阵的行列式,det( A)
? 方阵的逆,inv( A)
? 方阵的特征值与特征向量,[V,D]=eig[A]
? 求矩阵的秩, rank(A)
《数学分析》实验课
数组及其运算
? 数组的输入
直接输入同矩阵,常用,,, 和函数
linspace(a,b,n)两种输入方式

《数学分析》实验课
数组的运算
?,* 乘法 ;,^ 乘幂 ;,\ 左除 ;,/ 右除
? 如
《数学分析》实验课
基本数学函数
函 数 名 称 函 数 名 称
sin(x) 正弦函数 asin(x) 反正弦函数
cos(x) 余弦函数 acos(x) 反余弦函数
tan(x) 正切函数 atan(x) 反正切函数
abs(x) 绝对值 max(x) 最大值
min(x) 最小值 sum(x) 元素的总和
sqrt(x) 开平方 exp(x) 以 e为底的指数
log(x) 自然对数 log10(x) 以 10为底的对数
sign(x) 符号函数 fix(x) 取整
《数学分析》实验课
? 还有如,length(长度 ); mean(平均值 );
median(中间值 );prod(乘积 ); sort(从小
到大排序 )
? round(四舍五入取整 ); floor(向 -1方向
取整 ); ceil(向 +1方向取整 ); real(取实
部 ); imag(取虚部 );angle(取辐
角 );rats(有理逼近 )
《数学分析》实验课
第三节 Matlab简单程序设计
? 关系运算符
关系操作符 关系操作符
说明 说明
< <
小于 小于
<= <=
小于或等于 小于或等于
> >
《数学分析》实验课
逻辑运算符
逻辑操作符 说明
& 与
| 或
~ 非
《数学分析》实验课
Matlab语言流程控制
? 循环结构
– for 结构
– while 结构
《数学分析》实验课
? for 语句多用在已知循环次数的情况,
而 while 语句则多用在不能判定循环次
数的情况下
? 例,用循环求解
《数学分析》实验课
例:用循环求解
求最小的 m
《数学分析》实验课
转移结构
《数学分析》实验课
《数学分析》实验课
例:用循环求解
求最大的 m
《数学分析》实验课
开关结构
《数学分析》实验课
《数学分析》实验课
m 文件
? 文本 m 文件
一个较复杂的程序常常需要反复调试,
不妨建立一个文本文件保存起来,以便
随时调用调试。在 File菜单下选择 New,
再选择 M-file,再打开的文本编辑窗口里
输入命令和数据。储存文件名原则与变
量命名一致。
《数学分析》实验课
函数 m 文件
? 我们可以根据自己的需要建立自己的函数文
件,它与库文件一样方便调用,从而极大地
扩展了 Matlab的功能
? 函数 m文件的第一行有特殊的要求,如下
文件名必须是 <函数名 >.m
《数学分析》实验课
? 如前面的例,先建立相应的 m文件
然后
《数学分析》实验课
inline 函数和匿名函数
? inline 函数,可以免去文件
? MATLAB 7.0
《数学分析》实验课
第四节 Matlab作图
? Matlab 系统提供了丰富的图形功能,这
里只着重介绍 2维图形,对 3维图形作简

? 2维图形
? 3维图形
《数学分析》实验课
二维图形绘制
二维图形绘制基本语句
构造向量,
《数学分析》实验课
《数学分析》实验课
《数学分析》实验课
绘制图形的辅助操作
1,图形标注
有关图形标注函数的调用格式为:
title(图形名称 )
xlabel(x轴说明 )
ylabel(y轴说明 )
text(x,y,图形说明 )
legend(图例 1,图例 2,… )
《数学分析》实验课
2,坐标控制
函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的用法还有:
axis equal 纵、横坐标轴采用等长刻度
axis square 产生正方形坐标系 (缺省为矩形 )
axis off 取消坐标轴
axis on 显示坐标轴
grid on/off命令控制是画还是不画网格线,不带
参数的 grid命令在两种状态之间进行切换。
box on/off命令控制是加还是不加边框线,不带
参数的 box命令在两种状态之间进行切换。
《数学分析》实验课
3,图形窗口的分割
subplot函数的调用格式为:
subplot(m,n,p)
把一个画面分割成 m*n个图形区域,p
代表当前的区域号,再每个区域中分别
画一个图
《数学分析》实验课
? 例:用图形保持功能在同一坐标内绘制
曲线 y=2e-0.5xsin(2p x)及其包络线,并
加网格线。程序如下
《数学分析》实验课
《数学分析》实验课
例:在一个图形窗口中以子图形式同时绘制正弦、余
弦、正切、余切曲线。程序如下:
《数学分析》实验课
《数学分析》实验课
其他二维图形绘制语句
《数学分析》实验课
三维图形绘制
? 三维曲线绘制
? stem3,fill3,bar3 等
《数学分析》实验课
三维曲面绘制
? 一般曲面绘制
? 其他函数,surfl( ),surfc( )
? 等高线绘制 contour( ),contours( )
《数学分析》实验课
? 例:作螺旋线 x=sint,y=cost,z=t
?
《数学分析》实验课
《数学分析》实验课
? 例:作曲面 z=f(x,y)的图形
《数学分析》实验课
《数学分析》实验课