Matlab操作语法

Matlab操作语法
Matlab操作语法

Matlab图像

1.Matlab基础

1.1数据格式

Matlab默认的数据格式为双精度浮点数的矩阵或数组,同时支持其它数据类型。Matlab将单变量看作1?1的数组。Matlab支持的数据类型如下:

索引值从1开始。字符串须用单引号括起来。有些matlab函数或操作符只能用于双精度浮点数。

1.2 基本运算

1.2.1 赋值,如A = [1 2 3],A = [1,3,5],A = [1:3],A = [1:0.5:3],则A是个行向量,各元素值分别为:1 2 3 1 3 5 1 2 3 1 1.5 2 2.5 3;A = [1;2;3]是列向量。

B = [1 2 3;4 5 6]是个2?3的矩阵或数组。若再执行B = A,则B变为与A相同的行向量。

B=A’得到A的转秩。

B = A(r1:r2,c1:c2) 将A的一个子块赋给B,该子块在A中的位置由行号r1,r2(r1<=r2) 及列号c1,c2(c1<=c2)决定;A(r1:r2,c1:c2) = B将B赋给A的一个子块,B的大小必须是(r2-r1+1)?(c2-c1+1);A(r1:r2,c1:c2) = B(m1:m2,n1:n2) 将B的一个子块赋给A的一个子块,同样,两个子块的大小必须相等。

1.2.2 加+,减-,要求两个变量的行、列数相等。对于数组,乘除运算符为.*和./,称为点乘和点除,同样要求两个变量的行、列数相等,运算是将相同位置的两个元素相乘或相除。

1.2.3 for, while, switch, ?

2.常用的Matlab基本图像处理函数

详细内容请参考matlab帮助。

2.1 文件读写

●读图像:imread

A = imread(filename,fmt);将图像像素值读出并赋给变量A。

[X,map] = imread(filename,fmt);X为图像数组,map是图像的调色板。

参数:filename是文件名,fmt是图像文件的格式。如果图像文件不在Matlab默认路径中(当前默认路径可用path函数查看),则filename必须是全路径名。fmt可以是'bmp'(位图图像),'jpg' 或'jpeg'(JPEG图像),'tif' 或'tiff'(TIFF图像)等多种常用格式。如果文件名filename中含有表示图像格式的后缀名,如'test.tif',则参数fmt可以省略。

●图像存盘:imwrite

imwrite(A,filename,fmt);用于真彩色图像存盘。

imwrite(X,map,filename,fmt) ;用于伪彩色图像存盘。

2.2显示

imshow(X),按图形窗口默认的调色板显示图像。

imshow(X,map),按map规定的调色板显示图像。

图像数组X可以是整数或浮点数。若X是整数,则其取值范围应为0~255,0表示最暗,255表示最亮;若X是浮点数,则其取值范围应为0~1,0表示最暗,1表示最亮。若X是浮点数,可通过uint8(X)强制转换成单字节整数。

函数min()和max()用来求向量或矩阵的最小、最大值。对向量V,min(V)返回其最小值;对于矩阵X,min(X(:))返回其最小值。

plot 画曲线。

2.3 几何运算

●改变图像尺寸:imresize

B = imresize(A,m,method);将图像A的行、列数变为原来的m倍,结果图像由B输出。method 是采用的插值方法,'nearest' (缺省) 采用最临近插值(零阶插值),'bilinear' 采用双线性插值,'bicubic' 采用双立方插值。如果省略参数method,则采用最临近插值进行变换。

●图像旋转:imrotate

B = imrotate(A,angle,method);将图像按逆时针方向旋转angle度,结果图像由B输出。顺时针

旋转时angle为负。

B = imrotate(A,angle,method,'crop');输出图像B四边被裁减,使其大小与A相同。

参数method同上。

2.4 统计运算

●直方图:imhist

imhist(I);画图像I的直方图。

●图像均值:b = mean2(A);计算图像A的像素平均值,即平均亮度。

●图像方差:b = std2(A);计算图像A的方差。

2.5 图像增强

●灰度调整:imadjust

J = imadjust(I,[low_in high_in],[low_out high_out],gamma);

