matlab代码大全1

matlab代码大全1
matlab代码大全1

MATLAB主要命令汇总

MATLAB函数参考

附录1.1管理用命令

函数名功能描述函数名功能描述

addpath增加一条搜索路径rmpath删除一条搜索路径

demo运行Matlab演示程序type列出.M文件

doc装入超文本文档version显示Matlab的版本号

help启动联机帮助what列出当前目录下的有关文件

lasterr显示最后一条信息whatsnew显示Matlab的新特性lookfor搜索关键词的帮助which造出函数与文件所在的目录

path设置或查询Matlab路径

附录1.2管理变量与工作空间用命令

函数名功能描述函数名功能描述

clear删除内存中的变量与函数pack整理工作空间内存

disp显示矩阵与文本save将工作空间中的变量存盘

length查询向量的维数size查询矩阵的维数

load从文件中装入数据who,whos列出工作空间中的变量名

附录1.3文件与操作系统处理命令

函数名功能描述函数名功能描述

cd改变当前工作目录edit编辑.M文件

delete删除文件matlabroot获得Matlab的安装根目录

diary将Matlab运行命令存盘tempdir获得系统的缓存目录

dir列出当前目录的内容tempname获得一个缓存(temp)文件

!执行操作系统命令

附录1.4窗口控制命令

函数名功能描述函数名功能描述

echo显示文件中的Matlab中的命令more控制命令窗口的输出页面format设置输出格式

附录1.5启动与退出命令

函数名功能描述函数名功能描述

matlabrc启动主程序quit退出Matlab环境

startup Matlab自启动程序

附录2运算符号与特殊字符附录

2.1运算符号与特殊字符

函数名功能描述函数名功能描述

+加...续行标志

-减,分行符(该行结果不显示)

*矩阵乘;分行符(该行结果显示)

.*向量乘%注释标志

^矩阵乘方!操作系统命令提示符

.^向量乘方矩阵转置

kron矩阵kron积.向量转置

\矩阵左除=赋值运算

/矩阵右除==关系运算之相等

.\向量左除~=关系运算之不等

./向量右除<关系运算之小于

:向量生成或子阵提取<=关系运算之小于等于

()下标运算或参数定义>关系运算之大于

[]矩阵生成>=关系运算之大于等于

{}&逻辑运算之与

.结构字段获取符|逻辑运算之或

.点乘运算,常与其他运算符联合使用(如.\)~逻辑运算之非

xor逻辑运算之异成

附录2.2逻辑函数

函数名功能描述函数名功能描述

all测试向量中所用元素是否为真is*(一类函数)检测向量状态.其中*表示一个确定的函数(isinf)

any测试向量中是否有真元素*isa检测对象是否为某一个类的对象

exist检验变量或文件是否定义logical将数字量转化为逻辑量

find查找非零元素的下标

附录3语言结构与调试

附录3.1编程语言

函数名功能描述函数名功能描述

builtin执行Matlab内建的函数global定义全局变量

eval执行Matlab语句构成的字符串nargchk函数输入输出参数个数检验

feval执行字符串指定的文件script Matlab语句及文件信息

function Matlab函数定义关键词

附录3.2控制流程

函数名功能描述函数名功能描述

break中断循环执行的语句if条件转移语句

case与switch结合实现多路转移otherwise多路转移中的缺省执行部分

else与if一起使用的转移语句return返回调用函数

elseif与if一起使用的转移语句switch与case结合实现多路转移end结束控制语句块warning显示警告信息

error显示错误信息while循环语句

for循环语句

附录3.3交互输入

函数名功能描述函数名功能描述

input请求输入menu菜单生成

keyboard启动键盘管理pause暂停执行

附录3.4面向对象编程

函数名功能描述函数名功能描述

class生成对象isa判断对象是否属于某一类

double转换成双精度型superiorto建立类的层次关系

inferiorto建立类的层次关系unit8转换成8字节的无符号整数inline建立一个内嵌对象

附录3.5调试

函数名功能描述函数名功能描述

dbclear清除调试断点dbstatus列出所有断点情况

dbcont调试继续执行dbstep单步执行

dbdown改变局部工作空间内存dbstop设置调试断点

dbmex启动对Mex文件的调试sbtype列出带命令行标号的.M文件dbquit退出调试模式dbup改变局部工作空间内容

dbstack列出函数调用关系

附录4基本矩阵与矩阵处理

附录4.1基本矩阵

函数名功能描述函数名功能描述

eye产生单位阵rand产生随机分布矩阵

linspace构造线性分布的向量randn产生正态分布矩阵logspace构造等对数分布的向量zeros产生零矩阵

ones产生元素全部为1的矩阵:产生向量

附录4.2特殊向量与常量

函数名功能描述函数名功能描述

ans缺省的计算结果变量non非数值常量常由0/0或Inf/Inf获得computer运行Matlab的机器类型nargin函数中参数输入个数eps精度容许误差(无穷小)nargout函数中输出变量个数

flops浮点运算计数pi圆周率

i复数单元realmax最大浮点数值

inf无穷大realmin最小浮点数值

inputname输入参数名varargin函数中输入的可选参数

j复数单元varargout函数中输出的可选参数

附录4.3时间与日期

函数名功能描述函数名功能描述

calender日历eomday计算月末

clock时钟etime所用时间函数

cputime所用的CPU时间now当前日期与时间

date日期tic启动秒表计时器

datenum日期(数字串格式)toc读取秒表计时器

datestr日期(字符串格式)weekday星期函数

datevoc日期(年月日分立格式)

附录4.4矩阵处理

函数名功能描述函数名功能描述

cat向量连接reshape改变矩阵行列个数

diag建立对角矩阵或获取对角向量rot90将矩阵旋转90度

fliplr按左右方向翻转矩阵元素tril取矩阵的下三角部分

flipud按上下方向翻转矩阵元素triu取矩阵的上三角部分

repmat复制并排列矩阵函数

附录5特殊矩阵

函数名功能描述函数名功能描述

compan生成伴随矩阵invhilb生成逆hilbert矩阵

gallery生成一些小的测试矩阵magic生成magic矩阵

hadamard生成hadamard矩阵pascal生成pascal矩阵

hankel生成hankel矩阵toeplitz生成toeplitz矩阵

hilb生成hilbert矩阵wilkinson生成wilkinson特征值测试矩阵

附录6数学函数

附录6.1三角函数

函数名功能描述函数名功能描述

sin/asin正弦/反正弦函数sec/asec正割/反正割函数

sinh/asinh双曲正弦/反双曲正弦函数sech/asech双曲正割/反双曲正割函数cos/acos余弦/反余弦函数csc/acsc余割/反余割函数

cosh/acosh双曲余弦/反双曲余弦函数csch/acsch双曲余割/反双曲余割函数tan/atan正切/反正切函数cot/acot余切/反余切函数

tanh/atanh双曲正切/反双曲正切函数coth/acoth双曲余切/反双曲余切函数atan2四个象限内反正切函数

