没有合适的资源?快使用搜索试试~ 我知道了~
MATLAB 实用教程:第2章 MATLAB数值计算.doc
0 下载量 74 浏览量
2022-11-26
17:14:31
上传
评论
收藏 400KB DOC 举报
温馨提示
试读
47页
MATLAB 实用教程:第2章 MATLAB数值计算.doc
资源推荐
资源详情
资源评论
第 2 章 MATLAB 数值计算
MATLAB 的数学计算=数值计算+符号计算
其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的
变量。
2.1 变量和数据
2.1.1 数据类型
数据类型包括:数值型、字符串型、元胞型、结构型等
数值型=双精度型、单精度型和整数类
整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、
int64)。
2.1.2 数据
1. 数据的表达方式
▪ 可以用带小数点的形式直接表示
▪ 用科学计数法
▪ 数值的表示范围是 10
-309
~10
309
。
以下都是合法的数据表示:
-2、5.67、2.56e-56(表示 2.56×10-56)、4.68e204(表示 4.68×10204)
2. 矩阵和数组的概念
在 MATLAB 的运算中,经常要使用标量、向量、矩阵和数组,这几个名称的定义如
下:
▪ 标量:是指 1×1 的矩阵,即为只含一个数的矩阵。
▪ 向量:是指 1×n 或 n×1 的矩阵,即只有一行或者一列的矩阵。
▪ 矩阵:是一个矩形的数组,即二维数组,其中向量和标量都是矩阵的特例,0×0 矩
阵为空矩阵([])。
▪ 数组:是指 n 维的数组,为矩阵的延伸,其中矩阵和向量都是数组的特例。
3. 复数
复数由实部和虚部组成,MATLAB 用特殊变量“i”和“j”表示虚数的单位。复数运算不
需要特殊处理,可以直接进行。
复数可以有几种表示:
z=a+b*i 或 z=a+b*j
z=a+bi 或 z=a+bj(当 b 为标量时)
z=r*exp(i*theta)
得出一个复数的实部、虚部、幅值和相角。
a=real(z) %计算实部
b=imag(z) %计算虚部
r=abs(z) %计算幅值
theta=angle(z) %计算相角
说明:
复数 z 的实部 a=r*cos(θ);
复数 z 的虚部 b=r*sin(θ);
复数 z 的幅值
22
bar ��
;
复数 z 的相角 theta=arctg(b/a),以弧度为单位。
a=1-2*i
a =
1.0000 - 2.0000i
real(a)
ans =
1
imag(a)
ans =
-2
abs(a)
ans =
2.2361
angle(a)*180/pi %以角度为单位计算相角
ans =
-63.4349
2.1.3 变量
1. 变量的命名规则
▪ 变量名区分字母的大小写。例如,“a”和“A”是不同的变量。
▪ 变量名不能超过 63 个字符,第 63 个字符后的字符被忽略,对于 MATLAB6.5 版以
前的变量名不能超过 31 个字符。
▪ 变量名必须以字母开头,变量名的组成可以是任意字母、数字或者下划线,但不能
含有空格和标点符号(如,。%等)。例如,“6ABC”、“AB%C”都是不合法的变量名。
▪ 关键字(如 if、while 等)不能作为变量名。
2. 特殊变量
MATLAB 有一些自己的特殊变量,当 MATLAB 启动时驻留在内存。
表 2.1 特殊变量表
特殊变量
取值
ans
运算结果的默认变量名
pi
圆周率 π
eps
计算机的最小数
flops
浮点运算数
inf
无穷大,如 1/0
NaN 或 nan
非数,如 0/0、∞/∞、0×∞
i 或 j
i=j=
nargin
函数的输入变量数目
nargout
函数的输出变量数目
realmin
最小的可用正实数
realmax
最大的可用正实数
在 MATLAB 中系统将计算的结果自动赋给名为“ans”的变量。
2*pi
ans =
6.2832
2.2 矩阵和数组
MATLAB 最基本也是最重要的功能就是进行实数或复数矩阵的运算。
2.2.1 矩阵输入
(1) 矩阵元素应用方括号([])括住;
(2) 每行内的元素间用逗号或空格隔开;
(3) 行与行之间用分号或回车键隔开;
(4) 元素可以是数值或表达式。
1. 通过显式元素列表输入矩阵
c=[1 2;3 4;5 3*2] % [ ]表示构成矩阵,分号分隔行,空格分隔元素
c =
1 2
3 4
5 6
用回车键代替分号分隔行:
c=[1 2
3 4
5 6]
1 2
3 4
5 6
2. 通过语句生成矩阵
(1) 使用 from:step:to 方式生成向量
from:to
from:step:to
说明:
from、step 和 to 分别表示开始值、步长和结束值。
当 step 省略时则默认为 step=1;
当 step 省略或 step>0 而 from>to 时为空矩阵,当 step<0 而 from<to 时也为空矩阵。
【例 2.1】使用“from:step:to”方式生成以下矩阵。
x1=2:5
x1 =
2 3 4 5
x2=2:0.5:4
x2 =
2.0000 2.5000 3.0000 3.5000 4.0000
x3=5:-1:2
x3 =
5 4 3 2
x4=2:-1:3 %空矩阵
x4 =
Empty matrix: 1-by-0
x5=2:-1:0.5
x5 =
2 1
x6=[1:2:5;1:3:7] %两行向量构成矩阵
x6 =
1 3 5
1 4 7
(2) 使用 linspace 和 logspace 函数生成向量
linspace(a,b,n)
说明:
a、b、n 三个参数分别表示开始值、结束值和元素个数。
生成从 a 到 b 之间线性分布的 n 个元素的行向量,n 如果省略则默认值为 100。
▪ logspace 用来生成对数等分向量,它和 linspace 一样直接给出元素的个数而得出各
个元素的值。
logspace (a,b,n)
说明:
a、b、n 三个参数分别表示开始值、结束值和数据个数,n 如果省略则默认值为 50。
生成从 10
a
到 10
b
之间按对数等分的 n 个元素的行向量。
【例 2.2】用 linspace 和 logspace 函数生成行向量。
x1=linspace(0,2*pi,5) %从 0 到 2*pi 等分成 5 个点
x1 =
0 1.5708 3.1416 4.7124 6.2832
x2=logspace(0,2,3) %从 1 到 100 对数等分成 3 个点
x2 =
1 10 100
3. 由矩阵生成函数产生特殊矩阵
MATLAB 提供了很多能够产生特殊矩阵的函数,各函数的功能如表 2.2 所示。
表 2.2 矩阵生成函数
例子
函数名
功能
输入
结果
zeros(m,n)
产生 m×n
的全 0 矩
阵
zeros(2,3)
ans =
0 0 0
0 0 0
ones(m,n)
产生 m×n
的全 1 矩
阵
ones(2,3)
ans =
1 1 1
1 1 1
rand(m,n)
产生均匀
分布的随
机矩阵,
元素取值
范围 0.0~
1.0。
rand(2,3)
ans =
0.9501 0.6068 0.8913
0.2311 0.4860 0.7621
randn(m,n)
产生正态
分布的随
机矩阵
randn(2,3)
ans =
-0.4326 0.1253 -1.1465
-1.6656 0.2877 1.1909
magic(N)
产生 N 阶
魔方矩阵
(矩阵的
行、列和
对角线上
元素的和
相等)
magic(3)
ans =
8 1 6
3 5 7
4 9 2
eye(m,n)
产生 m×n
的单位矩
阵
eye(3)
ans =
1 0 0
0 1 0
0 0 1
注意:
剩余46页未读,继续阅读
资源评论
黑色的迷迭香
- 粉丝: 722
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功