当前位置:文档之家› 2MATLAB数据及其运算

2MATLAB数据及其运算


部分常用的预定义变量及其含义
ans eps 命令窗最近一次命令的结果 机器的浮点误差限 2.2204e016
i和j inf NaN
pi
纯单位虚数 无穷大 不定式,如0/0
圆周率的双精度浮点表示 3.1416
lasterr
lastwarn
最新一次的错误信息
最新一次的警告信息
内存变量的显示
who和whos这两个命令用于显示在 MATLAB工作空间中已经驻留的变量名清 单。who命令只显示出驻留变量的名称,

my_var、myvar12、nu_ 12nu、_kk12 NU、nu、Nu
(√) (×)
Matlab提供的标准函数名以及命令名均为小写字母.如inv(A),而非 Inv(A)或INV(A) 注:基本变量类型为矩阵,不用定义维数
赋值语句
1. 直接赋值语句: 变量=表达式
例: a=5 2. 函数调用语句: 表达式([返回变量列表] = 函数名(输入变量 列表)) 其中表达式是用运算符将有关运算量连接起来的式子,其结果 是一个矩阵。
对于较大矩阵的输入,可采用变量编辑器
在命令窗口中向一个新变量赋空矩阵 A=[]; 在工作空间窗口中打开该变量
在变量编辑窗口中出现空白表格。表格的每 一个方格对应矩阵的一个元素,在方格中填 写元素值。
内存变量文件
利用MAT文件可以把当前MATLAB工作空间中的一些有用变 量长久地保留下来,扩展名是.mat。MAT文件的生成和装入由save 和load命令来完成。常用格式为: save 文件名 [变量名表] [-append][-ascii] load 文件名 [变量名表] [-ascii] 其中,文件名可以带路径,但不需带扩展名.mat,命令隐含一 定对.mat文件进行操作。变量名表中的变量个数不限,只要内存或 文件中存在即可,变量名之间以空格分隔。当变量名表省略时,保 存或装入全部变量。-ascii选项使文件以ASCII格式处理,省略该选 项时文件将以二进制格式处理。save命令中的-append选项控制将 变量追加到MAT文件中。
6 10
1
2
3
4
5
>> cc=[c,2*c,[1;3;5;7;9]] cc = 1 2 1
3
6
3
5 7
6 12 9 18
3
6
9
最简单的建立矩阵的方法是从键盘直接输入 矩阵的元素。具体方法如下:将矩阵的元素 用方括号括起来,按矩阵行的顺序输入各元
素,同一行的各元素之间用空格或逗号分隔, 不同行的元素之间用分号分隔。
int8
int16 int32
signed 8-bit integer.
signed 16-bit integer. signed 32-bit integer.
2.2 变量及其操作
变量与赋值
在MATLAB 7.0中,变量名是以字母开头,后接字母、数字或下划线
的字符序列,最多63个字符。在MATLAB中,变量名区分字母的大 小写。
在一般情况下,MATLAB内部每一个数据元素都是用
双精度数来表示和存储的。数据输出时用户可以用format 命令设置或改变数据输出格式。format命令的格式为: format 格式符 其中格式符决定数据的输出格式
注:format只影响数据输出格式,而不影响数据的 计算和存储。
格式符
short long short e long e short g long g rat hex
变量。相应地,通过File菜单中的Import Data命令可 以将保存在MAT文件中的变量装入到MATLAB工作空 间。
数据的输出格式
MATLAB用十进制数表示一个常数,具体可采用日常
记数法和科学记数法两种表示方法。
3.14159、-9.359i、3+5i或 1.78029e2、6.732E2i、1234e-3-5i
Grand total is 13 elements using 80 bytes
内存变量的删除与修改
Clear命令可用于删除MATLAB工作空间中的变量。 注意:预定义变量不能被删除 MATLAB工作空间窗口专门用于内存变量的管理。 在工作空间窗口中可以显示所有内存变量的属性。 当选中某些变量后,再单击Delete按钮,就能删除 这些变量。当选中某些变量后,再单击Open Selection按钮,将进入变量编辑器。通过变量编辑 器可以直接观察变量中的具体元素,也可修改变量 中的具体元素。
+
bank compact loose
正数、负数、零分别用+、-、空格表示
银行格式,元、角、分表示 输出变量之间没有空行 输出变量之间有空行
如果输出矩阵的每个元素都是纯整数,MATLAB就用不加小数点的 纯整数格式显示结果。只要矩阵中有一个元素不是纯整数, MATLAB将按当前的输出格式显示计算结果。默认的输出格式是 short格式。
若对i很隐蔽的错误。例如,由于习惯的原因,程序中通常使用i,j作
为循环变量,这时如果有复数去处就会导致错误,因此,不要使用 i,j作为循环变量名,除非确认在程序的作用域内不会和复数打交道; 或者使用像4+3i这样的复数记法,而不是4+3*i。也可以在使用i作 为循环变量时,换用j表示复数。
例:
save myvar a b load myvar load D:\work\myvar 除了操作命令外,通过MATLAB命令窗口File菜单中的 Save Workspace As命令可以保存工作空间中的全部 %存放到当前目录
save D:\work\myvar a b %存放到D:\work目录下
“假”。
MATLAB 基本数据类型
char cell character array (string). cell array.
struct
single uint8 uint16 uint32
structure array
single precision unsigned 8-bit integer unsigned 16-bit integer. unsigned 32-bit integer.
2.3 MATLAB矩阵的表示
在 MATLAB 中表示矩阵是非
常方便灵活的,如输入矩阵 在 MATLAB 命令窗中输入
下面语句: >> a=[1 2 3;4 5 6;7 8 9] a=
1 2 3 4 5 6 7 8 9
左边语句在工作区中建立了变量
a ,语句的末尾没有分号,显示 结果,否则不显示结果,如下面
>>x=linspace(1,9,5)
x=?
矩阵元素
设矩阵 a 为
>> a=magic(3) a=8 1 6
访问矩阵的某一个元素
(第二行第三列)
>> a(2,3) ans = 7
a= 8 3 4 0 1 5 9 0 6 7 2 0 0 0 0 0 0 0 0 10
其中pi和i都是MATLAB预先定义的变量,分别代表
代表圆周率π和虚数单位。
输出结果是:
z= -0.3488 + 0.3286i
例2-2 计算表达式 的值,并将结果赋给 变量x,然后显示计算结果。
在MATLAB命令窗口输入命令:
5 cos 47 1 7 2i
x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i)
种运算定义在复数域上。向量和单个数据都可以作为矩阵的 特例来处理。