附录6.2指数函数

函数名功能描述函数名功能描述

exp指数函数log10常用对数函数

log自然对数函数sqrt平方根函数

附录6.3复数函数

函数名功能描述函数名功能描述

abs绝对值函数imag求虚部函数

angle角相位函数real求实部函数

conj共轭复数函数

附录6.4数值处理

函数名功能描述函数名功能描述

fix沿零方向取整round舍入取整

floor沿-∞方向取整rem求除法的余数

ceil沿+∞方向取整sign符号函数

附录6.5其他特殊数学函数

函数名功能描述函数名功能描述

airy airy函数erfcx比例互补误差函数

besselh bessel函数(hankel函数)erfinv逆误差函数

bessili改进的第一类bessel函数expint指数积分函数

besselk改进的第二类bessel函数gamma gamma函数

besselj第一类bessel函数gammainc非完全gamma函数

bessely第二类bessel函数gammaln gamma对数函数

beta beta函数gcd最大公约数

betainc非完全的beta函数lcm最小公倍数

betaln beta对数函数log2分割浮点数

elipj Jacobi椭圆函数legendre legendre伴随函数

ellipke完全椭圆积分pow2基2标量浮点数

erf误差函数rat有理逼近

erfc互补误差函数rats有理输出

附录7坐标转换

函数名功能描述函数名功能描述

cart2pol笛卡儿坐标到极坐标转换pol2cart极坐标到笛卡儿坐标转换

cart2sph笛卡儿坐标到球面坐标转换sph2cart球面坐标到笛卡儿坐标转换

附录8矩阵函数

附录8.1矩阵分析

函数名功能描述函数名功能描述

cond求矩阵的条件数rcond LINPACK倒数条件估计

det求矩阵的行列式rref矩阵的行阶梯型实现

norm求矩阵的范数rrefmovie消元法解方程演示

null右零空间subspace子空间

orth正交空间trace矩阵的迹

rank求矩阵的秩

附录8.2线性方程

函数名功能描述函数名功能描述

/,\线性方程求解nnls非零最小二乘

chol Cholesky分解pinv求伪逆矩阵

inv矩阵求逆qr矩阵的QR分解

lscov最小二乘方差qrdelete QR分解中删除一行

lu矩阵的LU三角分解qrinsert QR分解中插入一行

附录8.3特征值与奇异值

函数名功能描述函数名功能描述

banlance改进特征值精度的均衡变换qz QZ算法求矩阵特征值

cdf2rdf复块对角阵到实块对角阵转换rdf2cdf实块对角阵到复块对角阵转换eig求矩阵的特征值和特征向量schur Schur分解

hess求Hessenberg矩阵svd奇异值分解

poly求矩阵的特征多项式

附录8.4矩阵函数

函数名功能描述函数名功能描述

expm矩阵指数函数logm矩阵对数函数

funm矩阵任意函数sqrtm矩阵平方根

附录9数据分析与Fourier变换函数

附录9.1基本运算

函数名功能描述函数名功能描述

cumprod向量累积prod对向量中各元素求积

cumsum向量累加sort对向量中各元素排序

max求向量中最大元素sortrows对矩阵中各行排序

min求向量中最小元素std求向量中各元素标准差

mean求向量中各元素均值sum对向量中各元素求和

median求向量中中间元素trapz梯形法求数值积分

附录9.2微分计算

函数名功能描述函数名功能描述

del2离散Laplace变换gradient梯度计算

diff差分于近视微分

附录9.3滤波与卷积

函数名功能描述函数名功能描述

Conv卷给与多项式乘法filter一维数字滤波

conv2二维卷积filter2二维数字滤波

Deconv因式分解与多项式乘法

附录9.4方差处理

函数名功能描述函数名功能描述

corrcoef相关系数计算cov协方差计算

附录9.5Fourier变换

函数名功能描述函数名功能描述

abs绝对值函数fftshift fft与fft2输出重排

angle相角函数ifft离散Fourier逆变换

cplxpair依共轭复数对重新排序ifft2二维离散Fourier逆变换fft离散Fourier变换unwrap相角矫正

fft2二维离散Fourier变换

附录10多项式处理函数

附录10.1多项式处理

函数名功能描述函数名功能描述

conv卷机与多项式乘法polyfit数据的多项式拟合

deconv因式分解与多项式乘法polyval多项式求值

poly求矩阵的特征多项式polyvalm多项式矩阵求值

polyder多项式求导residue部分分式展开

polyeig多项式特征值roots求多项式的根

附录10.2数据插值

函数名功能描述函数名功能描述

griddata数据网络的插值生成interpft一维插值(FFT方法)

interp1一维插值(查表)interpn多维插值(查表)

interp2二维插值(查表)meshgrid构造三维图形用x,y阵列

interp3三维插值(查表)spline三次样条插值

附录11非线性数值方法

函数名功能描述函数名功能描述

dblquad双重积分odeget获得微分方程求解的可选参数

fmin单变量最优化函数odeset设置微分方程求解的可选参数

fmins多变量最优化函数quad低阶数值积分方法

ode45,ode23,ode113,ode15s,ode23s微分方程数值解法quad8高阶数值积分方法

odefile对文件定义的微分方程求解

附录12稀疏矩阵函数

附录12.1基本稀疏矩阵

函数名功能描述函数名功能描述

spdiags稀疏对角矩阵sprandn稀疏正态分布随机矩阵

speye稀疏单位矩阵sprandsym稀疏对称随机矩阵

sprand稀疏均匀分布随机矩阵

附录12.2稀疏矩阵转换

函数名功能描述函数名功能描述

find查找非零元素下标sparse常规矩阵转换为稀疏矩阵

full稀疏矩阵转换为常规矩阵spconvert由外部格式引入稀疏矩阵

附录12.3处理非零元素

函数名功能描述函数名功能描述

issparse判断元素是否为稀疏矩阵nzmax允许的非零元素空间

mmz稀疏矩阵的非零元素个数spalloc为非零元素定位存储空间

nonzeros稀疏矩阵的非零元素spfun为非零元素定义处理函数

附录12.4稀疏矩阵可视化

函数名功能描述函数名功能描述

gplot绘制图论图形spy绘制稀疏矩阵结构

附录12.5排序算法

函数名功能描述函数名功能描述

colmmd列最小度排序randperm产生随机置换向量

colperm由非零元素的个数排序各列symmd对称最小度排序dmperm Dulmage-Mendelsohn分解symrcm反向Cuthill-McKee排序

附录12.6范数、条件数

函数名功能描述函数名功能描述

condest估算||*||1范数normest估算||*||2范数

sprank计算结构秩

附录12.7特征值与奇异值

函数名功能描述函数名功能描述

eigs求稀疏矩阵特征值和特征向量svds稀疏矩阵奇异值分解

附录12.8其他

函数名功能描述函数名功能描述