将图像灰度由[low_in high_in]调整到[low_out high_out],gamma是调整的线性度,缺省为1,即线性调整。原图像I必须是double型,最大灰度区间为[0 1],可以用函数im2double()将图像转为这种格式。可以用im2uint8()将结果J转为8位灰度图像。

●直方图均衡:J = histeq(I);采用直方图均衡对图像I进行增强。

imnoise

2.6 边缘提取

edge:实现6种不同的边缘提取方法:

?BW = edge(I,'sobel');BW = edge(I,'sobel',TH);BW = EDGE(I,'sobel',TH,DIR);

采用Sobel算子增强后进行边缘提取。TH是提取边缘的阈值,若不给定该参数,则函数自行确定阈值。DIR给定边缘提取的方向,可以是'horizontal'、'vertical' edges、或'both' (the default)。

?BW = EDGE(I,'prewitt');BW = EDGE(I,'prewitt',TH);BW = EDGE(I,'prewitt',TH,DIR)

采用Prewitt算子增强后进行边缘提取。TH是提取边缘的阈值,若不给定该参数,则函数自行确定阈值。DIR给定边缘提取的方向,可以是'horizontal'、'vertical' edges、或'both' (the default)。

?BW = EDGE(I,'roberts') ;BW = EDGE(I,'roberts',THRESH)

采用Rroberts算子增强后进行边缘提取。THRESH是提取边缘的阈值,若不给定该参数,则函数自

行确定阈值。

?BW = EDGE(I,'log');BW = EDGE(I,'log',THRESH);BW = EDGE(I,'log',THRESH,SIGMA);

采用Marr算子进行边缘提取。THRESH是提取边缘的阈值,SIGMA是标准差,缺省值为2,滤波器尺寸为N=CEIL(SIGMA*3)*2+1。

?BW = EDGE(I,'zerocross',TH,H);采用用户给定的滤波器H进行边缘增强后根据过零点提取边缘。

?BW = EDGE(I,'canny');BW = EDGE(I,'canny',TH);BW = EDGE(I,'canny',TH,SIGMA);Canny方法提取边缘。参数定义同Marr算子。

2.7二维滤波

●生成特定的二维数字滤波器:fspecial

h = fspecial(type);

h = fspecial(type,parameters);

滤波器类型type可以是:

'sobel' for a Sobel horizontal edge-emphasizing filter

'prewitt' for a Prewitt horizontal edge-emphasizing filter

'gaussian' for a Gaussian lowpass filter

'laplacian' f or a filter approximating the two-dimensional Laplacian operator

'log' for a Laplacian of Gaussian filter

'average' for an averaging filter

'unsharp' for an unsharp contrast enhancement filter

对于后边五种类型的滤波器,可以设置相应的滤波器参数parameter,若省略则取各自的缺省值。

●采用频率抽样法生成二维数字滤波器:fsamp2

h = fsamp2(Hd);

fsamp2 designs two-dimensional FIR filters based on a desired two-dimensional frequency response sampled at points on the Cartesian plane.

h = fsamp2(Hd) designs a two-dimensional FIR filter with frequency response Hd, and returns the filter coefficients in matrix h. (fsamp2 returns h as a computational molecule, which is the appropriate form to use with filter2.)

●二维滤波:filter2

B = filter2(h,A);对图像A作二维滤波,滤波器由上述方法产生。

●中值滤波:medfilt2

B = medfilt2(A,[m n]);对图像A作中值滤波,邻域大小由[m n]决定,缺省为[3 3]。

2.8 图像变换

fft2 ifft2 dct2 idct2

2.9 邻域及块操作

blkproc nlfilter

3. 类型转换

rgb2gray

4. Matlab集成环境及自定义Matlab函数

4.1 Matlab集成环境

Matlab集成环境的主体是它的“Command Window”,可在其中输入并执行各种matlab操作。比

如输入matlab命令path并回车,则返回matlab当前默认的工作路径;

若输入path(path,'c:\tools\goodstuff') 并回车,则将文件夹'c:\tools\goodstuff'添加到当前默认路径中。matlab6.0及以上版本可以在集成环境中设置(自己去找)。

