matlab画函数图像[附常用命令基础学习]

Matlab是广泛使用的一种可视化科学计算软件,它具有语法结构简单、数值计算高效、图形功能完备和图像处理方便的特点,是信号处理和信息隐藏处理中使用最多的软件

一、 常用命令

1.1 dir:列出当前目录下的所有文件。

1.2 clc:清除命令窗口。

1.3 clear all:清除环境(从内存中清除所有变量)。

1.4 who:将内存中的当前变量以简单形式列出。

1.5 close all:关闭所有的Figure窗口。

二、 变量设置

2.1 变量命名。Matlab的变量名以字母打头,后面最多可跟19个字母或数字,如x、y、xy3和xy3a2等都是合法的变量名,不能使用内部函数或命令名作为变量名,变量名区分大小写。

2.2 表达式赋值。如图所示

c2668c063c62457bb7058d691b5c6f10

2.3 矩阵赋值,数值按行输入,行之间用分号隔开。如图所示

c132f2ec34db4767ab1c2d91812c9159

2.4 通过引用特定的位置可以单独改变某个矩阵元素,如S = [5,6,4],用命令S(2)=8把矩阵S的第二个元素值由6改成8。如图所示

cef998794e934458b59b5b0b865f0546

2.5 可以引用一个已定义的矩阵,重新定义一个新矩阵。如图所示

c1a02f64cf8e48e9a5108de9a3a6aee7

三、 整数操作

3.1 fix(x):截尾取整。如图所示

9117e58f71d2412597956ec582e32b8a

3.2 floor(x):不超过x的最大整数(高斯取整)。如图所示

7f0a3a3d0b184b6eb93f79b8180fc096

3.3 ceil(x):大于x的最小整数。如图所示

dd4e78ebbeb84ce891033caf7f832376

四、 随机序列常用命令

4.1 rand:均匀分布随机矩阵,无变量输入时只产生一个随机数。y = rand(n):生成n * n随机矩阵,其元素在(0,1)内。y = rand(m,n):生成m * n随机矩阵,其元素在(0,1)内。如图所示

a66ff347a2034429ac2a28751889d13e

4.2 randn:正态分布随机矩阵,无变量输入时只产生一个正态分布随机数。y = randn(n):生成n*n正太分布随机矩阵。y = randn(m,n):生成m * n正太分布随机矩阵。如图所示

c9a03ee8461c4fbb88dd845b45d3cefb

4.3 randsrc:产生均匀分布数组,无变量输入时只产生一个随机数1或者-1。y = randsrc(n):生成n * n随机数组,其元素为1或者-1。y = randsrc(m,n):生成m * n随机数组,其元素为1或者-1。如图所示

57ec623f628243d8aec8500532697ad6

五、 矩阵常用操作命令

5.1 直接输入创建矩阵。以“[”和“]”作为首尾,同行的元素用“,”或空格隔开,不同行的元素用“;”来分隔。矩阵的元素可以是数字也可以是表达式,如果是数值计算,表达式中不可包含未知变量。如图所示

a1e586e8a32549158ad3f9cc65fa70d9

5.2 用矩阵函数来生成矩阵。zeros(m,n):m行n列零矩阵。eye(n):n阶方矩阵。ones(m,n):m行n列元素为1的矩阵。magic(n):n阶魔方矩阵。rand(m,n):m行n列随机矩阵。randn(m,n):m行n列正态随机矩阵。如图所示

93aeb4ae2d374386b8b11e6689733f33

5.3 操作符“:”。“j:k”表示步长为1的等差数列构成的数组:[j,j+1,j+2,···,k]。“j:i:k”表示步长为i的等差数列构成的数组:[j,j+i,j+2i,···,k]。“A(i:j)”表示A(i),A(i+1),···,A(j)。