spaugment最小二乘算法形成symbact符号因子分解

spparms设置稀疏矩阵参数

附录13图形绘制

附录13.1基本二维图形

函数名功能描述函数名功能描述

fill填充二维多边形polar极坐标图形绘制

loglog全对数二维坐标绘制semilogx x轴半对数坐标图形绘制

plot线性坐标图形绘制semilogy y轴半对数坐标图形绘制

附录13.2基本三维图形

函数名功能描述函数名功能描述

fill3三维多边形填充plot3三维线或点型图绘制

mesh三维网格图形绘制surf三维表面图形绘制

附录13.3三维颜色控制

函数名功能描述函数名功能描述

brighten图形亮度调整hidden网格图的网格线开关设置

caxis坐标轴伪彩色设置shading设置渲染模式

colormap调色板设置

附录13.4三维光照模型

函数名功能描述函数名功能描述

diffuse图象漫射处理surf1带光照的三维表面绘制

lighting光照模式设置surfnorm曲面法线

specular设置镜面反射

附录13.5标准调色板设置

函数名功能描述函数名功能描述

bone带有蓝色调的灰色的调色板hot以黑红黄白为基色的调色板cool以天蓝粉色为基色的调色板hsv色度饱和度亮度调色板copper线性铜色调的调色板pink粉色色调的调色板

flag以红白蓝黑为基色的调色板prism光谱颜色表

gray线性灰度调色板

附录13.6三维视点控制

函数名功能描述函数名功能描述

rotate3d设置三维旋转开关viewmtx求视转换矩阵

view设置视点

附录13.7坐标轴控制

函数名功能描述函数名功能描述

axis坐标轴标度设置hold设置当前图形保护模式

axes坐标轴位置设置subplot将图形窗口分成几个区域

box坐标轴盒状显示zoom二维图形缩放

grid坐标网格线开关设置

附录13.8图形注解

函数名功能描述函数名功能描述

colorbar颜色条设置xlabel给图形的x轴加文字说明

gtext在鼠标位置加文字说明ylabel给图形的y轴加文字说明text在图形上加文字说明zlabel给图形的z轴加文字说明

title给图形加标题

附录13.9拷贝与打印

函数名功能描述函数名功能描述

print打印图形或将图形存盘orient设置纸的方向

orintopt设置打印机为默认值

附录14特殊图形

附录14.1特殊二维图形

函数名功能描述函数名功能描述

area区域填充feather羽状条形图绘制

bar条形图绘制fplot给定函数绘制

barh水平条形图绘制hist直方图绘制

bar33维条形图绘制pareto pareto图绘制

bar3h3维水平条形图绘制pie饼状图绘制

comet彗星状轨迹绘制stem离散序列图形绘制

errorbar误差条形图绘制stairs梯形图绘制

附录14.2等高线及其他二维图形

函数名功能描述函数名功能描述

contour等高线绘制pcolor伪色绘制

contourf等高线填充绘制quiver有向图(箭头)绘制contour3三维等高线绘制voronoil voronoi图绘制

clabel等高线高程标志

附录14.3特殊三维图形

函数名功能描述函数名功能描述

comet3三维彗星状轨迹绘制slice切片图

meshc带等高线的三维网格绘制surfc带等高线的三维表面绘制meshz带零平面的三维网格绘制trisurf表面图形的三角绘制stem2杆图绘制trimesh网格图形的三角绘制

quiver3三维箭头(有向图)绘制waterfall瀑布型图形的绘制

附录14.4图象显示与文件I/O

函数名功能描述函数名功能描述

brighten图形色调亮化image图像显示

colorbar颜色条设置imfinfo图形文件信息

colormap调色板设置imread从文件读取图形

contrast灰度对比度设置imwrite保存图像

附录14.5动画处理

函数名功能描述函数名功能描述

capture屏幕抓取movie播放动画帧

getframe获取动画帧

附录14.6实体模型

函数名功能描述函数名功能描述

cylinder圆柱体生成sphere球体生成

附录15图形处理

附录15.1图形窗口生成与控制

函数名功能描述函数名功能描述

clf清除当前图形窗口gcf获取当前图形的窗口句柄

close关闭图形窗口refresh图形窗口刷新

figure生成图形窗口shg显示图形窗口

附录15.2坐标轴建立与控制

函数名功能描述函数名功能描述

axes坐标轴标度设置gca获得当前坐标轴句柄

axis坐标轴位置设置hold设置当前图形保护模式

box坐标轴盒状显示ishold返回hold的状态

caxis为彩色坐标轴刻度subplot将图形窗口分为几个区域

cla清除当前坐标轴

附录15.3处理图形对象

函数名功能描述函数名功能描述

axes坐标轴生成surface表面生成

figure图形窗口生成text文本生成

image图像生成unicontrol生成一个用户接口控制

light光源生成uimenu菜单生成

line线生成

附录15.4图形

函数名功能描述函数名功能描述

copyobj图像对象拷贝gcbo获得当前回调对象的句柄

delete对象删除gco获得当前对象的句柄

drawnow消除未解决的图像对象事件get获得对象属性

findobj查找对象reset重新设置对象属性

gebf获得当前回调窗口的句柄set设置对象属性

附录16GUI(图形用户接口)

附录16.1GUI函数

函数名功能描述函数名功能描述

ginput获取鼠标输入uiresume继续执行

selectmoveresize对象的选择、移动、大小设置、拷贝uiwait中断执行uicontrol生成图形用户接口对象waitgorbutterpress等待按钮输入uimenu生成菜单对象waitfor中断执行

附录16.2GUI设计工具

函数名功能描述函数名功能描述

align坐标轴与用户接口控制的对齐工具menuedit菜单编辑器

cbedit回调函数编辑器propedit属性编辑器

guide GUI设计工具

附录16.3对话框

函数名功能描述函数名功能描述

dialog对话框生成printdlg打印对话框

axlimdig坐标轴设限对话框questdlg请求对话框

errordlg错误对话框uigetfile标准的打开文件对话框

helpdlg帮助对话框uiputfile标准的保存文件对话框

inputdlg输入对话框uisetcolor颜色选择对话框

listdlg列表选择对话框uisetfont字体选择对话框

msgdlg消息对话框waitbar等待条显示

pagedlg页位置对话框warndlg警告对话框

附录16.4菜单

函数名功能描述函数名功能描述

makemenu生成菜单结构umtoggle菜单对象选中状态切换menubar设置菜单条属性wimenu生成window菜单项的子菜单

附录16.5组按钮

函数名功能描述函数名功能描述

btndown组按钮中的按钮按下btnstate查询按钮中的按钮状态btngroup组按钮生成btnup组按钮中的按钮弹起

btnpress组按钮中的按钮按下管理

附录16.6自定义窗口属性

函数名功能描述函数名功能描述

clruprop清除用户自定义属性setuprop设置用户自定义属性getuprop获取用户自定义属性