Matlab的各种处理功能主要由其自带的工具箱中的函数完成,这些函数均存为“.m”文件,要查看一个函数的简单帮助,可以在命令窗口中使用help命令,如help SpeRead,给出函数SpeRead 的基本用法。注意,SpeRead.m必须存放在matlab的能够识别的路径中,否则返回错误信息。

4.2自定义Matlab函数

Matlab的“.m”文件实际上是文本格式,既可以是Matlab函数,也可以是一系列操作指令。例如要打开一幅spe图像并显示,可以在命令窗口中依次执行以下操作:

[X, W, H, T, H] = SpeRead (path_name); % 参数path_name是图像文件的路径% 和文件名

imshow(X/max(X(:))) % 显示图像

M1 = mean2(X(round(W/2)-10: round(W/2)+10, round(H/2)-10: round(H/2)+10));

% 计算图像中心处大小为21 21 的区域的均值。

figure,plot(X(round(W/2),:)) % 建立一个新的图形显示窗口,绘制图像中心点处的水平

% 截面曲线

上述操作可以存为M-file,文件名可以是matlab认可的任意字符串,后缀名必须是m。例如“新建”一个M-file,输入上述各命令行,存盘,比如存为“try.m”,那么只要在命令窗口中输入“try”并执行就能完成上述操作。

上述M-file可以看作是matlab程序。如果其中一部分操作需要多次执行,或者不同的程序中用到相同的操作,可以将这部分操作写成函数形式。

定义matlab函数的关键字是function,格式为:

function [PO1, PO2, …] = fun_name(PI1, PI2, …)

其中PI1, PI2, …是函数的形参,PO1, PO2, …是函数的返回参数。如果函数不返回任何值,则函数定义为:function fun_name(PI1, PI2, …)。

编辑完成的matlab函数同样存成M-file,但此时M-file的文件名必须与函数名相同,即fun_name,函数名可按matlab变量名的规则指定,即首字符是字母,不能出现运算符等。

修改后的M-file在运行之前应存盘,否则执行的是修改前的版本。

Matlab基本语法.word

实验序号 1 Matlab基本语法 一、实验目的 通过本实验,使学生初步了解Matlab的基本语法规则,学习并进一步掌握Matlab矩阵运算和数组运算的基本规则,以及基本绘图方法。 二、实验器材 PC电脑一台 MATLAB软件 三、实验内容与基本要求 a) 通过MATLAB语言,给矩阵赋值:显示一行数组,显示一列数组。 b) 基本基本矩阵的显示方式:ones,zeros,eye。 c) 在同一张图上绘出:y=3sin(x+pi/3),y=cos(3x+pi/6),并用不同的线型和点型区分。 d) 基本二维与三维绘图命令的训练。 四、实验报告要求 要求给出编程思路及程序清单,并呈现出最终结果 1)显示一行: a=[1 2 3 3 4 5 6] 回车结果: a = 1 2 3 3 4 5 6 显示一列; a=[1 ,2 ,3 ,4 ,5] 回车显示: a= 1 2 3 4 5

2)输入ones(2,5): 输出结果: ans= 1 1 1 1 1 1 1 1 1 1 输入zeros(2,3): 输出结果: ans= 00 0 00 0 输入eye(4,4): 输出结果: ans= 10 0 0 0 1 0 0 00 1 0 00 0 1 3)在matlab中输入: x=0:0.01:10; y=3*sin(x+pi/3); plot(x,y,’:r’) hold on y=cos(3*x+pi/6) plot(x,y,’b’) 得到图形:

4) 输入程序: y=5*(rand(1,10)-.5); plot(y) title('my first plot') xlabel('x'); ylabel('y'); grid on 得到二维图形: 012345678910 -3-2 -1 1 2 3

(完整版)Matlab基本语法教案

