MATLAB数值计算..doc
文本预览下载声明
MATLAB数值计算
MATLAB的数学计算=数值计算+符号计算
其中符号计算是指使用未定义的符号变量进行运算,而数值计算不允许使用未定义的变量。
2.1 变量和数据
2.1.1数据类型
数据类型包括:数值型、字符串型、元胞型、结构型等
数值型=双精度型、单精度型和整数类
整数类=无符号类(uint8、uint16、uint32、uint64)和符号类整数(int8、int16、int32、int64)。
2.1.2数据
1. 数据的表达方式
可以用带小数点的形式直接表示
用科学计数法
数值的表示范围是10-309~10309。
以下都是合法的数据表示:
-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的幅值;
复数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省略或step0而from
显示全部