附录16.7其他应用

函数名功能描述函数名功能描述

allchild获取所有子对象popupstr获取弹出式菜单选中项的字符串edtext坐标轴文本对象编辑remapfig改变窗口中对象的位置findall查找所有对象setptr设置窗口指针

getptr获得窗口指针setstatus设置窗口中文本传状态getstatus获取窗口中文本状态

附录17声音处理

函数名功能描述函数名功能描述

soond将向量转换成声音wavread读。wav文件

auread读。au文件wavwrite写。wav文件

auwrite写。au文件

附录18字符串处理函数

附录18.1字符串处理

函数名功能描述函数名功能描述

strings Matlab字符串函数说明upper字符串大写

isstr字符串判断lower字符串小写

deblank删除结尾空格isletter字母判断

str2mat字符串转换成文本isspace空子符判断

strcmp字符串比较strrep字串查找

findstr字串查找strtok标记查找

附录18.2字符串与数值转换

函数名功能描述函数名功能描述

num2str变数值为字符串sprintf数值的格式输出

str2num变字符串为数值sscanf数值的格式输入

int2str变整数为字符串

附录18.3进制转换

函数名功能描述函数名功能描述

hex2num十六进制到IEEE标准下浮点数的轮换hex2dec十六进制到十进制的轮换dec2hex十进制到十六进制的轮换

附录19文件输入输出函数

附录19.1基本文件输入输出

函数名功能描述函数名功能描述

fclose关闭文件feof文件结尾检测

fopen打开文件ferror文件I/O错误查询

fread读二进制流文件frewind文件指针回绕

fwrite写二进制流文件fseek设置文件指针位置

fgetl读文本文件(无行结束符)ftell获得文件指针位置

fgets读文本文件(含行结束符)sprintf格式化数据转换为字符串

fprintf写格式化数据到文件sscanf依数据格式化读取字符串

fscanf从文件读格式化数据

附录19.2特殊文件输入输出

函数名功能描述函数名功能描述

imfinfo获得图形文件信息wklread读一Lotus123WK1数据表

imread图像的文件读取wklwrite将一矩阵写入Lotus123WK1数据表文件

imwrite图像的文件保存xlgetrange读Excel表格文件的数据

qrwrite保存一段QuickTime电影文件xlsetrange写Excel文件

附录20位操作

函数名功能描述函数名功能描述

bitand位求与bitor位求或

bitcmp位求补bitset位设置

bitget位获取bitshift位移动

bitmax求最大无符号浮点整数bitxor位异或

附录21复杂数据类型

附录21.1数据类型

函数名功能描述函数名功能描述

cell生成单元数组sparse生成稀疏数组

char生成字符串struct生成结构

double转换成双精度型uint8转换成无字符号单字节整数

inline生成INLINE对象

附录21.2结构操作

函数名功能描述函数名功能描述

fieldnames获得结构的子段名rnfield删除结构子段

getfield获得结构的子段值setfield设置结构的子段值

isfield如果子段属于结构则返回真struct生成结构数组

isstruct如果是结构则返回真struct2cell结构到单元数组的转换

附录21.3多维数组操作

函数名功能描述函数名功能描述

cat数组连接permute任意改变矩阵维数序列

ipermute任意改变矩阵维数序列shiftdim矩阵维数序列的左移变换ndims求矩阵维数squeeze去除多维数组中的一维向量

ndgrid N维数组生成

附录21.4单元数组操作

函数名功能描述函数名功能描述

cell单元数组生成iscell如果是单元数组则返回真

celldisp显示单元数组内容num2cell将数值数组转换为单元数组cellplot单元数组内容的图形显示struct2cell将结构数组转换为单元数组cell2struct单元数组转换成结构数组

附录21.5面向对象函数

函数名功能描述函数名功能描述

class生成一个对象methods显示所有方法名

isa如果是某一给定类对象则返回真struct将对象转换为结构数组isobject如果是一个对象则返回真superiorto建立类间的关系检里inferiorto建立类间的关系检里

附录22日期与时间

函数名功能描述函数名功能描述

now以数字形式给出当前日期和时间weekday星期函数

date以字符转形式给出当前日期eomday月末日判断函数

clock以向量形式给出当前日期和时间cputime所用CPU的时间datenum日期的数字形式转换tic启动秒表计时器

datestr日期的字符串形式转换toc读取秒表计时器

datevec日期的向量形式转换etime使用时间函数

calendar日历函数pause暂停函数

附录23动态数据交换

函数名功能描述函数名功能描述

ddeadv设置DDE连接dderep接收数据

ddeexec发送要执行的串ddeterm DDE终止

ddeinit DDE初始化ddeunadv释放DDE连接

ddepoke发送数据

matlab实验十七__牛顿迭代法(可打印修改)

实验十七牛顿迭代法 【实验目的】 1.了解牛顿迭代法的基本概念。 2.了解牛顿迭代法的收敛性和收敛速度。 3.学习、掌握MATLAB软件的有关命令。 【实验内容】 用牛顿迭代法求方程的近似根,误差不超过。 3210 ++-=3 10- x x x 【实验准备】 1.牛顿迭代法原理 2.牛顿迭代法的几何解析 3.牛顿迭代法的收敛性 4.牛顿迭代法的收敛速度 5.迭代过程的加速 6.迭代的MATLAB命令 MATLAB中主要用for,while等控制流命令实现迭代。 【实验重点】 1.牛顿迭代法的算法实现 2.牛顿迭代法收敛性和收敛速度 【实验难点】 1.牛顿迭代法收敛性和收敛速度 【实验方法与步骤】 练习1用牛顿迭代法求方程在x=0.5附近的近似 3210 ++-= x x x

根,误差不超过。 310-牛顿迭代法的迭代函数为 322()1()()321 f x x x x g x x x f x x x ++-=-=-'++相应的MATLAB 代码为 >>clear; >>x=0.5; >>for i=1:3 >>x=x-(x^3+x^2+x-1)/(3*x^2+2*x+1) >>end 可算的迭代数列的前3项0.5455,0.5437,0.5437。经三次迭代,就大大超过了精度要求。 练习2 用牛顿迭代法求方程的近似正实根,由此建2(0)x a a =>立一种求平方根的计算方法。 由计算可知,迭代格式为,在实验12的练习4中1()()2a g x x x =+已经进行了讨论。 【练习与思考】 1.用牛顿迭代法求方程的近似根。 ln 1x x =2.为求出方程的根,在区间[1,2]内使用迭代函数进行310x x --=迭代,纪录迭代数据,问迭代是否收敛?对迭代进行加速,对比加速前的数据,比较加速效果。 3.使用在不动点的泰勒公式,证明牛顿迭代法收敛原理。*x

matlab常用操作命令