第二章基本语法 2.1 MATLAB的矩阵、变量与表达式 在MATLAB系统中,只管理着一种对象---矩阵(包括复数矩阵),任何数量在MATLAB 中是作为1x1的矩阵来处理的。 一、矩阵的创建: 1. 在MATLAB中创建矩阵的原则: (1) 矩阵元素必须写在“[]”内; (2) 矩阵的同一行之间用空格或“,”分隔; (3) 矩阵的行与行之间用分号或回车符分隔; (4) 矩阵的尺寸不必预先定义; (5) 矩阵元素可以是数值、变量、表达式或函数。 2. 创建矩阵的四种方法。 (1) 在命令窗口直接输入: 如输入:A=[1,2,3;4,5,6;7,8,9] 则显示:A= 1 2 3 4 5 6 7 8 9 也可用空格代替逗号,用回车代替分号: 如上例:A=[1 2 3 4 5 6 7 8 9] 则显示:A= 1 2 3 4 5 6 7 8 9 (2) 由M文件创建矩阵: 有时编程需要用M文件创建矩阵。或者当矩阵尺寸较大时,可以按矩阵的输入方式编辑一个M 文件(可用循环程序来做),在命令窗口直接执行该文件,即可将矩阵调入工作空间。 (3) 由函数创建矩阵: 对于一些特殊的矩阵,可以利用MATLAB的内部函数或用户自定义函数创建矩阵。 如diag()函数可生成对角阵。ones(m,n) ; zeros(m,n) (4) 通过数据文件创建矩阵: save 文件名(其中,文件名是*.mat文件) load 文件名例:工作目录下有temp.mat文件,可以执行load temp

3. 复数矩阵表示 (1) 复数表示 复数的虚根单位用i,j表示,即:z=3+4i或z=3+4j. 例如输入z=3+4i 输入z=3+4j 得到:得到: z = z = 3.0000 + 4.0000i 3.0000 + 4.0000i (2) 复数矩阵 A=[1 2;3 4]+i*[5 6;7 8] 或者A=[1+5i 2+6i;3+7i 4+8i],都得到: A = 1.0000 + 5.0000i 2.0000 + 6.0000i 3.0000 + 7.0000i 4.0000 + 8.0000i 二、MATLAB的变量和表达式 1.变量名命名规则 ?可以是字母、数字或下划线,但第一个字符必须是字母。 ?长度<=31 ?分辨大小写的,M和m是两个变量。 ?无须对变量的类型进行说明,当需要使用一个新变量时,只须直接对其赋值即可。 2.表达式则是由运算符、函数调用、变量名以及特殊字符组成的式子。 3.MATLAB中基本的赋值语句为: (1) 形式一:变量名=表达式 将表达式的结果赋给变量名(表达式的运算结果都是一个矩阵)。 (2) 形式二:表达式 计算表达式的值,将其值赋给MATLAB的永久变量ans。 上面两种形式,当表达式由分号“;”结束时,变量结果不显示。当表达式由逗号“,”或换行号结束,则将结果显示出来。 注: 1)MATLAB中有几个变量不能被clear清除,称永久变量。(其他变量名最好不要与此同)。即ans:当不指明某一语句的计算结果赋给哪个变量时,系统自动将该计算结果赋给ans; eps:计算机能产生的绝对值最小的浮点数;

实验二 MATLAB基本语法(1)

实验二 MATLAB基本语法(1) (变量及其赋值,运算符与数学表达式) 1、实验目的 1)掌握MATLAB的变量及其赋值方法; 2)掌握MATLAB的运算符与数学表达式的基本用法; 2、实验内容 2.1 矩阵及其元素的赋值 2.1.1 变量(即矩阵,下同)的赋值 x1=[1 2 3 4] % 空格作为元素间分隔符 x2=[5,6,7,8] % 逗号作为元素间分隔符 x3=[1,2;3,4;5,6] % 分号作为矩阵行分界符 x4=[2*3,4-5,3^2] % 表达式为矩阵元素赋值 2.1.2 变量名 A=[1,2,3,4,5] a=[1 2 3 4 5] B=a+A % a和A不是同一个变量 2.1.3 元素的标注 w=[1 2 3 4;4 5 6 7;7 8 9 10] w(2,3) % 查看第2行、第3列的结果,注意下标从1开始 2.1.4 矩阵的扩充 w(5,6)=1.2345 % 为原矩阵不存在的元素赋值,矩阵扩充到能容纳该元素

