没有合适的资源?快使用搜索试试~ 我知道了~
Matlab讲义.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 13 浏览量
2022-11-10
22:29:18
上传
评论
收藏 1.58MB DOCX 举报
温馨提示
试读
96页
。。。
资源推荐
资源详情
资源评论
MatLab 讲义
2002 年 9 月版
MATLAB讲义
第一章 MATLAB 系统概述
1.1 MATLAB系统概述
MATLAB(MATrix LABoratory)矩阵实验室的缩写,全部用 C 语言编写。
特点:
(1)以复数矩阵作为基本编程单元,矩阵运算如同其它高级语言中的语言变量操作一样方便,而且
矩阵无需定义即可采用。
(2)语句书写简单。
(3)语句功能强大。
(4)有丰富的图形功能。如 plot,plot3语句等。
(5)提供了许多面向应用问题求解的工具箱函数。目前,有 20 多个工具箱函数,如信号处理、图
像处理、控制系统、系统识别、最优化、神经网络的模糊系统等。
(6)易扩充。
1.2 MATLAB系统组成
(1)MATLAB语言
MATLAB 语言是高级的矩阵、矢量语言,具有控制流向语句、函数、数据结构、输入输出等功能。同
时 MATLAB又具有面向对象编程特色。MATLAB语言包括运算符和特殊字符、编程语言结构、字符串、文件
输入/输出、时间和日期、数据类型和结构等部分。
(2)开发环境
MATLAB开发环境有一系列的工具和功能体,其中大部分具有图形用户界面,包括 MATLAB桌面、命令
窗口、命令历史窗口、帮助游览器、工作空间、文件和搜索路径等。
(3)图形处理
图形处理包括二维、三维数据可视化,图像处理、模拟、图形表示等图形命令。还包括低级的图形
命令,供用户自由制作、控制图形特性之用。
(4)数学函数库
有求和、正弦、余弦等基本函数到矩阵求逆、求矩阵特征值和特征矢量等。
MATLAB 数学函数库可分为基本矩阵和操作、基本数学函数、特殊化数学函数、线性矩阵函数、数学
分析和付里叶变换、多项式和二重函数等。
(5)MATLAB应用程序接口(API)
MATLAB程序可以和 C/C++语言及 FORTRAN程序结合起来,可将以前编写的C/C++、FORTRAN语言程序
移植到 MATLAB中。
1.3 MATLAB的应用范围
MATLAB的典型应用包括:
数学计算
算法开发
建模、仿真和演算
数据分析和可视化
科学与工程绘图
应用开发(包括建立图形用户界面)
以矩阵为基本对象
1
MatLab 讲义
2002 年 9 月版
第二章 Matlab 基础
2.1 MATLAB快速入门
(1)搜索路径
搜索路径也被看作是 MATLAB 的路径,其包含的文件被认为在路径上。搜索路径设置存放在文件
pathdef.m中,称为当前目录,当要在 MATLAB中打开一个文件时,就以当前目录为开始点。
当输入一变量 value时,MATLAB的搜索路径次序:
value是否为变量
value是否为内部函数
当前目录中是否存在 value.m文件
搜索路径上是否存在 value.m文件
path函数可以控制 MATLAB的目录搜索路径,主要使用的格式:
path
p=path
显示当前的搜索路径
把当前的搜索路径存到字符变量 P 中
path('newpath') 设置路径为'newpath'
path(path,'newpath') 向当前路径添加一个新目录
addpath函数向 MATLAB的搜索目录中添加一个新目录。
addpath 路径名
path(path,路径名 ):增加搜索路径
rmpath函数从 MATLAB的搜索路径删除一个目录。
rmpath 路径名:删除路径
还可以利用菜单:File->setpath(路径浏览器)
what:显示出搜索路径上的文件名
what路径名:路径名中的文件名
type value:显示变量内容
edit 文件名:对 m 文件进行编辑
(2)工作空间(Workspace)
工作空间是一个重要而且比较抽象的概念,它是指运行 MATLAB程序或命令所生成和存储在内存中的
所有变量和 MATLAB提供的常量构成的集合。通过使用函数、运行M 文件和装载保存的工作空间,可以向
工作空间增加变量。
save保存整个工作空间或一部分变量,使用方式:
save workspace as 文件名
或
save 文件名 [变量名]
load恢复工作空间,使用方式:
load workspace
load 文件名
工作空间浏览器:File->Show Workspace
还有一组命令来管理这些变量。
who,whos:显示出工作空间中的变量列表。
clear [变量名]:清除变量
(3)MATLAB命令窗口
输入命令和输出结果。
如输入:help [函数名]
a=6
2.2 矩阵、变量、运算和表达式
(1)矩阵的输入
A.直接输入:
注意:(1)行元素间用空格或逗号(,)隔开;
2
MatLab 讲义
2002 年 9 月版
(2)行与行之间用分号(;)或回车;
(3)整个元素列表用[]括起。
直接输入的矩阵为一全局变量,一直保存在内存中。
例: a=[1 2 3;4 5 6]
a=
1 2 3
4 5 6
a=[1,2,3;4,5,6;7,8,9] a=[1 2 3; 4 5 6; 7 8 9]
矩阵元素:可以灵活地描述矩阵元素,
矩阵元素 a[i,j] 按列存放
通过下标单独对元素赋值
例:a(1,1)=1,a(3,2)=a(1,1) 得到
a =
1
a =
1
0
0
0
0
1
即自动形成一个 3 行 2 列矩阵,对未赋值的元素充值 0。
矩阵的元素可以用任意形式的表达式
例:算术表达式
x=[-1,sqrt(5),(2+7)^4]
x =
1.0e+003 *
-0.0010
0.0022
6.5610
大矩阵可以用小矩阵作为元素
例:a=[1 2;3 4]
b=[a a+5;a-5 zeros(size(a))]
例:A=[1,2,3;4,5,6]
A =
1
4
2
5
3
6
B=[A;7,8,9]
B =
1
2
5
8
3
6
9
4
7
可以从矩阵中抽取某些元素构成新矩阵
C=A(1:2,:)
C =
1
4
2
5
3
6
例:a=[3,4,5;6,7,8]
b=[+2,4*5,6]
c=[sin(0.5*pi),sqrt(4),0]
d=[a;b;c]
复数的表示
MATLAB支持复数的运算,复数的虚部用 i 或 j 表示。
例:a=1+2i或 a=1+2j 二者表示的结果一样。
复数可以直接运算,
例:a=3+4i;
b=5+6j
3
MatLab 讲义
2002 年 9 月版
a+b
输出:ans=
8.0000+10.0000i
复数运算的一些常用函数:
①abs 返回复数的模
②angle 返回复数的相角
③conj 返回共轭复数
④imag 返回复数的实部
⑤real 返回复数的虚部
B.用语句或函数产生:
a=randn(5,5) 产生正态分布 5*5的随机矩阵。
C.用 M-文件或外部数据文件产生:
M-文件是一个以.m为后缀的文本文件,文件内容为一系列 MATLAB命令,在 MATLAB环境下键入该文
件名(不包括后缀),文件中的全部命令会依次逐个执行;M-文件名(不包括后缀)相当于一个宏命令.
例如:一个名为 magik.m的文件包含了如下的内容,(假设 magik.m在当前目录下)
A = [
16.0
5.0
9.0
4.0
3.0
10.0
6.0
2.0
11.0
7.0
13.0
8.0
12.0
1.0 ]
15.0
14.0
在 Matlab环境下执行如下命令:
magik
A
A =
16
5
3
10
6
2
11
7
13
8
9
12
1
4
15
14
D.用矩阵编辑器创建和修改矩阵:
使用 File->Show workspace
(2)矩阵运算
运算符 +,-,*,/(右除),\(左除) 和^(幂)。
右除:C=A/B即 C 满足 CB=A,当 B 可逆时,A/B=AB-1
左除:C=A\B即 C 满足 AC=B,当 A 可逆时,A\B=A-1B
幂 A^n = A*…*A; A 必须是方阵。
例:矩阵的加减法:
a=[1:3;4:6;7:9]
b=a; c=a+b; c=a-b
注:矩阵相加减必须有相同的维数。
例:矩阵的点乘运算,^运算时矩阵必须为方阵,且只能与数字运算。
d=a*b 必须符合 m*n与 n*l的结构。
d=a.*b 矩阵的点乘运算
例:\(左除):A\B=inv(A)*B,其中 inv(A)表示 A 逆阵,例如求解 AX=B。
A=[1 0 0;0 4 0;0 0 9];
B=[1 2 3;0 1 0;0 1 1];
X=A\B
/(右除): A/B=A*inv(B),例如求解 XA=B。
X=B/A
(3)变量与表达式
Matlab的赋值语句有两种形式:
其一为:<变量>=表达式;
其二为:表达式,将表达式的值赋于一个自动定义的变量ans。
注:A:如果以;结尾,则不显示计算结果,否则显示计算结果。
4
MatLab 讲义
2002 年 9 月版
B:除保留字外,变量可以用字母开头,后跟 19 个字母或数字。变量名区分大小写,变量使用
时不需要先定义,也不必定义变量的类型。
可以用 who或 whos来显示已定义的变量
例如:
who
Your variables are:
A
B
C
a
ans
whos
Name
A
Size
2x3
3x3
2x3
3x2
1x1
Bytes Class
48 double array
72 double array
48 double array
48 double array
8 double array
B
C
a
ans
Grand total is 28 elements using 224 bytes
一些常用的变量
pi
3.14159265
sqrt(-1 )
same as i
//π 值
//虚数单位
i
j
eps
floating-point relative precision, 2.2204e-016 / /容量变量
realmin smallest floating-point number, 2.2251e-308 / /最小浮点数
realmax largest floating-point number, 1.7977e+308
inf infinity (任意一个非零数除以 0)
nan Not-a-number (0/0 或 inf-inf)
/ /最大浮点数
//正无穷大
//非数
如:
r=1/0
r=inf
1/r
ans=0
(4)矩阵的其他简单运算:
A : 矩阵转置
inv(A):A-1
sum(A):得到一个行向量,其元素为 A 的每一列的和
a=[1 2 3;4 5 6]
sum(a) sum(a’)
diag(A):得到一个列向量,其元素为 A 的对角元
sum(diag(a))
冒号(:)运算符:
a:b:c:生成一个由等差数列构成的行向量 X,X(i+1)-X(i)=b
例:0:pi/4:pi
ans =
0
0.7854
1.5708
2.3562
3.1416
如果省略 b,则等差数列的公差为 1
a=0:0.05:1
x=linspace(0,1,75)
a=1:4;b=1:2:7;c=[b,a]
等比数列:logspace(0,2,11) 创建起点为 10,终点为 10,11个元素,公比为 10
0.2
2
矩阵的变换:rot90: 矩阵逆时针旋转 n*90度。
fliplr: 矩阵左右翻转。
flipud: 矩阵上下翻转。
稀疏矩阵的存储:
5
剩余95页未读,继续阅读
资源评论
xxpr_ybgg
- 粉丝: 6535
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功