matlab常用操作备忘(1)2007-11-30 22:01:06 分类: 北京理工大学 20981 陈罡 帮助朋友做几个数据的卷积的仿真,一用才知道,呵呵,发现对不住偶的导师了。。。好多matlab的关键字和指令都忘记了。特意收集回顾一下: (1)管理命令和函数 addpath :添加目录到MATLAB搜索路径 doc :在Web浏览器上现实HTML文档 help :显示Matlab命令和M文件的在线帮助 helpwin helpdesk :help 兄弟几个 lookfor :在基于Matlab搜索路径的所有M文件中搜索关键字 partialpath:部分路径名 8*) path :所有关于路径名的处理 pathtool :一个不错的窗口路径处理界面 rmpath :删除搜索路径中指定目录 type :显示指定文件的内容 ver :版本信息 version :版本号 web :打开web页 what :列出当前目录吓所有的M文件 Mat文件和 Mex文件 whatsnew :显示readme文件 which :显示文件位置 (2)管理变量和工作区 clear :从内存中删除所有变量,clear x y z是删除某个变量 disp :显示文本或数组内容 length :数组长度(最长维数) load :重新载入变量(从磁盘上) mlock :锁定文件,防止文件被错误删除 munlock :解锁文件 openvar :在数组编辑器中打开变量 pack :整理内存空间 save :保存变量到文件 8*) size :数组维数

who whos :列出内存变量 workspace :显示工作空间窗口 (3)管理命令控制窗口(command窗口) clc :清空命令窗口 echo :禁止或允许显示执行过程 format :设置输出显示格式 home :光标移动到命令窗口左上角 more :设置命令窗口页输出格式 (4)文件和工作环境 cd :改变工作目录 copyfile :复制文件 delete :删除文件和图形对象 diary :把命令窗口的人机交互保存到文件 dir :显示目录 edit :编辑文本文件 fileparts :返回文件的各个部分 fullfile :使用指定部分建立文件全名 inmem :返回内存(伪代码区)的matlab函数名 ls :在unix系统中列出目录(win中亦可) matlabroot :根目录 mkdir :新建目录 open :打开文件 pwd :显示当前目录 tempdir :返回系统临时目录的名字 tempname :随机给出一个临时字符串(可用作文件名) ! :直接调用操作系统command命令 (5)启动和推出matlab matlabrc :Matlab的启动M文件 exit quit :退出Matlab startup :运行matlab启动文件 (6)程序设计 builtin :从可重载方法中调用内置函数 eval :执行包含可执行表达式的字符串

matlab程序大全答案

频率特性类题目 1 一个系统的开环传递函数为 ,试绘制其当K=5、30时系统的开环频率特性Nyquist 图,并判断系统的稳定性。 w=linspace(0.5,5,1000)*pi; sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) nyquist(sys1,w) title('system nyquist charts with k=5') figure(2) nyquist(sys2,w) title('system nyquist charts with k=30') 由图可知K=5时,开环Nyquist 曲线没有包围(-1,j0)点,所以系统稳定。 K=30时,开环Nyquist 曲线包围(-1,j0)点,所以系统不稳定。 2系统开环传递函数为 ,建立其零极点增益模型, 然后分别绘制当K=5、K=30时系统的开环频率特性Bode 图,并判断系统的稳定性。 sys1=zpk([],[0 -10 -2],100) sys2=zpk([],[0 -10 -2],600) figure(1) [Gm1,Pm1,Wcg1,Wcp1]=margin(sys1) bode(sys1) title('system bode charts with k=5'),grid figure(2) [Gm2,Pm2,Wcg2,Wcp2]=margin(sys2) bode(sys2) title('system bode charts with k=30'),grid 因为K=5时,Wcg>Wcp,所以系统稳定。 K=10时,Wcg

matlab相关图形实现代码

根据数据点绘制饼图和针状图: x=[1 2 3 4 5 6]; >> subplot(2,2,1);pie(x); >> subplot(2,2,2);pie3(x); >> subplot(2,2,3);stem(x); >>subplot(2,2,4);stem3(x); 5% 10% 14% 19% 24% 29% 24% 29% 19% 5%14% 10%0 2 4 6 2 4 6 5 10 01 2 05 10

根据数据点绘制向量场图、羽状图和罗盘图: x=[1 2 3 4 5 6];y=[1 2 3 4 5 6]; u=[1 2 3 4 5 6];v=[1 2 3 4 5 6]; subplot(2,2,1);quiver(x,y,u,v); subplot(2,2,2);quiver(x,y,u,v,'r'); subplot(2,2,3);feather(u,v); subplot(2,2,4);compass(u,v); 024680 246 802468 246 80 5 10 15 2 4 6 5 10 30 210 60240 90270 120 300 150330 180

rand(m,n)产生m ×n 均匀分布的随机矩阵,元素取值在0.0~1.0。 randn 函数:产生标准正态分布的随机数或矩阵的函数。 Y = randn(m,n) 或 Y = randn([m n])返回一个m*n 的随机项矩阵。 > theta=10*rand(1,50); %确定50个随机数theta >> Z=peaks; %确定Z 为峰值函数peaks >> x=0:0.01:2*pi;y=sin(x); %确定正弦函数数据点x.y >> t=randn(1000,1); %确定1000个随机数t >> subplot(2,2,1);rose(theta); %关于(theta )的玫瑰花图 >> subplot(2,2,2);area(x,y); %关于(x,y)的面积图 >> subplot(2,2,3);contour(Z); %关于Z 的等值线图(未填充) >> subplot(2,2,4);hist(t); %关于t 的柱状图 5 10 30 210 60 240 90270 120300150330 18000246 -1 -0.500.5 110 20 30 40 10 2030 40-4 -2 2 4 100 200 300

MATLAB代码 解线性方程组的迭代法

