当前位置:文档之家› (完整word版)matlab经典代码大全

(完整word版)matlab经典代码大全

(完整word版)matlab经典代码大全
(完整word版)matlab经典代码大全

哈哈哈

MATLAB

显示正炫余炫图:plot(x,y1,'* r',x,y2,'o b')

定义【0,2π】;t=0:pi/10:2*pi;

定义函数文件:function [返回变量列表]=函数名(输入变量列表)

顺序结构:选择结构

1)if-else-end语句

其格式为:

if 逻辑表达式

程序模块1;

else

程序模块2;

End

图片读取:%选择图片路径

[filename, pathname] = ...

uigetfile({'*.jpg';'*.bmp';'*.gif'},'选择图片');

%合成路径+文件名

str=[pathname,filename];

%为什么pathname和filename要前面出现的位置相反才能运行呢???%读取图片

im=imread(str);

%使用图片

axes(handles.axes1);

%显示图片

imshow(im);

边缘检测:

global im

str=get(hObject,'string');

axes (handles.axes1);

switch str

case ' 原图'

imshow(im);

case 'sobel'

BW = edge(rgb2gray(im),'sobel');

imshow(BW);

case 'prewitt'

BW = edge(rgb2gray(im),'prewitt');

imshow(BW);

case 'canny'

BW = edge(rgb2gray(im),'canny');

imshow(BW);Canny算子边缘定位精确性和抗噪声能力效果较好,是一个折中方案

end;

开闭运算:

se=[1,1,1;1,1,1;1,1,1;1,1,1]; %Structuring Element

I=rgb2gray(im);

imshow(I,[]);title('Original Image');

I=double(I);

[im_height,im_width]=size(I);

[se_height,se_width]=size(se);

halfheight=floor(se_height/2);

halfwidth=floor(se_width/2);

[se_origin]=floor((size(se)+1)/2);

image_dilation=padarray(I,se_origin,0,'both'); %Image to be used for dilation

image_erosion=padarray(I,se_origin,256,'both'); %Image to be used for erosion %%%%%%%%%%%%%%%%%%

%%% Dilation %%%

%%%%%%%%%%%%%%%%%%

for k=se_origin(1)+1:im_height+se_origin(1)

for kk=se_origin(2)+1:im_width+se_origin(2)

dilated_image(k-se_origin(1),kk-se_origin(2))=max(max(se+image_dilation(k-se_origin(1):k+halfh eight-1,kk-se_origin(2):kk+halfwidth-1)));

end

end

figure;imshow(dilated_image,[]);title('Image after Dilation'); %%%%%%%%%%%%%%%%%

%%% Erosion %%%

%%%%%%%%%%%%%%%%%

se=se';

for k=se_origin(2)+1:im_height+se_origin(2)

for kk=se_origin(1)+1:im_width+se_origin(1)

eroded_image(k-se_origin(2),kk-se_origin(1))=min(min(image_erosion(k-se_origin(2):k+halfwidth -1,kk-se_origin(1):kk+halfheight-1)-se));

end

end