数值数据:双精度型(8)、单精度数(4)、带符号整数和无符
号整数,int8,int16,uint8,uint16,uint32。 字符数据:char()。

结构体(Structure)和单元(Cell)数据类型。
稀疏矩阵(Sparse)。 逻辑型数据。以数值1(非零)表示“真”,以数值0表示
1
4 7
2
5 8
3
6 9
语句 >> a=[1 2 3;4 5 6;7 8 9];
>>
下面语句输入行向量和列向量
>> b=[3 5 2 4 7]
由已知矩阵获得新的矩阵
>> bb=[b;2*b;1 2 3 4 5]
bb = 3 5 4 2 4 8 14 7
b=
3 c= 1 3 6 9 3 5 2 4 7 >> c=[1;3;6;9;3]
含义
输出小数点4位,最多不超过7位有效数字,对大于1000的实 数用5位有效数字的科学记数形式输出 15位有效数字形式输出 5位有效数字的科学记数形式输出 15位有效数字的科学记数形式输出 从short和short e中自动选择最佳输出方式 从long和long e中自动选择最佳输出方式 近似有理数表示 十六进制表示
其中pi和i都是MATLAB预先定义的变量,分别代表代表圆
周率π和虚数单位。
输出结果为: x= 1.1980+0.6572i
预定义变量
在MATLAB工作空间中,还驻留几个由系统本身定义的变量。 例如,用pi表示圆周率π的近似值,用i,j表示虚数单位。 预定义变量有特定的含义,在使用时,应尽量避免对这些变 量重新赋值。
0 2.0000 + 1.0000i
利用M文件建立矩阵
对于比较大且比较复杂的矩阵,可以为它专门建立一个
M文件。
例2.2 利用M文件建立MYMAT矩阵。 (1) 启动有关编辑程序或MATLAB文本编辑器,并输入
待建矩阵: (2) 把输入的内容以纯文本方式存盘(设文件名为 mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix,即运行该M 文件,就会自动建立一个名为MYMAT的矩阵,可供以 后使用。
相关主题