解线性方程组的迭代法 1.rs里查森迭代法求线性方程组Ax=b的解 function[x,n]=rs(A,b,x0,eps,M) if(nargin==3) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值elseif(nargin==4) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-A)*x0+b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 2.crs里查森参数迭代法求线性方程组Ax=b的解 function[x,n]=crs(A,b,x0,w,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1; %迭代过程 while(tol>eps) x=(I-w*A)*x0+w*b; n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x;

if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 3.grs里查森迭代法求线性方程组Ax=b的解 function[x,n]=grs(A,b,x0,W,eps,M) if(nargin==4) eps=1.0e-6;%eps表示迭代精度 M=10000;%M表示迭代步数的限制值 elseif(nargin==5) M=10000; end I=eye(size(A)); n=0; x=x0; tol=1;%前后两次迭代结果误差 %迭代过程 while(tol>eps) x=(I-W*A)*x0+W*b;%迭代公式 n=n+1;%n为最终求出解时的迭代步数tol=norm(x-x0); x0=x; if(n>=M) disp('Warning:迭代次数太多,可能不收敛!'); return; end end 4.jacobi雅可比迭代法求线性方程组Ax=b的解 function[x,n]=jacobi(A,b,x0,eps,varargin) if nargin==3 eps=1.0e-6; M=200; elseif nargin<3 error return elseif nargin==5 M=varargin{1}; end D=diag(diag(A));%求A的对角矩阵 L=-tril(A,-1);%求A的下三角阵

matlab代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除存中的变量与函数 pack 整理工作空间存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录 2.1运算符号与特殊字符 函数名功能描述函数名功能描述 + 加 ... 续行标志 - 减 , 分行符(该行结果不显示) * 矩阵乘 ; 分行符(该行结果显示) .* 向量乘 % 注释标志 ^ 矩阵乘方 ! 操作系统命令提示符 .^ 向量乘方矩阵转置 kron 矩阵kron积 . 向量转置 \ 矩阵左除 = 赋值运算 / 矩阵右除 == 关系运算之相等 .\ 向量左除 ~= 关系运算之不等 ./ 向量右除 < 关系运算之小于

MATLAB简单程序大全

MATLAB简单程序大全 求特征值特征向量 A=[2 3 4;1 5 9;8 5 2] det(A) A' rank(A) inv(A) rref(A) eig(A)%求特征值和特征向量 卫星运行问题 h=200,H=51000,R=6378; a=(h+H+2*R)/2; c=(H-h)/2; b=(a^2-c^2)^(1/2); e=c/a; f=sqrt(1-exp(2).*cos(t)^2); l=int(f,t,0,pi/2) L=4*a.*l 动态玫瑰线 n=3;N=10000; theta=2*pi*(0:N)/N; r=cos(n*theta); x=r.*cos(theta); y=r.*sin(theta); comet(x,y) 二重积分 syms x y f=x^2*sin(y); int(int(f,x,0,1),y,0,pi) ezmesh(f,[0,1,0,pi]) 函数画图 syms x;f=exp(-0.2*x)*sin(0.5*x); ezplot(f,[0,8*pi])

玫瑰线 theta=0:0.01:2*pi; r=cos(3*theta); polar(theta,r,'r') 求x^2+y^2=1和x^2+z^2=1所围成的体积 syms x y z R r=1; Z=sqrt(1-x^2); y0=Z; V=8*int(int(Z,y,0,y0),x,0,1) 求导数及图像 f='1/(5+4*cos(x))'; subplot(1,2,1);ezplot(f) f1=diff(f) subplot(1,2,2);ezplot(f1) 绕x轴旋转 t=(0:20)*pi/10; r=exp(-.2*t).*sin(.5*t); theta=t; x=t'*ones(size(t)); y=r'*cos(theta); z=r'*sin(theta); mesh(x,y,z) colormap([0 0 0]) 某年是否闰年 year=input('input year:='); n1=year/4; n2=year/100; n3=year/400; if n1==fix(n1)&n2~=fix(n2) disp('是闰年') elseif n1==fix(n1)&n3==fix(n3) disp('是闰年') else

遗传算法经典MATLAB代码

遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程

%----------------------------------------------- % 初始化(编码) % 函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength 表示染色体的长度(二值数的长度), % 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 计算目标函数值 % 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制

lu分解法、列主元高斯法、jacobi迭代法、gaussseidel法的原理及matlab程序

一、实验目的及题目 1.1 实验目的: (1)学会用高斯列主元消去法,LU 分解法,Jacobi 迭代法和Gauss-Seidel 迭代法解线性方程组。 (2)学会用Matlab 编写各种方法求解线性方程组的程序。 1.2 实验题目: 1. 用列主元消去法解方程组: 1241234 123412343421233234x x x x x x x x x x x x x x x ++=??+-+=??--+=-??-++-=? 2. 用LU 分解法解方程组,Ax b =其中 4824012242412120620266216A --?? ?- ?= ? ?-??,4422b ?? ? ?= ?- ?-?? 3. 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解方程组: 123234 1231234102118311210631125x x x x x x x x x x x x x -+=-??-+=-??-+=??-+-+ =? 二、实验原理、程序框图、程序代码等 2.1实验原理 2.1.1高斯列主元消去法的原理 Gauss 消去法的基本思想是一次用前面的方程消去后面的未知数,从而将方程组化为等价形式: 1111221122222n n n n nn n n b x b x b x g b x b x g b x g +++=??++=????= ? 这个过程就是消元,然后再回代就好了。具体过程如下: 对于1,2, ,1k n =-,若() 0,k kk a ≠依次计算

()() (1)()()(1)()()/,,1, ,k k ik ik kk k k k ij ij ik kj k k k i i ik k m a a a a m a b b m b i j k n ++==-=-=+ 然后将其回代得到: ()() ()()()1/()/,1,2,,1 n n n n nn n k k k k k kj j kk j k x b a x b a x a k n n =+?=??=-=--? ? ∑ 以上是高斯消去。 但是高斯消去法在消元的过程中有可能会出现() 0k kk a =的情况,这时消元就无法进行了,即使主元数() 0,k kk a ≠但是很小时,其做除数,也会导致其他元素数量级的严重增长和舍入误差的扩散。因此,为了减少误差,每次消元选取系数矩阵的某列中绝对值最大的元素作为主元素。然后换行使之变到主元位置上,再进行销元计算。即高斯列主元消去法。 2.1.2直接三角分解法(LU 分解)的原理 先将矩阵A 直接分解为A LU =则求解方程组的问题就等价于求解两个三角形方程组。 直接利用矩阵乘法,得到矩阵的三角分解计算公式为: 1111111 11 1,1,2,,/,2,,,,,1,,,2,3, ()/,1,2, ,i i i i k kj kj km mj m k ik ik im mk kk m u a i n l a u i n u a l u j k k n k n l a l u u i k k n k n -=-===?? ==?? =-=+??=??=-=++≠?? ∑∑且 由上面的式子得到矩阵A 的LU 分解后,求解Ux=y 的计算公式为 11 111,2,3,/()/,1,2, ,1 i i i ij j j n n nn n i i ij j ii j i y b y b l y i n x y u x y u x u i n n -==+=??? =-=?? =??? =-=--?? ∑∑ 以上为LU 分解法。

matlab快捷键大全

1.使用“Tab”键可以在Matlab进行命令输入时补全变量名或者命令名; 2.使用“Ctrl+C”组合键能够强制从运行的或者进入死循环的Matlab程序中退出; 3.使用“上”“下”方向键能够调用Matlab的历史命令; 4.Matlab的变量命名规则注意: a.区分大小写; b.必须以字母开头; c.中间不能有空格、标点符号等; 5.在一条命令或语句的末尾加上一个分号,则Matlab就不会在屏幕上显示这条命令计算的结果; 6.在Matlab中,“...”(3个句点)称为“续行符”,表示同一语句的延续输入; 注意:只有当续行符出现在变量名和运算符之间,才能起到语句延续的作用。出现在一个变量名中间时,是不能实现语句延续的。换句话说,变量名不能分割成两行书写。 7.在进行三角函数运算时,Matlab使用的是“弧度制”而不是“角度制”; 8.选择需要注释的语句块以后,使用“Ctrl+R”可以进行Matlab语句注释;使用“Ctrl+T”可以进行语句块的解注释; 9.Matlab数组的下标是从“1”开始的,这点与C语言不同; 1 0.使用空格和逗号隔开的元素指定的是同一行的元素,使用分号或者回车分开的元素指定的是不同行的元素。 Q1:matlab有没有监视内存的方法? A:用函数whos。 Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...

A:换matlab7的sp2。 Q3:自从安装matlab,一开机就在进程里有matlab。 能不能开机的时候进程就不运行matlab? A:开始-->控制面板-->管理工具-->服务 把MATLAB Server的属性改成“手动”就行了。 Q4:退出matlab7程序运行的快捷键。 A:ctrl+q Q5:matlab7远程控制是否有限制? A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。 Q6:Matlab占用资源太多怎么办? A:用matlab-nojvm启动(如果不需要图形界面)。 Q7:怎样给matlab添加新的toolbox? A:在matlab的文件菜单里边添加路径,选set path。 Q8:请问matlab有没有命令可以调出历史输入啊? A:command history窗口。 Q9:matlab7.0不能在64位的cpu下运行? A:matlab应该是依赖于自己的虚拟机的 但是好像这个虚拟机是在IA32里面作出来的,所以,应该找个带64位的java虚拟机替换原来的,不过不一定能行or so,记不清了) Q10:matlab有没有注释一段的功能? A:选中一段代码,ctrl r就是区段注释 选中一段代码,ctrl t取消区段注释