2.1.5 整行(列)赋值 w(4,:)=[1,2,3,4,5,6] % (4,:)表示第4行的所有元素 w(:,6)=[5;6;7;8;9] % (:,6)表示第6列的所有元素 2.1.6 整行清除: w([4,5],:)= [] % 第4,5行变为空矩阵 2.1.7 矩阵的拼接 X1=[1,1,1; 2,2,2];X2=[3,3; 4,4];X3=[5;5];X4=[6,6,6,6; 7,7,7,7] XX=[X1,X2;X3,X4] % 矩阵拼接。注意按行对齐进行拼接 2.1.8 抽取部分 X =[1,2,3,4,5;6,7,8,9,0;3,3,3,3,3;4,4,4,4,4;5,5,5,5,5] Y1=X([1,2,5],[2,4]) Y2=X([2,4],[1,2,3]) 2.1.9 等间隔赋值 ii=0:1:10 % 格式为初值:步长:终值 2.1.10 特殊矩阵和数组 a=eye(3,4) % 单位矩阵 b=eye(size(a)) % 单位矩阵 c=size(a) % 测矩阵的大小 d=zeros(3) % 零矩阵 e=zeros(2,4) % 零矩阵 f=ones(4) % 全1矩阵 h=ones(3,4) % 全1矩阵 C=rand(3) % 均匀分布随机矩阵 C=rand(3,5) % 均匀分布随机矩阵 D=randn(3) % 正态分布随机矩阵(均值=0,方差=1) D=randn(3,6) % 正态分布随机矩阵(均值=0,方差=1)

2第二章 Matlab基本语法