figure;imshow(eroded_image,[]);title('Image after Erosion'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Opening(Erosion first, then Dilation) %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

se=se';

image_dilation2=eroded_image; %Image to be used for dilation

for k=se_origin(1)+1:im_height-se_origin(1)

for kk=se_origin(2)+1:im_width-se_origin(2)

opening_image(k-se_origin(1),kk-se_origin(2))=max(max(se+image_dilation2(k-se_origin(1):k+hal fheight-1,kk-se_origin(2):kk+halfwidth-1)));

end

end

figure;imshow(opening_image,[]);title('Opening Image'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% Closing(Dilation first, then Erosion) %%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

se=se';

image_erosion2=dilated_image; %Image to be used for erosion

for k=se_origin(2)+1:im_height-se_origin(2)

for kk=se_origin(1)+1:im_width-se_origin(1)

closing_image(k-se_origin(2),kk-se_origin(1))=min(min(image_erosion2(k-se_origin(2):k+halfwidt h-1,kk-se_origin(1):kk+halfheight-1)-se));

end

end

figure;imshow(closing_image,[]);title('Closing Image');

Warning: Image is too big to fit on screen; displaying at 31% scale.

> In truesize>Resize1 at 308

In truesize at 44

In imshow at 161

图像的直方图归一化:

I=imread(‘red.bmp’);%读入图像

figure;%打开新窗口

[M,N]=size(I);%计算图像大小

[counts,x]=imhist(I,32);%计算有32个小区间的灰度直方图

counts=counts/M/N;%计算归一化灰度直方图各区间的值

stem(x,counts);%绘制归一化直方图

图像平移:

I=imread('shuichi.jpg');

se=translate(strel(1),[180 190]);

B=imdilate(I,se);

figure;subplot(1,2,1),subimage(I);title('原图像');

subplot(1,2,2),subimage(B);title('平移后图像');

图像的转置;

A=imread('nir.bmp');

tform=maketform('affine',[0 1 0;1 0 0;0 0 1]);

B=imtransform(A,tform,'nearest');

figure;imshow(A);

figure;imshow(B);imwrite(B,'nir转置后图像.bmp');

图像滤波:

B = imfilter(A,H,option1,option2,...)

或写作g = imfilter(f, w, filtering_mode, boundary_options, size_options)

其中,f为输入图像,w为滤波掩模,g为滤波后图像。filtering_mode用于指定在滤波过程中是使用“相关”还是“卷积”。boundary_options用于处理边界充零问题,边界的大小由滤波器的大小确定。具体参数选项见下表:

选项

描述

filtering_mode

‘corr’

通过使用相关来完成,该值为默认。

‘conv’

通过使用卷积来完成

boundary_options

‘X’

输入图像的边界通过用值X(无引号)来填充扩展

其默认值为0

‘replicate’

图像大小通过复制外边界的值来扩展

‘symmetric’

图像大小通过镜像反射其边界来扩展

‘circular’

图像大小通过将图像看成是一个二维周期函数的一个周期来扩展

size_options

‘full’

输出图像的大小与被扩展图像的大小相同

‘same’

输出图像的大小与输入图像的大小相同。这可通过将滤波掩模的中心点的偏移限制到原图像中包含的点来实现,该值为默认值。

中直滤波:

h=medfilt2(I1,[m,n]);

word域代码的详解

word域代码详解 十个特殊指令(域开关),分别是: 1.数组\A、 2.括号\B、 3. 位移\D、 4.分式\F、 5.积分\I、 6.列表\L、 7.重叠\O、 8.根号\R、 9.上下标\S、 10.框\X, 每个开关又有若干个选项,用以精确调节格式。 1. 数组开关\A(): 按行顺序将数组元素排列为多列 域代码:{EQ \a(100,2,31) } 讲解:{EQ\列表(100,2,31排成一列)} 可用参数:\al左对齐;\ac居中;\ar右对齐;\con元素排成n 列;\vsn行间增加n 磅;\hsn列间增加n磅 \al左对齐 域代码:{EQ \a\al(100,2,31)} 讲解:{EQ \列表\左对齐(100,2,31)} \ac居中 域代码:{EQ \a\ac(100,2,31) } 讲解:{EQ \列表\居中对齐(100,2,31)} \ar右对齐 域代码:{EQ \a\ar(100,2,31) } 讲解:{EQ \列表\右对齐(100,2,31)} \con元素排成n列 域代码:{EQ \a\co3(10,2,31,0,1,0,14,3,55)} 讲解:{EQ \列表\元素排成3 列(10,2,31,0,1,0,14,3,55)} \vsn 行间增加n磅 域代码:{EQ \a\co3\vs2(10,2,31,0,1,0,14,3,55)} 讲解:{EQ \列表\元素排成3列\行间增加2磅} \hsn 列间增加n磅 域代码:{EQ \a\co3\vs2\hs4(10,2,31,0,1,0,14,3,55)} 讲解:{EQ \列表\元素排成3列\行间增加2磅\列间增加4磅} 2. 括号开关\B(): 用大小适当的括号括住元素。 域代码:{EQ \b( \a(100,2,31)) } 讲解:{EQ \加括号( \数组(100,2,31))} 可用参数:左括号使用字符* \lc\*;右括号使用字符* \rc\* ;左右括号都使用字符* \bc\* \lc\* 左括号使用字符* 域代码:{EQ \b\lc\|( \a(100,2,31))} 讲解:{EQ \加括号\左括号使用字符|( \数组(100,2,31)) } \rc\* 右括号使用字符* 域代码:{EQ \b\rc\|( \a(100,2,31)) } 讲解:{EQ \加括号\右括号使用字符|( \数组(100,2,31))} \bc\* 左右括号都使用字符*

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代码大全

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程序大全答案

频率特性类题目 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

用域代码处理Word页码

用域代码处理Word页码 一、插入基本页码 例如某份文档,当前设置为每页两栏,现在的要求是在每一栏的下面都插入相应的页码,也就是将原来的第一页设置为1、2页,第二页设置为3、4页,以此类推。简单分析一下,其实左侧栏的页码数可以由公式“当前页码×2-1”后得到,右侧栏的页码数可以由公式“当前页码×2”得到,这里以Word 2007为例进行说明,具体操作步骤如下: 第1步:切换到“页码布局”标签页,执行“分栏→两栏”命令,将当前文档拆分为两栏,至于其他的要求可以暂时取默认设置,效果如图1所示。 图1 Word 2007执行分栏(点击看大图) 第2步:切换到“插入”标签页,在“页脚”下拉菜单中选择“空白”,接下来请在需要添加页码的位置处分别画出两个文本框,右侧栏的文本框可以通过复制获得,见图2。 图2 Word 2007画出文本框(点击看大图 二、插入域代码 第3步:将光标定位在文本框中,注意此时请仍旧切换到“插入”标签页,在“文档部件”下拉菜单中选择“域”,此时会弹出图3所示的对话框,在“类别”下拉列表框中选择“等式和

公式”,在“域名”列表框中选择“= (Formula)”,记得请去除右下角的“更新时保留原格式”复选框。 图3 Word 2007插入域(点击看大图) 单击“确定”按钮,此时文本框中的文字会变为“!异常的公式结尾”,其实这并非错误,只是一行域代码而已,按下“Alt+F9”组合键后会正常显示“{ = }”原形;将光标定位在“=”的后面,继续插入“编号”中的“Page”域,注意请仍旧去除“更新时保留原格式”的复选框,插入后域代码变为“{ ={ PAGE } }”。 第4步:现在,我们应该根据事先的分析,将这个已插入的域更改为“{ ={ PAGE }*2-1 }”,接下来再按照同样的方法,将右侧栏的域代码更改为“{ ={ PAGE }*2 }”(见图4)。 图4 Word 2007修改已插入域(点击看大图) 完成上面的工作后,我们就可以按下“Alt+F9”组合键进行查看,注意请将两个文本框的“线条”的颜色设置为“无颜色”,如图5所示,效果不错吧?如果有需要的话,你可以在页码的前后分别输入“第”和“页”,如果是一页分成了三栏,那么它的域代码应该分别设置为

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简单程序大全

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

word域功能详解

1.什么是域 简单地讲,域就是引导Word在文档中自动插入文字、图形、页码或其他信息的一组代码。每个域都有一个唯一的名字,它具有的功能与Excel中的函数非常相似。下面以Seq和Date域为例,说明有关域的一些基本概念。 形如“{Seq Identifier [Bookmark ] [Switches ]}”的关系式,在Word中称为“域代码”。它是由: 域特征字符:即包含域代码的大括号“{}”,不过它不能使用键盘直接输入,而是按下Ctrl+F9组合键输入的域特征字符。 域名称:上式中的“Seq”即被称为“Seq域”,Word 2003提供了9大类共74种域。 域指令和开关:设定域工作的指令或开关。例如上式中的“Identifier”和“Bookmark”,前者是为要编号的一系列项目指定的名称,后者可以加入书签来引用文档中其他位置的项目。“Switches”称为可选的开关,域通常有一个或多个可选的开关,开关与开关之间使用空格进行分隔。 域结果:即是域的显示结果,类似于Excel函数运算以后得到的值。例如在文档中输入域代码“{Date \@ "yyyy年m月d日" \* MergeFFormat}”的域结果是当前系统日期。 域可以在无须人工干预的条件下自动完成任务,例如编排文档页码并统计总页数;按不同格式插入日期和时间并更新;通过链接与引用在活动文档中插入其他文档;自动编制目录、关键词索引、图表目录;实现邮件的自动合并与打印;创建标准格式分数、为汉字加注拼音等等。 2.在文档中插入域 (1)使用命令插入域 在Word中,高级的复杂域功能很难用手工控制,如“自动编号”和“邮件合并”、“题注”、“交叉引用”、“索引和目录”等。为了方便用户,9大类共74种域大都以命令的方式提供。 在“插入”菜单中提供有“域”命令,它适合一般用户使用,Word提供的域都可以使用这种方法插入。你只需将光标放置到准备插入域的位置,单击“插入→域”菜单命令,即可打开“域”对话框。 首先在“类别”下拉列表中选择希望插入的域的类别,如“编号”、“等式和公式”等。选中需要的域所在的类别以后,“域名”列表框会显示该类中的所有域的名称,选中欲插入的域名(例如“AutoNum”),则“说明”框中就会显示“插入自动编号”,由此可以得知这个域的功能。对AutoNum域来说,你只要在“格式”列表中选中你需要的格式,单击“确定”按钮就可以把特定格式的自动编号插入页面。如图1所示。 你也可以选中已经输入的域代码,单击鼠标右键,然后选择“更新域”、“编辑域”或“切换域代码”命令,对域进行操作。 (2)使用键盘插入 如果你对域代码比较熟悉,或者需要引用他人设计的域代码,使用键盘直接输入会更加快捷。其操作方法是:把光标放置到需要插入域的位置,按下Ctrl+F9组合键插入域特征字符“{ }”。接着将光标移动到域特征代码中间,按从左向右的顺序输入域类型、域指令、开关等。结束后按键盘上的F9键更新域,或者按下Shift+F9组合键显示域结果。

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

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取消区段注释

巧用域代码处理WORD中页码(双页码)

一、插入基本页码 例如某份文档,当前设置为每页两栏,现在的要求是在每一栏的下面都插入相应的页码,也就是将原来的第一页设置为1、2页,第二页设置为3、4页,以此类推。简单分析一下,其实左侧栏的页码数可以由公式“当前页码×2-1”后得到,右侧栏的页码数可以由公式“当前页码×2”得到,这里以Word 2007为例进行说明,具体操作步骤如下: 第1步:切换到“页码布局”标签页,执行“分栏→两栏”命令,将当前文档拆分为两栏,至于其他的要求可以暂时取默认设置,效果如图1所示。 图1 Word 2007执行分栏 第2步:切换到“插入”标签页,在“页脚”下拉菜单中选择“空白”,接下来请在需要添加页码的位置处分别画出两个文本框,右侧栏的文本框可以通过复制获得,见图2。

图2 Word 2007画出文本框 二、插入域代码 第3步:将光标定位在文本框中,注意此时请仍旧切换到“插入”标签页,在“文档部件”下拉菜单中选择“域”,此时会弹出图3所示的对话框,在“类别”下拉列表框中选择“等式和公式”,在“域名”列表框中选择“= (Formula)”,记得去除右下角的“更新时保留原格式”复选框。

图3 Word 2007插入域 单击“确定”按钮,此时文本框中的文字会变为“!异常的公式结尾”,其实这并非错误,只是一行域代码而已,按下“Alt+F9”组合键后会正常显示“{ = }”原形;将光标定位在“=”的后面,继续插入“编号”中的“Page”域,注意请仍旧去除“更新时保留原格式”的复选框,插入后域代码变为“{ ={ PAGE } }”。 第4步:现在,我们应该根据事先的分析,将这个已插入的域更改为“{ ={ PAGE }*2-1 }”,接下来再按照同样的方法,将右侧栏的域代码更改为“{ ={ PAGE }*2 }”(见图4)。 图4 Word 2007修改已插入域 完成上面的工作后,我们就可以按下“Alt+F9”组合键进行查看,注意请将两个文本框的“线条”的颜色设置为“无颜色”,如图5所示,效果不错吧?如果有需要的话,你可以在页码的前后分别输入“第”和“页”,如果是一页分成了三栏,那么它的

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

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

matlab 指令大全

分享 我的分享 当前分享 返回分享首页? 分享 matlab命令,应该很全了!来源:李家叶的日志 matlab命令 一、常用对象操作:除了一般windows窗口的常用功能键外。 1、!dir 可以查看当前工作目录的文件。!dir& 可以在dos状态下查看。 2、who 可以查看当前工作空间变量名,whos 可以查看变量名细节。 3、功能键: 功能键快捷键说明 方向上键Ctrl+P 返回前一行输入 方向下键Ctrl+N 返回下一行输入 方向左键Ctrl+B 光标向后移一个字符 方向右键Ctrl+F 光标向前移一个字符 Ctrl+方向右键Ctrl+R 光标向右移一个字符 Ctrl+方向左键Ctrl+L 光标向左移一个字符 home Ctrl+A 光标移到行首 End Ctrl+E 光标移到行尾 Esc Ctrl+U 清除一行 Del Ctrl+D 清除光标所在的字符 Backspace Ctrl+H 删除光标前一个字符 Ctrl+K 删除到行尾 Ctrl+C 中断正在执行的命令 4、clc可以命令窗口显示的内容,但并不清除工作空间。 二、函数及运算 1、运算符: +:加,-:减,*:乘,/:除,\:左除^:幂,‘:复数的共轭转置,():制定运算顺序。 2、常用函数表: sin( ) 正弦(变量为弧度) Cot( ) 余切(变量为弧度) sind( ) 正弦(变量为度数) Cotd( ) 余切(变量为度数) asin( ) 反正弦(返回弧度) acot( ) 反余切(返回弧度) Asind( ) 反正弦(返回度数) acotd( ) 反余切(返回度数) cos( ) 余弦(变量为弧度) exp( ) 指数 cosd( ) 余弦(变量为度数)

基于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 仿真 一、实验目的 1.熟悉MATLAB 桌面和命令窗口,初步了解SIMULINK 功能模块的使用方法。 2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。 3.定性了解各参数变化对典型环节动态特性的影响。 二、SIMULINK 的使用 MATLAB 中SIMULINK 是一个用来对动态系统进行建模、仿真和分析的软件包。利用SIMULINK 功能模块可以快速的建立控制系统的模型,进行仿真和调试。 1.运行MATLAB 软件,在命令窗口栏“>>”提示符下键入simulink 命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK 仿真 环境下。 2.选择File 菜单下New 下的Model 命令,新建一个simulink 仿真环境常规模板。 3.在simulink 仿真环境下,创建所需要的系统 三、实验内容 按下列各典型环节的传递函数,建立相应的SIMULINK 仿真模型,观察并记录其单位阶跃响应波形。 ① 比例环节1)(1=s G 和2)(1=s G 实验处理:1)(1=s G SIMULINK 仿真模型

波形图为: 实验处理:2)(1=s G SIMULINK 仿真模型 波形图为: 实验结果分析:增加比例函数环节以后,系统的输出型号将输入信号成倍数放大. ② 惯性环节11)(1+= s s G 和15.01)(2+=s s G 实验处理:1 1 )(1+=s s G SIMULINK 仿真模型

波形图为: 实验处理:1 5.01 )(2+= s s G SIMULINK 仿真模型 波形图为: 实验结果分析:当1 1 )(1+= s s G 时,系统达到稳定需要时间接近5s,当

数字图像处理MATLAB相关代码

1.图像反转 MATLAB程序实现如下: I=imread('xian.bmp'); J=double(I); J=-J+(256-1); %图像反转线性变换 H=uint8(J); subplot(1,2,1),imshow(I); subplot(1,2,2),imshow(H); 2.灰度线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); subplot(2,2,1),imshow(I); title('原始图像'); axis([50,250,50,200]); axis on; %显示坐标系 I1=rgb2gray(I); subplot(2,2,2),imshow(I1); title('灰度图像'); axis([50,250,50,200]); axis on; %显示坐标系 J=imadjust(I1,[0.1 0.5],[]); %局部拉伸,把[0.1 0.5]内的灰度拉伸为[0 1] subplot(2,2,3),imshow(J); title('线性变换图像[0.1 0.5]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 K=imadjust(I1,[0.3 0.7],[]); %局部拉伸,把[0.3 0.7]内的灰度拉伸为[0 1] subplot(2,2,4),imshow(K); title('线性变换图像[0.3 0.7]'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 3.非线性变换 MATLAB程序实现如下: I=imread('xian.bmp'); I1=rgb2gray(I); subplot(1,2,1),imshow(I1); title('灰度图像'); axis([50,250,50,200]); grid on; %显示网格线 axis on; %显示坐标系 J=double(I1); J=40*(log(J+1)); H=uint8(J);

Matlab代码1运行结果

when rho=0.7000 epsilon_c2=0.9760183979. when rho=0.6500 epsilon_c1=0.9545430725. when rho=0.6500 epsilon_c2=0.9808187253. when rho=0.6000 epsilon_c1=0.9637291916. when rho=0.6000 epsilon_c2=0.9844500729. when rho=0.5500 epsilon_c1=0.9709578854. when rho=0.5500 epsilon_c2=0.9872930980. when rho=0.5000 epsilon_c1=0.9767709652. when rho=0.5000 epsilon_c2=0.9895793686. when rho=0.4500 epsilon_c1=0.9815214506. when rho=0.4500 epsilon_c2=0.9914578443. when rho=0.4000 epsilon_c1=0.9854483433. when rho=0.4000 epsilon_c2=0.9930286972. when rho=0.3500 epsilon_c1=0.9887183111. when rho=0.3500 epsilon_c2=0.9943617736. when rho=0.3000 epsilon_c1=0.9914501549. when rho=0.3000 epsilon_c2=0.9955072624. when rho=0.2500 epsilon_c1=0.9937297787. when rho=0.2500 epsilon_c2=0.9965021564. when rho=0.2000 epsilon_c1=0.9956196526. when rho=0.2000 epsilon_c2=0.9973743212. when rho=0.1500 epsilon_c1=0.9971649360. when rho=0.1500 epsilon_c2=0.9981451473. when rho=0.1000 epsilon_c1=0.9983974871. when rho=0.1000 epsilon_c2=0.9988313269. when rho=0.0500 epsilon_c1=0.9993384730. when rho=0.0500 epsilon_c2=0.9994460773. when rho=0.0000 epsilon_c1=1.0000000000. when rho=0.0000 epsilon_c2=1.0000000000. out = Columns 1 through 11 0 0.0500 0.1000 0.1500 0.2000 0.2500 0.3000 0.3500 0.4000 0.4500 0.5000 0.0000 0.6540 0.8011 0.8661 0.9027 0.9262 0.9425 0.9545 0.9637 0.9710 0.9768 0 0.8333 0.9134 0.9437 0.9596 0.9694 0.9760 0.9808 0.9845 0.9873 0.9896 Columns 12 through 21 0.5500 0.6000 0.6500 0.7000 0.7500 0.8000 0.8500 0.9000

word域功能详解1

域应用基础 1.什么是域 简单地讲,域就是引导Word在文档中自动插入文字、图形、页码或其他信息的一组代码。每个域都有一个唯一的名字,它具有的功能与Excel中的函数非常相似。下面以Seq和Date域为例,说明有关域的一些基本概念。 形如“{Seq Identifier [Bookmark ] [Switches ]}”的关系式,在Word中称为“域代码”。它是由: 域特征字符:即包含域代码的大括号“{}”,不过它不能使用键盘直接输入,而是按下Ctrl+F9组合键输入的域特征字符。 域名称:上式中的“Seq”即被称为“Seq域”,Word 2003提供了9大类共74种域。 域指令和开关:设定域工作的指令或开关。例如上式中的“Identifier”和“Bookmark”,前者是为要编号的一系列项目指定的名称,后者可以加入书签来引用文档中其他位置的项目。“Switches”称为可选的开关,域通常有一个或多个可选的开关,开关与开关之间使用空格进行分隔。 域结果:即是域的显示结果,类似于Excel函数运算以后得到的值。例如在文档中输入域代码“{Date \@ "yyyy年m月d日" \* MergeFForma t}”的域结果是当前系统日期。 域可以在无须人工干预的条件下自动完成任务,例如编排文档页码并统计总页数;按不同格式插入日期和时间并更新;通过链接与引用在活动文档中插入其他文档;自动编制目录、关键词索引、图表目录;实现邮件的自动合并与打印;创建标准格式分数、为汉字加注拼音等等。 2.在文档中插入域 (1)使用命令插入域 在Word中,高级的复杂域功能很难用手工控制,如“自动编号”和“邮件合并”、“题注”、“交叉引用”、“索引和目录”等。为了方便用户,9大类共74种域大都以命令的方式提供。 在“插入”菜单中提供有“域”命令,它适合一般用户使用,Word提供的域都可以使用这种方法插入。你只需将光标放置到准备插入域的位置,单击“插入→域”菜单命令,即可打开“域”对话框。 首先在“类别”下拉列表中选择希望插入的域的类别,如“编号”、“等式和公式”等。选中需要的域所在的类别以后,“域名”列表框会显示该类中的所有域的名称,选中欲插入的域名(例如“AutoNum”),则“说明”框中就会显示“插入自动编号”,由此可以得知这个域的功能。对AutoNum域来说,你只要在“格式”列表中选中你需要的格式,单击“确定”按钮就可以把特定格式的自动编号插入页面。如图1所示。 你也可以选中已经输入的域代码,单击鼠标右键,然后选择“更新域”、“编辑域”或“切换域代码”命令,对域进行操作。 (2)使用键盘插入 如果你对域代码比较熟悉,或者需要引用他人设计的域代码,使用键盘直接输入会更加快捷。其操作方法是:把光标放置到需要插入域的位置,按下Ctrl+F9组合键插入域特征字符“{ }”。接着将光标移动到域特征代码中间,按从左向右的顺序输入域类型、域指令、开关等。结束后按键盘上的F9键更新域,或者按下Shift+F9组合键显示域结果。

相关主题
文本预览
相关文档 最新文档