matlab图像处理基础

在中文操作系统中,MATLAB默认为中文版,可参考以下步骤来显示英文版MATLAB。 MATLAB R2015a以及新的版本:

点击MATLAB菜单栏 > 预设 > 常规 > 选择桌面和错误信息的语言 > 英文 保存后重启MATLAB。

MATLAB R2014a以及R2014b版本:

可以通过设置以下环境变量禁用中文内容: MWLOCALE_TRANSLATED=OFF

如果您希望转换回中文版,请设置: MWLOCALE_TRANSLATED=ON Windows 7中环境变量的添加可以右击:我的电脑 > 属性 > 高级系统设置 > 高级 > 环境变量 > 系统环境变量。

1.matlab是用C语言编写的 ①被称为第四代计算机语言

②具有数据可视化功能,将向量和矩阵用图形表现出来,具有面向过程的编程特点,也有面向对象的特性 Crtl+Q可以用来退出,clc清屏

③M脚本文件或函数文件,创建日志文件,在命令行输入diary,可以将当前命令窗口中得所有内容都写入日志,包括命令和结果等,保存为ASCII码格式,路径为当前工作目录,最后通过diaryoff结束日志内容的记录

④help和help topic命令——topic是指要查询的函数等,如果只知道函数功能,不知道函数名称,可以通过lookfor topic命令进行关键词查询;演示程序的存在——帮助-示例-运行

2.数值计算

①运算优先级:从左到右,指数运算最高,乘除法次之且同级,加减法最次且同级;左除“/”是正常意义的除法;右除相反 ②系统关键字: 'break' 'case' 'catch' 'classdef' 'continue' 'else' 'elseif' 'end' 'for'

'function' 'global' 'if'

'otherwise' 'parfor' 'persistent' 'return' 'spmd' 'switch'

'try'

'while'

③特殊变量:ans——用作结果的默认变量名 beep——使计算机发出嘟嘟声 Pi——圆周率

eps——机器零阈值,浮点相对精度,取值为2.2204e-16,为matlab最小值 inf——无穷大

nan——不定数(NaN) i或j——虚数,值为-1开方

Nargin ——nargout——realmin——realmax——bitmax——varargin——varargout均为特殊变量

④可通过complex(real,img);来产生复数,angle是求相角的函数,可以是复数数组,也可以是单个复数;abs求摸

⑤矩阵运算——包括基本运算和点运算 基本运算——除法——左除“A\\B”(等效于A矩阵的逆左乘B,即inv(A)*B),右除“B/A”(等效于A矩阵的逆右乘B,即B*inv(A)),若A是非奇异矩阵,则两个运算都可以实现 乘方——A^x矩阵的乘方,矩阵转置,A’ 点运算——“.*”“./”“.\\”“.^”,点运算为对应点的运算

关系运算和逻辑运算——“~=表示不等于,对应函数ne(A,B)”,“==表示等于,对应函数为eq(A,B)”,“<,对应函数为lt(A,B)”,“>,对应函数为gt(A,B)”,“<=,对应函数为le(A,B)”,“>=,对应函数为ge(A,B)”;逻辑运算——0表示假,任意非零表示真“&-and(A,B),|-or(A,B),~-nor(A,B)”

⑥特殊矩阵——ones创建全1矩阵——ones(2,3)行为2,列为3 zeros创建全0矩阵 eye创建单位矩阵

rand均匀分布随机矩阵 randn正态分布随机矩阵

magic魔方矩阵——magic(4)表示4维矩阵

diag对角矩阵——diag(1:2:9)表示从1到9顺序中,每次隔2选择一个数作为对角矩阵的对角线元素

⑦访问矩阵——A(:)表示将矩阵A的所有元素从上到下,从左到右排列成向量;赋值一定要注意元素个数一致——例如:A(1:3)=B(4:6);[A B]=[A,B];X=1:6表示从1到6的向量 cat——指定维拼接;cat(1,A,B)相当于[A;B];cat(2,A,B)相当于[A,B] horzcat——水平拼接 vertcat——垂直拼接

repmat——对现有矩阵复制和粘贴组成新矩阵 blkdiag——现有矩阵构造对角矩阵

删除某一行或者某一列,只需要将那一行或者那一列赋值为”[ ]”即可 矩阵形状——reshape重新排列矩阵

rot90(A)——逆时针90度;rot90(A,-1)顺时针90度 fliplr——以垂直方向为轴翻转 flipud——以水平方向为轴翻转 flipdim——以指定方向为轴翻转 transpose——矩阵转置

ctranspose——矩阵的共轭转置 求矩阵的逆——inv(A)

求矩阵伪逆——广义逆,不是方阵或者满秩也可以求广义逆pinv(A)

向量A范数——第一种范数:向量元素绝对值的和norm(A,1);第二种范数:向量的模norm(A,2)或者norm(A);第三种:向量元素绝对值最大值norm(A,inf)

矩阵范数——与向量范数一样,但是意义不同

矩阵的条件数——因系数矩阵微小变化而结果有很大误差的叫做病态矩阵,反之叫做良性矩阵,条件数这个参数是用来描述这一性能,A矩阵的条件数等于A的范数与A的逆矩阵的范数的乘积,这样定义的条件数总是大于1,越接近1,性能越好,反之,性能越差;可用cond计算2范式条件数,condest计算1范式条件数,rcond计算逆条件数(这个不一定大于1)

求矩阵的特征值——d=eig(A),特征值以向量形式存放;d=eig(A,B)求广义特征值,[V,D]=eig(A),求特征值对角矩阵D和特征向量V;[V,D]=eig(A,’nobalance’),当A中有与截断误差数量级相差不远的值时,该指令可能更准确,’nobalance’起误差调节作用;[V,D]=eig(A,B)计算广义矩阵的特征值矩阵和特征向量;[V,D]=eig(A,B,flag),由flag指定算法计算特征值矩阵D和特征向量V,flag为’cho’时,表示使用Cholesky算法,这里A为Hermitian矩阵,B位正定阵——而eig是基于两步QR算法的,故需要注意当矩阵含有重特征值时,特征向量矩阵可能趋于奇异,A*V-V*D为误差

3.语句控制 ①for

②while——空数组被当做逻辑假 ③break和continue ④循环嵌套

⑤选择结构 case...case...otherwise ⑥分支结构

4.函数

①rem()求整除x/y的余数

rem(x,y)=x-y.*fix(x./y)——(fix()向0取整) ②mod(x,y):求模

mod(x,y)=x-y.*floor(x./y); (floor()向左取整,以数抽为准,朝负无穷方向取整) 如果x和y的符号相同(同为‘+’,同为‘-’),那么rem(x,y)=mod(x,y)(正数与正数,负数与负数,取整结果两个函数效果一样)

如果x和y的符号相反,那么mod(x,y)=rem(x,y)+y(正数与负数的取整,看你希望得到什么结果就选择用什么函数) ——当x./y非整数(且xy<0)时,fix(x./y)= floor(x./y)+1;

当正数与负数取余时,当得到的余数结果的符号希望跟除数(x)一样,用rem()函数;当得到的余数结果的符号希望跟被除数(y)一样,用mod()函数 例如:

rem(3,2)=1;mod(3,2)=1; rem(-3,-2)=-1;mod(-3,-2)=-1;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4