第二章 Matlab 基本语法(一般性操作) §1矩阵和数组的操作Ⅰ——创建 保存 调用 概述:矩阵是线性代数的基本运算单元,通常矩阵是含有M 行和N 列数值的矩形结构。其元素可以是实数或复数,因而可将矩阵分为实数矩阵和复数矩阵。 MATLAB 支持线性代数所定义的全部矩阵运算。软件的优势在于快捷和轻松的处理整个矩阵。通过一定的转化方法,可以将一般的数学运算转化成相应矩阵运算来处理。 在MATLAB 中把数据分为标量、矢量、矩阵和列阵。列阵指多维数组,是一大概念,在列阵中,一维数组是矢量,二维数组即为矩阵。当然,我们也可杷标量看作仅有一行一列的矩阵,把矢量看作仅有一列或一行的矩阵。 一、知识背景 1. n m ? 阶矩阵,记作n m A ?或n m ij a ?)( 如:??? ?????????mn m m n n a a a a a a a a a 212222111211 ,为m 行n 列矩阵 2. 数组:可看成是单行或单列矩阵。 3. 同型矩阵:二矩阵行数和列数相同,如n m n m B A ??,。 4. 特殊矩阵:见矩阵创建3。 二、矩阵的创建 1. 直接输入法:用指令产生数值矩阵 矩阵首尾以 [ ] 括起; 同一行中元素用逗号“,”或空格隔开; 行与行之间必须用分号“;”或按Enter 键分隔。 矩阵元素可以是数字也可以是表达式,表达式中变量必须定义。 例1:创建矩阵:? ? ? ???=6 5 43 2 1a

>> a=[1,2,3;4,5,6] a = 1 2 3 4 5 6 例2:>> x=9,y=pi/6; % 定义x ,y 变量 >> A=[3,5,sin(y);cos(y),x^2,7;x/2,5,1] % 产生矩阵A A = 3.0000 5.0000 0.5000 0.8660 81.0000 7.0000 4.5000 5.0000 1.0000 说明:%作为注释的开始标志,以后的文字不影响计算过程。 练习一: 1-1 创建矩阵:? ? ? ???=6 4 25 3 1A 1-2 创建矩阵:?? ????=sin(y) )cos(os(y) sin(x) x c B ,其中x=π/4,y=π/3。 >> x=pi/4,y=pi/3; x = 0.7854 >> B=[sin(x),cos(y);cos(x),sin(y)] B = 0.7071 0.5000 0.7071 0.8660 2. 矩阵编辑器(Matrix Editor ): (1)首先在工作区定义一个变量,可以是一简单矩阵或数字。 (2)单击工具栏的工作区浏览器(work spase browser )。弹出变量浏览器,显示各变量信息。 或单击View/ work space 弹出变量浏览器,显示各变量信息。 (3)选中所定义变量,左键双击,或单击右键,在点击“open ”,打开矩阵编辑器。也可左键单击工具按钮 ,打开矩阵编辑器。

2.1.2-基本语法-Matlab语言的基本语法

MATLAB语言的基本语法

一个简单的示例编写MATLAB 程序: A=[1 2 3; 4 5 6; 7 8 9];%变量A 存储矩阵A B=[2 0 3;4 1 6; 0 5 2];%变量B 存储矩阵B C=A*B; %变量C 为矩阵A 与矩阵B 的乘积. 通过程序了解MATLAB 语言的一些基本语法,如: 1.创建矩阵可用方括号[ ],矩阵的不同行可用分号分隔,同一行元素用空格分隔。 2.矩阵乘法运算符用“*”; 3.赋值语句用“=”; 4.注释语句,用%开头。 AB C B A =??????????=??????????=,250614302,987654321已知矩阵A ,B ,计算矩阵C 。

变量名的命名规则 (1)必须以字母开头 如,bookname,rank (2)区分大小写 如,bookname,Bookname是不同的变量(3)可由字母、数字、下划线组成 注:变量名尽量反映其含义 示例: 汽车数量可用numcar或num_car

赋值语句 ●基本语法 变量名=表达式 示例: a=[25679]; a(2)=10 ●其他赋值语句,如: 变量名=函数名(输入参数列表) [变量名列表]=函数名(输入参数列表)示例: [V1,V2,V3]=myfun(M1,M2)

表达式语句 注:一个语句可以只有表达式 系统自动将表达式的结果赋值给MATLAB内部变量"ans"。示例: >>a=fix(10*rand(1,5))%赋值语句,赋值给变量a a = 9 8 1 4 8 >>a-0.5%表达式语句,结果赋值给ans ans= 8.50000 7.50000 0.50000 3.50000 7.50000

matlab基本语法

MATLAB简介 MATLAB(MATrix LABoratory,即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件。MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。 MATLAB语言之所以如此受人推崇是因为它有如下这些优点: 1.编程简单使用方便 MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。MATLAB的矩阵和向量操作功能是其他语言无法比拟的。 2.函数库可任意扩充 由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3.语言简单内涵丰富 MATLAB语言中最重要的成分是函数,其一般形式为: Function [a,b,c…]=fun(d,e,f…) 其中,fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。这种文件简单、短小、高效,并且便于调试。 4.简便的绘图功能 MATLAB具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,也可一指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。 5.丰富的工具箱 由于MATLAB的开放性,许多领域的专家都为MATLAB编写了各种程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。

(完整版)MATLAB基本语法

在MATLAB中,变量和常量的标识符最长允许19个字符,标识符中第一个字符必须是英文字母。MATLAB区分大小写,默认状态下,A和a被认为是两个不同的字符。(case sensitive) 一、数组和矩阵 (一)数组的赋值 数组是指一组实数或复数排成的长方阵列。它可以是一维的“行”或“列”,可以是二维的“矩形”,也可以是三维的甚至更高的维数。在MATLAB中的变量和常量都代表数组,赋值语句的一般形式为 变量=表达式(或数) 如键入a=[1 2 3; 4 5 6; 7 8 9]则将显示结果: a= 1 2 3 4 5 6 7 8 9 数组放置在[ ]中;数组元素用空格或逗号“,”分隔;数组行用分号“;”或“回车”隔离。 (二)复数 MATLAB中的每一个元素都可以是复数,实数是复数的特例。复数的虚部用i或j表示。 复数的赋值形式有两种: z=[1+1i ,2+2i ;3+3i ,4+4i] z=[1,2;3,4]+[1,2;3,4]*i 得 z=1.000+1.000i 2.000+2.000i 3.000+3.000i 4.000+4.000i 以上两式结果相同。注意,在第二式中“*”不能省略。 在复数运算中,有几个运算符是常用的。运算符“′”表示把矩阵作共轭转置,即把矩阵的行列互换,同时把各元素的虚部反号。函数conj表示只把各元素的虚部反号,即只取共轭。若想求转置而不要共轭,就把conj和“′”结合起来完成。例如键入 w=z′,u=conj(z),v=conj(z)′ 可得 w=1.000-1.000i 3.000-3.000i 2.000-2.000i 4.000-4.000i u=1.000-1.000i 2.000-2.000i

Matlab操作语法

Matlab图像 1.Matlab基础 1.1数据格式 Matlab默认的数据格式为双精度浮点数的矩阵或数组,同时支持其它数据类型。Matlab将单变量看作1?1的数组。Matlab支持的数据类型如下: 索引值从1开始。字符串须用单引号括起来。有些matlab函数或操作符只能用于双精度浮点数。 1.2 基本运算 1.2.1 赋值,如A = [1 2 3],A = [1,3,5],A = [1:3],A = [1:0.5:3],则A是个行向量,各元素值分别为:1 2 3 1 3 5 1 2 3 1 1.5 2 2.5 3;A = [1;2;3]是列向量。 B = [1 2 3;4 5 6]是个2?3的矩阵或数组。若再执行B = A,则B变为与A相同的行向量。 B=A’得到A的转秩。 B = A(r1:r2,c1:c2) 将A的一个子块赋给B,该子块在A中的位置由行号r1,r2(r1<=r2) 及列号c1,c2(c1<=c2)决定;A(r1:r2,c1:c2) = B将B赋给A的一个子块,B的大小必须是(r2-r1+1)?(c2-c1+1);A(r1:r2,c1:c2) = B(m1:m2,n1:n2) 将B的一个子块赋给A的一个子块,同样,两个子块的大小必须相等。 1.2.2 加+,减-,要求两个变量的行、列数相等。对于数组,乘除运算符为.*和./,称为点乘和点除,同样要求两个变量的行、列数相等,运算是将相同位置的两个元素相乘或相除。 1.2.3 for, while, switch, ? 2.常用的Matlab基本图像处理函数 详细内容请参考matlab帮助。 2.1 文件读写 ●读图像:imread A = imread(filename,fmt);将图像像素值读出并赋给变量A。 [X,map] = imread(filename,fmt);X为图像数组,map是图像的调色板。 参数:filename是文件名,fmt是图像文件的格式。如果图像文件不在Matlab默认路径中(当前默认路径可用path函数查看),则filename必须是全路径名。fmt可以是'bmp'(位图图像),'jpg' 或'jpeg'(JPEG图像),'tif' 或'tiff'(TIFF图像)等多种常用格式。如果文件名filename中含有表示图像格式的后缀名,如'test.tif',则参数fmt可以省略。 ●图像存盘:imwrite imwrite(A,filename,fmt);用于真彩色图像存盘。 imwrite(X,map,filename,fmt) ;用于伪彩色图像存盘。

实验三:MATLAB的基本语法(二)

实验三:MATLAB的基本语法实验(二) 一、实验目的 1、掌握基本绘图方法; 2、掌握M文件的编写; 二、实验仪器 1、计算机 2、MATLAB 软件环境 三、实验内容 1、画出课本图2-4至2-7、图2-10、2-12至2-14;练习例题2-6-1/2-6-2以及函数文件mean.m/logspace.m/humps.m; 2、利用plot()将函数:y=x,y=sin(x),y=x+sin(x)画在同一画面上; 3、画函数y=sin(x)图。要求:用subplot()将画面分成四个,并且绘制的形式不同; 4、利用plot3()画空间曲线:x=sin(t),y=cos(t),z=cos(2t); 5、分别用mesh和surf画空间曲面:z=x*exp(-x*x-y*y); 6、编写主程序文件:计算 1+2+…+n<2000 时的最大 n 值; 7、编写函数文件:计算数列的和、均值。 四、实验过程 1、画出课本图2-4至2-7、图2-10、2-12至2-14;练习例题2-6-1/2-6-2以及函数文件mean.m/logspace.m/humps.m; 课本2-4过程及图示: 输入如下指令: >> clear >> t=0:0.5:4*pi t = Columns 1 through 12 0 0.5000 1.0000 1.5000 2.0000 2.5000 3.0000 3.5000 4.0000 4.5000 5.0000 5.5000 Columns 13 through 24 6.0000 6.5000 7.0000 7.5000 8.0000 8.5000 9.0000 9.5000 10.0000 10.5000 11.0000 11.5000

MATLAB 语言的基本使用方法

实验一 MATLAB 语言的基本使用方法 1. 实验目的 1) 了解MATLAB 程序设计语言的基本特点,熟悉MATLAB 软件运行环境。 2) 掌握创建、保存、打开文件及数据的方法,掌握设置文件路径的方法。 3) 掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 2. MATLAB 基础知识 2.1 MATLAB 程序设计语言简介 MATLAB ,Matrix Laboratory 的缩写,是由MathWorks 公司开发的一套用于科学工程计算的可视化高性能语言,具有强大的矩阵运算能力。 与大家常用的Fortran 和C 等高级语言相比,MATLAB 的语法规则更简单,更贴近人的思维方式,被称之为“草稿纸式的语言”。 MATLAB 软件主要由主包、仿真系统(simulink )和工具箱(toolbox )三大部分组成。 2.2. MATLAB 界面简介 下面我们主要对MATLAB 基本界面进行介绍。如图 1-1所示,命令窗口包含标题栏、菜单栏、工具栏、命令行区、状态栏、垂直和水平波动条等 区域。 标题栏菜单栏工具栏命令行区状态栏垂直和水平滚 动条 图 1-1 MATLAB 基本界面——命令窗口 1) 菜单栏 菜单栏中包括File 、Edit 、View 、Web 、Window 和Help 六个菜单项。这里着重介绍File 项。 File 项是数据输入/输出的接口, 包括10个子项, 这里重点介绍其中的5个子项: New: 新建文件项。 有四个选择: M File(.M ,文本格式的MATLAB 程序文件, 可以直接通过文件名的方式在MATLAB 环境下解释运行); Figure(图形);