遗传算法经典MATLAB代码资料讲解

遗传算法经典学习Matlab代码 遗传算法实例: 也是自己找来的,原代码有少许错误,本人都已更正了,调试运行都通过了的。 对于初学者,尤其是还没有编程经验的非常有用的一个文件 遗传算法实例 % 下面举例说明遗传算法% % 求下列函数的最大值% % f(x)=10*sin(5x)+7*cos(4x) x∈[0,10]% % 将x 的值用一个10位的二值形式表示为二值问题,一个10位的二值数提供的分辨率是每为(10-0)/(2^10-1)≈0.01。% % 将变量域[0,10] 离散化为二值域[0,1023], x=0+10*b/1023, 其 中 b 是[0,1023] 中的一个二值数。% % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % 编程 %----------------------------------------------- % 2.1初始化(编码) % initpop.m函数的功能是实现群体的初始化,popsize表示群体的大小,chromlength表示染色体的长度(二值数的长度),

% 长度大小取决于变量的二进制编码的长度(在本例中取10位)。 %遗传算法子程序 %Name: initpop.m %初始化 function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % rand随机产生每个单元 为{0,1} 行数为popsize,列数为chromlength的矩阵, % roud对矩阵的每个单元进行圆整。这样产生的初始种群。 % 2.2 计算目标函数值 % 2.2.1 将二进制数转化为十进制数(1) %遗传算法子程序 %Name: decodebinary.m %产生[2^n 2^(n-1) ... 1] 的行向量,然后求和,将二进制转化为十进制 function pop2=decodebinary(pop) [px,py]=size(pop); %求pop行和列数 for i=1:py pop1(:,i)=2.^(py-i).*pop(:,i); end pop2=sum(pop1,2); %求pop1的每行之和 % 2.2.2 将二进制编码转化为十进制数(2) % decodechrom.m函数的功能是将染色体(或二进制编码)转换为十进制,参数spoint表示待解码的二进制串的起始位置

MATLAB样例之雅克比迭代法

