常用命令
dir: 列出当前目录下的所有文件
clc: 清除命令窗
clear all: 清除环境(从内存中清除所有变量)
who: 将内存中的当前变量以简单形式列出
close all: 关闭所有的 Figure 窗口
变量设置
(1). 变量命名
MATLAB 的变量名以字母打头, 后最多可跟 19 个字母或数字, 如 x,y,ae3 和 d3er45 等都是合法的变量名, 不能使用内部函数或命令名作为变量名.
MATLAB 中的变量名区分大小, ab 与 Ab 表示两个不同的变量.
(2). 变量赋值
l 表达式赋值
- >>a=(100*0.02)/4.0
- a=0.0500
l 矩阵赋值
数值通常按行输入, 行之间用分号隔开.
>> C=[-1,0,0;1,-1,0;0,0,2];(省略最后的分号, MATLAB 会回显矩阵值)
l 通过引用特定的位置可以单独改变某个矩阵元素
如 S=[5, 6, 4], 用命令 S(2)=8 把矩阵 S 的第二个元素值由 6 改成 8.
l 可以引用已定义的矩阵, 重新定义一个新矩阵.
如 S=[5,6,4], 可定义一个新矩阵.
- >>B=[3 S 2]
- B=35642
整数操作
l fix(x): 截尾取整
- >> fix( [3.12 -3.12])
- ans =3 -3
l floor(x): 不超过 x 的最大整数(高斯取整)
- >> floor( [3.12 -3.12])
- ans =3 -4
l ceil(x) : 大于 x 的最小整数
- >> ceil( [3.12 -3.12])
- ans =4 -3
随机序列常用命令
l rand: 均匀分布随机矩阵
rand % 无变量输入时只产生一个随机数
y= rand(n) % 生成 n*n 随机矩阵, 其元素在 (0,1) 内
y = rand(m,n) % 生成 m*n 随机矩阵, 其元素在 (0,1) 内
例 1.1: 产生一个 3*4 随机矩阵, MATLAB 命令为: R=rand(3,4)
l randn: 正态分布随机矩阵
randn % 无变量输入时只产生一个正态分布随机数
y = randn(n) % 生成 n*n 正态分布随机矩阵
y = randn(m,n) % 生成 m*n 正态分布随机矩阵
例 1.2: 产生均值为 0.6, 方差为 0.1 的 4 阶矩阵
MATLAB 命令为:>> mu=0.6;sigma=0.1;>> x=mu+sqrt(sigma)*randn(4).
l randsrc: 产生均匀分布数组
randsrc % 无变量输入时只产生一个随机数 1 或者 - 1
y= randsrc(n) % 生成 n*n 随机数组, 其元素为 1 或者 - 1
y = randsrc(m,n) % 生成 m*n 随机数组, 其元素为 1 或者 - 1
例 1.3: 产生一个 2*3 随机矩阵, MATLAB 命令为: R=randsrc(2,3)
矩阵常用操作命令
MATLAB 的基本单位是矩阵, 掌握矩阵的输入, 各种数值运算以及矩阵函
数是学好 MATLAB 的关键.
(1). 矩阵的输入
l 直接输入创建矩阵
以 "[" 和 "]" 作为首尾, 同行的元素用 "," 或空格隔开, 不同行的元素用 ";" 或按 Enter 键来分隔; 矩阵的元素可以是数字也可以是表达式, 如果是数值计算, 表达式中不可包含未知变量.
l 用矩阵函数来生成矩阵
MATLAB 提供了大量的函数来创建特殊矩阵, 表 1.1 给出 MATLAB 常用的矩阵函数.
(2). 操作符 ":" 的说明
j:k 表示步长为 1 的等差数列构成的数组:[j, j+1, j+2,..., k].
j:i:k 表示步长为 i 的等差数列构成的数组:[j,j+i,j+2*i,..., k].
A(i:j)表示 A(i),A(i+1),...,A(j).
(3). 对矩阵元素的操作
设 A 是一个矩阵, 则在 MATLAB 中用如下符号表示它的元素:
A(i,j)表示矩阵 A 的第 i 行第 j 列元素.
A(:,j)表示矩阵 A 的第 j 列.
A(i,:)表示矩阵 A 的第 i 行.
A(:,:)表示 A 的所有元素构造 2 维矩阵
A(:)表示以矩阵 A 的所有元素按列构成的一个列矩阵.
A(i)表示矩阵 A(:)的第 i 个元素.
[]表示空矩阵.
(4). 矩阵的运算
(5). 数组
在 MATLAB 中数组是一行或者一列的矩阵, 对矩阵输入, 修改和保存都适用于数组, 同时 MATLAB 还提供了一些创建数组的特殊指令.
l 特殊数组的创建
linspace(a,b,n) 给出区间 [a,b] 的 n 个等分点数据
例 1.7: 给出区间[0,1] 的 6 个等分点数据.
MATLAB 命令为:>> linspace(0,1,6)
l 数组运算
位操作
l bitand: 按位与
C=bitand(A,B)命令将返回两个非负整数数组 A 和 B 的相应元素按位与操作的结果. 为了确保 A 和 B 的元素都是整数, 可以使用 ceil,fix,floor 和 round 函数来生成 A 和 B.
例 1.9:>>C=bitand(1,2)
结果为: C=0
l bitor: 按位或
C=bitor(A,B)命令将返回两个非负整数数组 A 和 B 的相应元素按位或操作的结果. 为了确保 A 和 B 的元素都是整数, 可以使用 ceil,fix,floor 和 round 函数来生成 A 和 B.
例 1.10:>>C=bitor(1,2)
结果为: C=3
l bitxor: 按位异或
C=bitxor(A,B)返回两个非负整数数组 A 和 B 的相应元素进行按位异或的结果, 为了确保 A 和 B 的元素都是整数, 可以使用 ceil,fix,floor 和 round 函数来生成 A 和 B.
例 1.11:>>C=bitxor(1,2)
结果为: C=3
l bitset: 设置指定位的值
C=bitset(A,bit,v)命令将 A 中元素第 bit 位设为 v, 其中 v 必须为 0 或 1,A 中的元素必须为非负整数, bit 必须为 1 到 A 中元素浮点整数表示法的位数之间的一个数字.
例 1.12:>>C=bitset(1,2,1)
结果为: C=3
l bitget: 获取指定位的值
C=bitget(A,bit)命令将返回 A 中元素用 bit 指定位的值, A 中的元素必须为非负整数, bit 必须为 1 到 A 中元素浮点整数表示法位数之间的一个数字.
例 1.12:
>>C=bitget(1,2)
结果为: C= 0
绘图操作
(1)图形标注
title('string','属性名','属性值',...) -- 给图形加标题
xlabel ('string','属性名','属性值',...) -- 给 x 轴加标注
ylabel ('string','属性名','属性值',...) -- 给 y 轴加标注
legend ('string1','string2',...)-- 添加图例, 其顺序对应于绘图指令中的顺序
axis ([xmin,xmax,ymin,ymax])-- 控制坐标轴的刻度范围
(2)二维图形
l plot(x,y)
功能: 以向量 x,y 为轴, 绘制曲线.
注: plot(x,y)命令可用来绘制函数 f(x)图形, 此时可通过向量 x 常用命令 x=a:h:b 的形式获得 f(x)函数在绘图区间 [a,b] 上的自变量点向量数据, 对应的函数向量值取为 y= f(x). 步长 h 可以任意选取, 一般步长越小, 曲线越光滑, 但是步长太小, 会增加计算量, 运算速度也要降低. 通常步长 h 取值 0.1 可达到较好的绘图效果.
l plot(x1,y1,x2,y2,x3,y3...)
功能: 在同一图形窗口绘制多条不同颜色曲线, 曲线关系为
y1=f(x1),y2=f(x2),y3=f(x3)
(3)二维特殊图形
l bar
例 1.15:
- >> x=1:5;
- >> bar(x),title('直方图')
l Hist 表示生成直方图
M=hist(N)表示将 N 中的最大最小值找出来, 然后, 平均取十个等间隔点, 看以每个间隔点为中心, 向两边各扩展 1/2 间隔的范围内, 包括 N 的元素个数, 因此 M 返回值都是 1*10 大小.
例 1.16:>> b1=[0,1,2,3,4,5,6,7,8,9];b2=[4,5,7];
- >>M=hist(b2)
- >>M=hist(b1)
文件操作
(1)fopen 打开文件
fopen 函数的调用格式为: fid= fopen(文件名, 打开方式)
其中文件名用字符串形式, 表示待打开的数据文件. 常见的打开方式有:'r'表示对打开的文件读数据,'w'表示对打开的文件写数据,'a'表示在打开的文件末尾添加数据. fid 用于存储文件句柄值, 句柄值用来标识该数据文件, 其他函数可利用它对该数据文件进行操作. 文件数据格式有两种形式, 一种是二进制文件, 另一种是文本文件. 在打开文件时需要进一步指定文件格式类型, 即指定是二进制文件还是文本文件.
(2)fclose 关闭文件
文件读, 写等操作完成后, 应及时关闭. 关闭文件用 fclose 函数, 调用格式为: sta=fclose(fid), 该函数关闭 fid 所表示的文件. sta 表示关闭文件操作的返回代码, 若关闭成功, 返回 0, 否则返回 - 1.
(3) 二进制文件的读写操作
l fread 读二进制文件
fread 函数可以读取二进制文件的数据, 并将数据存入矩阵. 其调用格式为:[A,COUNT]=fread(fid,size, precision).
其中 A 用于存放读取的数据, COUNT 返回所读取的数据元素个数. fid 为文件句柄, size 为可选项, 若不选用则表示读取整个文件内容, 若选用则它的值可为以下选项: N 表示读取 N 个元素到一个列向量; Inf 表示读取整个文件;[M,N]表示读数据到 M*N 的矩阵中, 数据按列存放. precision 代表读写数据的类型.
l fwrite 写二进制文件
fwrite 函数按照指定的数据类型将矩阵中的元素写入到文件中. 其调用格式为: COUNT=fwrite (fid, A, precision), 其中 COUNT 返回所写的数据元素个数, fid 为文件句柄, A 用来存放写入文件的数据, precision 用于控制所写数据的类型, 其形式与 fread 函数相同.
M 文件的建立与使用
M 文件有命令文件和函数文件两种形式, 这两种文件的扩展名相同, 都是. m. 当用户要运行的命令较多时, 直接从键盘上逐条输入较为繁琐, 可利用命令文件来解决多行输入问题. 用户可将一组相关命令编辑在同一个命令文件中, 运行时只需输入文件名字, MATLAB 就会自动按顺序执行文件中的命令. 函数文件是另一种形式的 M 文件, 它的第一句可执行语句是以 function 引导的定义语句, 在函数文件中的变量都是局部变量.
(1)命令文件
命令文件的一般形式为:<M 文件名>.m 如 a1.m, pp.m 等都是合法的 M 文件名. M 文件有两种运行方式: 一是在命令窗口直接输入文件名, 按 Enter 键; 二是在编辑窗口打开菜单 Tools, 再单击 Run.M 文件保存的路径一定要在搜索路径上, 否则 M 文件不能运行.
例 1.17: 用 M 命令文件绘制 lena.bmp 图像.
(2)函数文件
M 函数文件的一般形式为: function <因变量>=<函数名>(<自变量>)
M 函数文件可以有多个因变量和多个自变量, 当有多个因变量时用 [] 括起来.
来源: https://www.cnblogs.com/qftm/p/11509678.html