MATLAB

实验一MATLAB基础知识 一、实验目的 初步了解Matlab的基本语法规则; 掌握Matlab矩阵运算和数组运算的基本规则,以及基本绘图方法。 二、实验环境 计算机,Matlab软件 三、实验原理 1、MATLAB基本语句 1)循环语句 MATLAB的循环语句包括for循环和while循环两种类型。 (1)for循环 语法格式: for 循环变量= 起始值:步长:终止值 循环体 end 起始值和终止值为一整型数,步长可以为整数或小数,省略步长时,默认步长为1。执行for循环时,判定循环变量的值是否大于(步长为负时则判定是否小于)终止值,不大于(步长为负时则小于)则执行循环体,执行完毕后加上步长,大于(步长为负时则小于)终止值后退出循环。 例1 给矩阵A、B赋值。 MATLAB 语句及运行结果如下: k=5; a=zeros(k, k) %矩阵赋零初值 for m=1 : k for n=1: k a(m,n)=1/(m+n-1); end end for i=m : -1 : 1 b(i)=i; end (2)while循环 语法格式: while 表达式 循环体 end 其执行方式为:若表达式为真(运算值非0),则执行循环体;若表达式为假(运算结果为0),则退出循环体,执行end后的语句。

a=3; while a a=a-1 end 输出: a=2 a=1 a=0 2)条件转移语句 条件转移语句有if和switch两种。 (1)if语句 MATLAB中if语句的用法与其他高级语言相类似,其基本语法格式有以下几种:格式一: if 逻辑表达式 执行语句 end 格式二: if 逻辑表达式 执行语句1 Else 执行语句2 end 格式三: if 逻辑表达式1 执行语句1 else if 逻辑表达式2 执行语句2 end (2)switch语句 switch语句的用法与其他高级语言相类似,其基本语法格式为: switch表达式(标量或字符串) case 值1 语句1 case 值2 语句2 … Otherwise

相关主题
相关文档
最新文档