MATLAB复习笔记——第二章,MATLAB数据及其运算

一、数据类型

  1. 矩阵是MATLAB最基本的数据对象形式。
  2. 单精度型实数占4个字节,双精度型实数占8个字节,在MATLAB中,数据类型默认为双精度。
  3. single函数可以将其他类型的数据转换为单精度,double函数可以将任意类型的数据转换为双精度。
  4. 在MATLAB中,虚数单位用i或j表示,6+5i和6+5j表示的是同一份复数。
  5. 用class函数可以获取某个数据的数据类型。
  6. 数据输出时,可以用format命令设置数据输出格式。
    格式为 format 格式符
    format命令只影响数据的输出格式,不影响数据的计算和存储。
    short 输出小数点后四位,最多不超过七位有效数字,对于大于1000的实数,用5位有效数字的科学计数形式输出
    long 15位有效数字形输出
    short e 5位有效数字的科学记数形式输出
    long e 15位有效数字的科学记数形式输出
    short g 从short和short e中自动选择最佳输出方式
    long g 从long和long e中自动选择最佳输出方式
    rat 近似有理数表示
    hex 十六进制表示
    正数 负数 零 分别用+、-、空格表示
    bank 银行格式,用元角分表示
    compact 输出变量之间没有空行
    loose 输出变量之间有空行
  7. 如果format命令后面不加格式符,则回到默认输出格式,默认的输出格式是short格式。
  8. hex格式输出单精度或双精度浮点数:
    单精度浮点数(内存中占32个二进制位,第一位为符号位(0表示正数,1表示负数),8位为指数部分(2的多少次幂,存储时加上127),23位为尾数部分.
    单精度浮点数先转换为二进制的科学计数法形式,再按上述法则,得到一个32位的二进制数,最后将二进制数转换为16进制的数。(双精度浮点数的转换同样如此,位数不同罢了)

二、建立矩阵
9. 最简单的矩阵建立方法,将矩阵的元素用中括号括起来,按矩阵行的顺序输入各元素,同一行的各元素之间用逗号或者空格隔开,不同行的元素用分号隔开。
10. 可用已经建立好的矩阵建立更大的矩阵。
11. 还可以利用实部和虚部构建复数矩阵

  1. 冒号表达式,可利用冒号表达式产生行向量 格式 e1:e2:e3(输出包含初始值和终止值)
    其中e1表示初始值 e2表示步长 e3表示终止值
    若e2不写则表示步长为1
  2. Linspace函数产生行向量 格式 linspace(a,b,n)
  3. 其中a和b是生成向量的第一个和最后一个元素,n是总数,该函数与冒号表达式可以相互转换。即a:(a-b)/(n-1):b等价于linspace(a,b,n)

三、矩阵元素的引用
15. 如果给出额行下标或列下标大于原来给出的矩阵的行数和列数,则matlab将自动扩展原来的矩阵,并将扩展后的未赋值的矩阵元素置为零。

  1. 在matlab中,矩阵元素按列存储,即先存储第一列,再存第二列············· · · · · · 再到最后一列。
  2. 矩阵A(i,j)的序号为(j-1)*m+i
  3. sub2ind函数将矩阵中指定元素的行、列下标转换为存储的序号
    格式为 D=sub2ind(S,I,J)
    S表示要转换矩阵的行数和列数,通常用size函数获取,I、J分别表示要转换的矩阵的行下标和列下标
    如:

A=[1:3;4:6];
D=sub2ind(size(A),[1,2;2,2],[1,1;3,2])
D=
1 2
6 4

  1. Ind2sub函数用于吧矩阵元素的行数和列数转换成对应的下标
    格式 (I,J)=ind2sub(S,D)

  2. 求矩阵大小有关的的函数
    size 求矩阵的大小,几行几列
    length 求矩阵的最长维的长度
    numel 求矩阵的个数
    ndims 给出矩阵的维数

  3. 利用冒号表达式获得子矩阵
    A(i,:)表示A矩阵的第i行的全部元素
    A(I:i+m,k:k+m)表示第i行到i+i+m行,第k列到k+m列的所有元素
    A(:,j) 表示A矩阵的第i列的全部元素
    A( : ) 表示A矩阵的每一列元素堆叠起来,形成一个包含A矩阵全部元素的列向量
    此外,还可以用一般向量和end运算符来表示矩阵下标,从而获得子矩阵,end表示某一维的末尾元素的下标。

  4. 空矩阵,指矩阵中没有任何元素的矩阵,如X=[ ]

  5. 将某些元素删除时可采用将其置为空矩阵的方法。
    %空赋值只能有一个非冒号索引!

  6. reshape(A,m,n)函数再矩阵总元素保持不变的前提下,将矩阵A重新排列成m*n的二维矩阵。reshape函数只改变原矩阵的行数和列数,不改变原矩阵的个数和存储顺序。
    四、变量及其操作。

  7. 变量名是以字母开头,后接数字,字母或者下划线的字符序列,最多63个字符。

  8. matlab赋值语句有两种形式①变量=表达式;②表达式

  9. 如果在语句末尾加分号,则仅仅执行赋值操作,而不会显示运算的结果。

  10. 常用的预定义变量
    Ans 计算结果的默认赋值变量
    Eps 机器零阈值
    Pi 圆周率Π的近似值
    I,j 虚数单位
    Inf,inf 无穷大,如1/0的结果
    NaN,nan 非数,如0/0,inf/inf的结果
    Nargin 函数输入参数个数… …

  11. 注:尽量不要使用i,j为变量名例:

i=4;
x=6+5i;
x
%输出x=6.0000+5.0000i
y=6+5*i;
y
%输出y=26

  1. clear 命令用于删除matlab工作空间中的变量。Who和whos这两个命令用于显示在matlab工作空间中已经驻留的变量名清单。31. 常用的数学函数变量名P31
  2. 矩阵的超越函数:直接作用与矩阵的超越函数(对整个矩阵的运算),这些函数名都在上述内部函数名之后缀以m,并规定输入参数A必须是方阵。
  3. 矩阵除法,A\B等效于A的逆左乘B矩阵,B/A等效于B左乘A的逆,求矩阵的逆的函数为inv()。对于矩阵的运算,一般来说,A\B!=B/A。
  4. 点运算:点运算符有.*、./、.\、.^,两矩阵进行点运算是指对他们的对应元素进行相关运算。要求两矩阵同型才能进行。注: a=2./A a=2/A %报错,一个数除以一个矩阵必须用点运算。
  5. 关系运算符:gt <=le >=ge ==eq ~=(不等于)ne (后面的字母表示对应运算的函数。)
    运算法则
    ① 当两个比较量是标量的时候,直接比较大小,若关系式成立,关系式表达结果为1,否则为0.
    ② 当参与比较的是两个同型的矩阵时,比较的是两个矩阵同位置上的元素,最终关系运算的结果是一个与原矩阵同型的矩阵,他的元素由0 ,1组成。
    ③ 当一个是标量,一个是矩阵时,将这个标量逐一与矩阵的每一个元素进行关系运算,最终关系运算的结果是一个与原矩阵同型的矩阵,他的元素由0 ,1组成。
  6. 关系运算函数P38 其中一个find函数,找出向量或矩阵中非零元素的位置。
  7. 逻辑运算P38,或、与、非
    运算等级:算术运算>关系运算>逻辑运算
  8. 字符串是用单引号括起来的字符序列,若字符串中的字符含有单引号,则该单引号要用两个单引号表示。
  9. abs和double函数都可以用来获取字符串所对应的ASCII码数值矩阵值。Char函数可以把ASCII码阵转换成字符串矩阵。
  10. 字符串的连接、查找、替换P41.
  11. 结构矩阵的建立
    结构矩阵元素.成员名=表达式
    如,a(1).x1=10
    引用结构矩阵元素的成员名时,显示其值,引用结构矩阵元素时,显示成员名和他的值,但成员是矩阵的时候,不显示具体内容,只显示成员矩阵的大小参数。引用结构矩阵的时候,只显示矩阵的大小和参数。
  12. rmfield函数可以用来删除结构的成员。
    给a添加一个成员,a(1).x4=’1223’,一个元素添加成员时,其他元素也添加了对应的成员,只不过成员是空的。
    删除结构的成员,a=refiled(a,’x4’)
  13. 单元数据:单元数据与结构数据类似,也是把不同属性数据放在一个变量中,不同的是结构矩阵的各个元素下有成员,每个成员有自己的名字,单元矩阵的各个不同的元素就是不同类型的数据类型,用带有大括号下标的形式引用单元矩阵元素。
    建立单元矩阵和一般矩阵类似,只是矩阵元素用大括号括起来。
  14. 引用单元矩阵的元素,大括号和圆括号的的区别具体内容P44
  15. celldisp函数可以用来显示整个单元矩阵的全部内容

b(3)=[ ] %删除b的第三个元素,删除后整个单位矩阵变成了行向量。
b{3}=[ ] %使第三个元素为空,而不是删除的意思。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值