编辑: QQ215851406 | 2018-10-08 |
第三章 在MATLAB 中不必对矩阵维数做任何说明 存储 将自动配置 在直接输入矩阵时 矩阵元素用空格或逗号分隔 矩阵行用 隔离 整个矩阵放在方括号 [ ] 里 [例 1] A=[1,2,3;
4,5,6;
7,8,9;
10,11,12] A =
1 2
3 4
5 6
7 8
9 10
11 12 说明 指令执行后 矩阵 A 被保存在 MATLAB 的工作间 Workspace 中以备后用 如果用户不用 clear 指令清除它 或对它重新定义 该矩阵会一直保存 在工作间中 直到本 MATLAB 指令窗被关闭为止 [例2]矩阵分行输入 A=[1
2 3
4 5
6 7
8 0
1 2 3] A =
1 2
3 4
5 6
7 8 南京航空航天大学 王正盛
4 0
1 2
3 [例3]矩阵元素输入 B(1,2)=3;
B(4,4)=6;
B(4,2)=11 B =
0 3
0 0
0 0
0 0
0 0
0 0
0 11
0 6 2.3 语句与变量 MATLAB 采用表达式语句 用户输入语句由 MATLAB 系统结实运行 MATLAB 语句有两种常见的形式
1 表达式
2 变量=表达式 说明
1 表达式由算符 函数 变量名和数字构成
2 在第一种形式中 表达式被执行后产生的矩阵 将被自动赋 给名为 ans 的变量 并 显示在屏幕上 ans 是一个缺省变量 名 它会被以后类似的操作刷新
3 在第二种形式中 等号右边的表达式是被演绎后产生的矩 阵 将被赋给等号左边的变量存入内存 并显示在屏幕上
4 书写表达式时 运算符号 = + 以及 * 等两侧允许有空格 以增加可读性 但在复数或符号表达式中 要 尽量避免 装饰性 空格 以防出错
5 变量名 函数名以一个字母打头 后面最多可接
19 个字母或 数字 注意 MATLAB 是区分字母的大小写的 [例1] 表达式的计算结果 2001/81 ans = 24.7037 [例2]运算结果的赋值 s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8;
说明 结尾的分号 作用是 指令执行结果将不会显示在屏幕上 但变量 s 仍将驻留在内存中 如想看 s 的值 只要键入 s s = 0.6345 2.4 Who Whos 和永久变量 Who 和Whos 这两个指令的作用都是列出在 MATLAB 工作间中已经驻 留的变量名清单 不过 Whos 在给出变量名的同时 还给出它们的维数及性 质 [例1]用who 检查内存变量 who Your variables are: s [例2]用whos 检查驻留变量的详细情况 whos Name Size Bytes Class s 1x1
8 double array Grand total is
1 elements using
8 bytes 南京航空航天大学 王正盛
5 在MATLAB 工作内存中 还驻留几个由系统本身在启动时定义的变量 如下 表 称为 永久变量 Permanent variables 或称为 预定义变量 Predefined variables 系统预定义的变量 eps 计算机的最小正数 在pc 机上 它等于
52 2? pi 圆周率π 的近似值 3.14159265358979 inf 或Inf 无穷大 NaN 不定量 i,j 虚数单位 定义
1 ? = = j i flops 浮点运算次数 用于统计计算量 说明
1 它们是在 MATLAB 启动时自定义的
2 它们不会被 清除内存变量 指令 clear 所清除
3 他们可以重新定义为其他值 但用 clear 可清除重定义值 恢复预定义 值 [例1] 无穷大 s=1/0 Warning: Divide by zero. s = Inf 无穷大 a=Inf/inf a = NaN 2.5 数与表达式 MATLAB 的数值采用习惯的十进制表示 可以带小数点或负号 如下 是合法的
3 -99 0.0013 9.2445154 1.2434e-6 4.673e33 在采用 IEEE 浮点算法的计算机上 数值的相对精度是 eps 即大约保持
16 位 有效数字 数值范围大致为
308 308
10 1
10 1 * * ? ~ 表达式由下列算符构成 并按习惯的优先次序进行运算 + 加法 减法 * 乘法 / 右除 \ 左除 ^ 乘方 注意 设置两种除法是为了方便矩阵的运算 对标量而言两者作用相同 [例1] x=2*pi/3+2^3/5-0.3e-3 x = 3.6941 2.6 复数和复矩阵 MATLAB 认识复数 并定义 i 和j作为虚数单位 矩阵元素允许是复数 复 变量和由它们组成的表达式 南京航空航天大学 王正盛