要求: 下面分别使用雅克比迭代法和高斯-赛德尔迭代法求一个方程组的近似解用的线性方程组是按实验要求给的: 7*x1+x2+2*x3=10 x1+8*x2+2*x3=8 2*x1+2*x2+9*x3=6 雅克比迭代法的matlab代码:(老师写的) A=[7,1,2;1,8,2;2,2,9]; b=[10;8;6]; if(any(diag(A))==0) error('error,pause') end eps=input('误差限eps='); N=input('迭代次数N='); D=diag(diag(A)); B=inv(D)*(D-A); f=inv(D)*b; K=0; x0=zeros(size(b)); while 1 x1=B*x0+f K=K+1; fprintf('第-次迭代的近似解为',K) disp(x1'); if norm(x1-x0,inf)N fprintf('迭代超限') end x0=x1; end 高斯-赛德尔迭代法matlab代码:(自己改的)

A=[7,1,2;1,8,2;2,2,9]; b=[10;8;6]; if(all(diag(A))==0) error('error,pause') end eps=input('误差限eps='); N=input('迭代次数N='); D=diag(diag(A)); B=inv(D)*(D-A); f=inv(D)*b; K=0; x0=zeros(size(b)); x00=x0; while 1 x11=B*x0+f; x00(1,1)=x11(1,1); x12=B*x00+f; x00(2,1)=x12(2,1); x13=B*x00+f; x00(3,1)=x13(3,1); x1=x00 K=K+1; fprintf('第-次迭代的近似解为',K) disp(x1'); if norm(x1-x0,inf)N fprintf('迭代超限') end x0=x1; end

基于matlab的车牌号码识别程序代码

基于matlab的汽车牌照识别程序 摘要:本次作业的任务是设计一个基于matlab的汽车牌照识别程序,能够实现车牌图像预处理,车牌定位,字符分割,然后通过神经网络对车牌进行字符识别,最终从一幅图像中提取车牌中的字母和数字,给出文本形式的车牌号码。 关键词:车牌识别,matlab,神经网络 1 引言 随着我国交通运输的不断发展,智能交通系统(Intelligent Traffic System,简称ITS)的推广变的越来越重要,而作为ITS的一个重要组成部分,车辆牌照识别系统(vehicle license plate recognition system,简称LPR)对于交通管理、治安处罚等工作的智能化起着十分重要的作用。它可广泛应用于交通流量检测,交通控制于诱导,机场,港口,小区的车辆管理,不停车自动收费,闯红灯等违章车辆监控以及车辆安全防盗等领域,具有广阔的应用前景。由于牌照是机动车辆管理的唯一标识符号,因此,车辆牌照识别系统的研究在机动车管理方面具有十分重要的实际意义。 2 车辆牌照识别系统工作原理 车辆牌照识别系统的基本工作原理为:将摄像头拍摄到的包含车辆牌照的图像通过视频卡输入到计算机中进行预处理,再由检索模块对牌照进行搜索、检测、定位,并分割出包含牌照字符的矩形区域,然后对牌照字符进行二值化并将其分割为单个字符,然后输入JPEG或BMP格式的数字,输出则为车牌号码的数字。 3 车辆牌照识别系统组成 (1)图像预处理:对汽车图像进行图像转换、图像增强和边缘检测等。 (2)车牌定位:从预处理后的汽车图像中分割出车牌图像。即在一幅车辆图像中找到车牌所在的位置。 (3)字符分割:对车牌图像进行几何校正、去噪、二值化以及字符分割以从车牌图像中分离出组成车牌号码的单个字符图像

matlab代码大全教学文案

m a t l a b代码大全

MATLAB主要命令汇总 MATLAB函数参考 附录1.1 管理用命令 函数名功能描述函数名功能描述 addpath 增加一条搜索路径 rmpath 删除一条搜索路径 demo 运行Matlab演示程序 type 列出.M文件 doc 装入超文本文档 version 显示Matlab的版本号 help 启动联机帮助 what 列出当前目录下的有关文件 lasterr 显示最后一条信息 whatsnew 显示Matlab的新特性 lookfor 搜索关键词的帮助 which 造出函数与文件所在的目录 path 设置或查询Matlab路径 附录1.2管理变量与工作空间用命令 函数名功能描述函数名功能描述 clear 删除内存中的变量与函数 pack 整理工作空间内存 disp 显示矩阵与文本 save 将工作空间中的变量存盘 length 查询向量的维数 size 查询矩阵的维数 load 从文件中装入数据 who,whos 列出工作空间中的变量名 附录1.3文件与操作系统处理命令 函数名功能描述函数名功能描述 cd 改变当前工作目录 edit 编辑.M文件 delete 删除文件 matlabroot 获得Matlab的安装根目录 diary 将Matlab运行命令存盘 tempdir 获得系统的缓存目录 dir 列出当前目录的内容 tempname 获得一个缓存(temp)文件 ! 执行操作系统命令 附录1.4窗口控制命令 函数名功能描述函数名功能描述 echo 显示文件中的Matlab中的命令 more 控制命令窗口的输出页面format 设置输出格式 附录1.5启动与退出命令 函数名功能描述函数名功能描述 matlabrc 启动主程序 quit 退出Matlab环境 startup Matlab自启动程序 附录2 运算符号与特殊字符附录

matlab信道仿真经典源程序

% % % Rayleigh Fading Channel Signal Generator % Using the Dent Model (a modification to the Jakes Model) % % Last Modified 10/18/05 % % Author: Avetis Ioannisyan (avetis@https://www.360docs.net/doc/701362223.html,) % % % Usage: % [omega_mTau, Tk] = % ai_RayCh(NumAngles, Length, SymbolRate, NumWaveforms, CarrierFreq, Velocity) % % Where the output omega_mTau is a time scaling factor for plotting % normalized correlations. The LAGS value output by [C,LAGS] = XCORR(...) % should be multiplied by the omega_mTau scaling factor to properly display % axis. Tk is a two dimensional vector [M, N] = SIZE(Tk) with % M=numWaverorms and N=Length specified in the RayCh(...) function call % % And the input variables are: % % NumAngles - scalar power of 2, NumAngles > 2^7 is used to specify the % number of equally strong rays arriving at the receiver. It used to % compute the number of oscillators in the Dent model with N0 = numAngles/4 % % Length - scalar preferably power of 2 for faster computation, Length > 2^17 % is used to specify the length of the generated sequence. Lengths near 1E6 % are close to realistic signals % % SymbolRate - scalar power of 2 and is in kilo-symbols-per-sec is used to % specify what should be the transmission data rate. Slower rates will % provide slowly fading channels. Normal voice and soem data rates are % 64-256 ksps % % NumWaveforms - scalar used to specify how many 'k' waveforms to generate % in the model. NumWaveforms > 2 to properly display plots % % CarrierFreq - scalar expressed in MHz is the carrier frequency of the % tranmitter. Normally 800 or 1900 MHz for mobile comms % % Velocity - scalar expressed in km/hr is the speed of the receiver. % 100 km/hr = 65 mi/hr. Normal values are 20-130 km/hr %

基于matlab的计算器编程附代码

1.需求分析 本次的实验要求是设计一个计算器,主要功能如下: (1)实现基本数学运算(加减乘除等),而且要能进行混合运算 (2)实现部分函数功能,如求平方根、求倒数等 (3)能实现小数运算 界面与标准计算器界面类似 根据要求以及以前的学习情况,决定使用matlab进行编程。Matlab强大的计算功能以及便捷的GUI设计,可以较为简便的实现所要求的功能。按照要求,数据输入和输出支持小数点,支持四则混合运算,决定使用如下几个数据进行分析:(1+3)*5 Sqrt(4) 1/2 Sin4 用以检验是否可以进行加减乘除四则运算、平方根、倒数、正弦的运算。 2.程序设计 M atlab的程序设计较为简便,用GUI设计出一个计算器的模型,然后系统会自动生成一个框架,在框架中,写入每一个按键对应的程序就可以实现功能。 3.调式分析 编程的过程中遇到的问题不是很多,基本就是找要实现各个功能的子程序,通过上网和去图书馆,加上自己的编写,终于实现了实验要求的功能。但是有一点很重要,matlab不支持中文,所以从路径到文件名必须是全英文的,不然就无法识别。此外,给每个按键命名也是很重要的,不然在生成的程序框架里面,就无法识别各个按键的作用,编写程序的时候也就无法做到一一对应。 4.使用说明 程序的使用比较简单,由于是可视化界面,直接打开matlab,然后建立一个GUI 工程,再打开生成的fig文件,就是一个计算器的界面,直接按照市面上卖的计算器的

方法,按键使用即可。 5.测试结果 计算结果为20 4sqrt=2 Sin4结果为 1/2=0.5 经过计算,这些结果均与实际结果相吻合,计算器的功能实现的较为完好。 6.心得体会 本次试验由于不限制语言,于是计算功能强大,操作简便的matlab变成了首选,matlab的GUI设计,操作是较为简单的,首先建立一个GUI工程,然后用可视化界面,

matlab的编码大全

附录Matlab源程序 附录A 信息熵 % 函数说明:% % H=entropy(P,r) 为信息熵函数% % P为信源的概率矢量, r为进制数% % H为信息熵% %****************************** % function H=entropy(P,r) if (length(find(P<=0))~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end if (abs(sum(P)-1)>10e-10) error('Not a prob.vector,component do not add up to 1'); end H=(sum(-P.*log2(P)))/(log2(r)+eps); 附录B 离散无记忆信道容量的迭代计算 % 信道容量C的迭代算法% % 函数说明:% % [CC,Paa]=ChannelCap(P,k) 为信道容量函数% % 变量说明:% % P:输入的正向转移概率矩阵,k:迭代计算精度% % CC:最佳信道容量,Paa:最佳输入概率矩阵% % Pa:初始输入概率矩阵,Pba:正向转移概率矩阵% % Pb:输出概率矩阵,Pab:反向转移概率矩阵% % C:初始信道容量,r:输入符号数,s:输出符号数% %************************************************** % function [CC,Paa]=ChannelCap(P,k) % 提示错误信息 if (length(find(P<0)) ~=0) error('Not a prob.vector,negative component'); % 判断是否符合概率分布条件end

相关文档
最新文档