5.4 矩阵元素。A(i,j)表示矩阵A的第i行第j列元素,A(:,j)表示矩阵A的第j列,A(i,:)表示矩阵A的第i行,A(:,:)表示A的所有元素构造的2维矩阵,A(:)表示以矩阵A的所有元素按列构成的一个列矩阵,A(i)表示矩阵A(:)的第i个元素。[ ]表示空矩阵。

5.5 矩阵运算。A + B:矩阵加法,A – B:矩阵减法,A * B:矩阵乘法,A':A的转置,k * A:数k乘以A,det(A):A的行列式,rank(A):A的秩。

5.6 特殊数组:linspace(a,b,n),给出区间[a,b]的n个等分点数据。如图所示

2540a611e49e4933a8e837322022c381

5.7 数组运算:乘法为“.*”,乘幂为“.^”。如图所示

49d970adeae14f9da028be4713a6c633

三、 位操作

3.1 bitand:按位与。C = bitand(A,B)命令将返回两个非负整数数组A和B的相应元素按位与操作的结果。为了确保A和B的元素都是整数,可以使用ceil、fix、floor或round函数来生成A和B。如图所示

86cfe0370ad042d4bf1e895e7c87c2e0

3.2 bitor:按位或。C = bitor(A,B)命令将返回两个非负整数数组A和B的相应元素按位或操作的结果。如图所示

1a81a4e6cc384049bd67fa5a29ef30f4

3.3 bitxor:按位异或。C = bitxor(A,B)返回两个非负整数数组A和B的相应元素进行按位异或的结果。如图所示

e7cd6e4ac60546bb8ba2ec50bbea5188

3.4 bitset:设置指定位的值。C = bitset(A,bit,v)命令将A中元素第bit位设为v,其中v必须为0或1,A中的元素必须为非负整数,bit必须为1~A中元素浮点整数表示法位数之间的一个数字。如图所示

4a27fe0a2e7b467fa8f362658b8f498b

3.5 bitget:获取指定位的值。C = bitget(A,bit)命令将返回A中元素第bit指定位的值,A中的元素必须为非负整数,bit必须为1~A中元素浮点整数表示法位数之间的一个数字。如图所示

b8f4c7452cb4441ba30f009ae71feffb

四、 绘图操作

4.1 图形标注。title('string','属性名','属性值',···)—给图形加标题,xlabel('string','属性名','属性值',···)—给x轴加标注,ylabel('string','属性名','属性值',···)—给y轴加标注,legend('string1','string2',···)—添加图例,其顺序对应于绘图指令中的顺序,axis([xmin,xmax,ymin,ymax])—控制坐标轴的刻度范围。

4.2 二维图形。plot(x,y)以向量x、y为轴,绘制曲线。绘制函数y = sin x2在-5≤x≤5的图形。代码如下:

clear allx = -5:.1:5;y = sin(x.^2);plot(x,y);xlabel(‘input value’);ylabel(‘function value’);title(‘曲线 y=sinx^2’);

运行结果如下。如图所示

440544620cc24e48bcc8de2bd3380188

4.3 二维图形。plot(x1,y1,x2,y2,x3,y3,···)在同一图形窗口绘制多条不同颜色曲线,曲线关系为y1 = f(x1),y2 = f(x2),y3 = f(x3)。代码如下:

clcclear allx = -2:.1:2;plot(x,cos(2*x),x,x.^2,x,x);legend(‘cos(2x)’,’x^2′,’x’)

运行结果如下。如图所示

16da1c93728e4c11b3d4f7f419d06607

4.4 二维特殊图形。bar表示的直方图,代码如下:

clear allx = 1:5;bar(x),title(‘直方图’);

运行结果如下。如图所示

627a0085cf1440f8a47543ca716005af

4.5 二维特殊图形,hist表示生成直方图,M = hist(N)表示将N中的最大值、最小值找出来,平均取10个等间隔点,再以每个间隔点为中心,向两边各扩展1/2间隔的范围内,包括N的元素个数,因此M返回值都是1 x 10大小。如图所示

8be0186fd6914130b12ce4eb36f5fc16

五、 文件操作

5.1 fopen打开文件。fopen函数的调用格式为:fid = fopen(文件名,打开方式)。文件名用字符串形式,表示待打开的数据文件。常见的打开方式:r读数据、w写数据、a文件末尾添加数据。fid用于存储文件句柄值,句柄值用来标识该数据文件,其他函数可利用它对该数据文件进行操作。文件数据格式有两种形式:一种是二进制文件,另一种是文本文件。

5.2 fclose关闭文件。fclose函数调用格式为:sta = fclose(fid)。sta表示关闭文件操作的返回代码,关闭成功返回0,否则返回-1。

5.3 二进制文件的读写操作。fread函数可以读取二进制文件的数据并将数据存入矩阵,格式为:[A,COUNT] = fread(fid,size,precision)。A用于存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,size为可选项,precision代表读写数据的类型。

5.4 size选项不选用则表示读取整个文件内容,若选用则它的值可为以下选项:N表示读取N个元素到一个列向量,Inf表示读取整个文件,[M,N]表示读数据到M x N的矩阵中,数据按列存放。

5.5 fwrite写二进制文件。fwrite函数按照指定的数据类型将矩阵中的元素写入到文件中,调用格式为:COUNT = fwrite(fid,A,precision)。COUNT返回所写的数据元素个数,fid为文件句柄,A存放写入文件的数据,precision用于控制所写数据的类型,其形式与fread函数相同。

六、 M文件的建立与使用

6.1 M文件有命令文件和函数文件两种形式,这两种文件的扩展名相同,都是.m。命令文件的一般形式为<M文件名>.m,M文件有两种运行方式:一是在命令窗口直接输入文件名,按Enter键;二是在编辑窗口打开菜单Debug,再单击Run。

6.2 M文件保存的路径一定要在搜索路径上,否则M文件无法运行。用M命令文件绘制图像。打开Matlab命令窗口,单击“File”->“New”->“Mfile”打开编辑窗口。如图所示

1a991be8ddd445ec9f0ce11f249bde17

6.3 输入内容。如图所示

2d2aa8e442d749ddbaa9b4d5783dd4a8

6.4 点击工具栏中的“Save”按钮保存M文件,在选择文件夹对话框中默认保存在“C:\Program Files (x86)\MATLAB71\work”下,文件名为showlena.m。如图所示

48bac4027be9451db39bf91c45effcbe

6.5 保存M文件并关闭编辑窗口,在命令窗口输入“showlena”,按Enter键。如图所示

3a1cf83159e640f5b08c299eb92c5cf9

6.6 选择图像文件test.bmp(C:\Users\Administrator\Desktop\信息隐藏技术\Matalab简介\test.bmp)并点击“打开”按钮,弹出绘制图像窗口。如图所示

5d3d0d89bdda4bce9a6e279d8029950a

6.7 函数文件是另一种形式的M文件,它的第一句可执行语句是以function引导的定义语句,在函数文件中的变量都是局部变量。M函数文件的一般形式为function <因变量> = <函数名> (<自变量>),有多个因变量时用[ ]括起来。

6.8 用M函数文件读入并绘制图像。打开M文件编辑窗口,在编辑窗口中输入内容。如图所示

de5392b18c2a408c859b3ea921cb1b61

6.9 将函数文件保存为a.m文件,在命令窗口中输入命令并选择BMP图像文件(C:\Users\Administrator\Desktop\信息隐藏技术\Matalab简介\test.bmp)。如图所示

2f0e9035f99748f5b6265dff3a321e67

6.10 点击“打开”按钮,继续在命令窗口输入命令。如图所示

1a51d45845014c04a981324f334e603d

6.11 绘制出图像。如图所示

3000938ec70c4d5bb5da1c33096f3e15
(0)

相关推荐