当前位置:文档之家› 第10章_MATLAB Simulink仿真软件_例题源程序

第10章_MATLAB Simulink仿真软件_例题源程序

第10章_MATLAB Simulink仿真软件_例题源程序
第10章_MATLAB Simulink仿真软件_例题源程序

第10章 MATLAB Simlllink 仿真软件

例10.1 设系统的微分方程为:

'

12'0.522 e

t

x x t

x x -?=??=?? 试建立系统仿真模型。

例10.2 利用Simulink 构建函数曲线y =5t 2+16。 例10.3 利用Simulink 仿真求I =1

0ln(1)d x x x +?。

例10.4 有初始状态为0的二阶微分方程x "+0.2x '+0.4x =0.2u (t ),其中u (t )是单位阶跃函数,试建立系统模型并仿真。

例10.5 PID 控制器是在自动控制中经常使用的模块,在工程应用中其标准的数学模型为

)()/1

1()(s E N

s T s T s T K s U d d i p ++

= 其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一般选N ≥10。试建立PID 控制器的模型并建立子系统。 例10.6 利用使能子系统构成一个正弦半波整流器。 例10.7 利用触发子系统将一锯齿波转换成方波。

例10.8 采用S 函数实现模块y =nx ,即模块的功能是把一个输入信号n 倍以后再输出。

(1) 利用MATLAB 语言编写S 函数。程序如下:

%************************************************* %S 函数timesn.m ,其输出是输入的n 倍

%************************************************* function [sys,x0,str,ts]=timesn(t,x,u,flag,n) switch flag,

case 0 %初始化

[sys,x0,str,ts]=mdlInitializeSizes;

case 3 %计算输出量

sys=mdlOutputs(t,x,u,n);

case {1,2,4,9} %未使用的flag 值

sys=[];

otherwise %出错处理

error(['Unhandle flag=',num2str(flag)]);

end

%*************************************************

%mdlInitializeSizes:当flag为0 时进行整个系统的初始化

%*************************************************

function [sys,x0,str,ts]=mdlInitializeSizes(T)

%调用函数simsizes以创建结构体sizes

sizes=simsizes;

%用初始化信息填充结构体sizes

sizes.NumContStates=0; %无连续状态

sizes.NumDiscStates=0; %无离散状态

sizes.NumOutputs=1; %有一个输出量

sizes.NumInputs=1; %有一个输入信号

sizes.DirFeedthrough=1; %输出量中含有输入量

sizes.NumSampleTimes=1; %单个采样周期

%根据上面的设置设定系统初始化参数

sys=simsizes(sizes);

%给其他返回参数赋值。

x0=[]; %设置初始状态为零状态

str=[]; %将str变量设置为空字符串

ts=[-1,0]; %假定继承输入信号的采样周期

%初始化子程序结束

%*************************************************

%mdlOutputs:当flag值为3时,计算输出量

%*************************************************

function sys=mdlOutputs(t,x,u,n)

sys=n*u;

%输出量计算子程序结束。

(2) 模块的封装与测试。

例10.9采用S函数来构造非线性分段函数。

2213,133(3),342,452(5),561,6

x x x x y x x x x ?

?--≤

≥??

(1) 利用MATLAB 语言编写S 函数。程序如下:

function [sys,x0,str,ts]=sfunction(t,x,u,flag) switch flag, case 0,

[sys,x0,str,ts]=mdlInitializeSizes; case 3,

sys=mdlOutputs(t,x,u); case {1,2,4,9} sys=[]; otherwise

error(['Unhandled flag=',num2str(flag)]); end

function[sys,x0,str,ts]=mdlInitializeSizes sizes= simsizes; sizes.NumContStates= 0; sizes.NumDiscStates= 0; sizes.NumOutputs= 1; sizes.NumInputs= 1; sizes.DirFeedthrough= 1; sizes.NumSampleTimes= 1; sys=simsizes(sizes); x0=[]; str=[]; ts=[0 0];

function sys=mdlOutputs(t,x,u) if u<1

sys=3*sqrt(u);

elseif u>=1&u<3

sys=3;

elseif u>=3&u<4

sys=3-(u-3)^2;

elseif u>=4&u<5

sys=2;

elseif u>=5&u<6

sys=2-(u-5)^2;

else

sys=1;

end

(2) 模块的测试。

matlab图像处理的几个实例

Matlab图像处理的几个实例(初学者用) 1.图像的基本信息及其加减乘除 clear,clc; P=imread('yjx.jpg'); whos P Q=imread('dt.jpg'); P=im2double(P); Q=im2double(Q); gg1=im2bw(P,0.3); gg2=im2bw(P,0.5); gg3=im2bw(P,0.8); K=imadd(gg1,gg2); L=imsubtract(gg2,gg3); cf=immultiply(P,Q); sf=imdivide(Q,P); subplot(421),imshow(P),title('郁金香原图'); subplot(422),imshow(gg1),title('0.3'); subplot(423),imshow(gg2),title('0.5'); subplot(424),imshow(gg3),title('0.8'); subplot(425),imshow(K),title('0.3+0.5'); subplot(426),imshow(L),title('0.5-0.3'); subplot(427),imshow(cf),title('P*Q'); subplot(428),imshow(sf),title('P/Q'); 2.图像缩放 clear,clc; I=imread('dt.jpg'); A=imresize(I,0.1,'nearest'); B=imresize(I,0.4,'bilinear'); C=imresize(I,0.7,'bicubic'); D=imresize(I,[100,200]); F=imresize(I,[400,100]); figure subplot(321),imshow(I),title('原图'); subplot(322),imshow(A),title('最邻近插值'); subplot(323),imshow(B),title('双线性插值'); subplot(324),imshow(C),title('二次立方插值'); subplot(325),imshow(D),title('水平缩放与垂直缩放比例为2:1'); subplot(326),imshow(F),title('水平缩放与垂直缩放比例为1:4');

Matlab Simulink 仿真步骤

MATLAB基础与应用简明教程 张明等编著 北京航空航天大学出版社(2001.01) MATLAB软件环境是美国New Mexico大学的Cleve Moler博士首创的,全名为MATrix LABoratory(矩阵实验室)。它建立在20世纪七八十年代流行的LINPACK(线性代数计算)和ESPACK(特征值计算)软件包的基础上。LINPACK和ESPACK软件包是从Fortran语言开始编写的,后来改写为C语言,改造过程中较为复杂,使用不便。MA TLAB是随着Windows环境的发展而迅速发展起来的。它充分利用了Windows环境下的交互性、多任务功能语言,使得矩阵计算、数值运算变得极为简单。MA TLAB语言是一种更为抽象的高级计算机语言,既有与C语言等同的一面,又更为接近人的抽象思维,便于学习和编程。同时,它具有很好的开放性,用户可以根据自己的需求,利用MA TLAB提供的基本工具,灵活地编制和开发自己的程序,开创新的应用。 本书重点介绍了MA TLAB的矩阵运算、符号运算、图形功能、控制系统分析与设计、SimuLink仿真等方面的内容。 Chap1 MATLAB入门与基本运算 本章介绍MATLAB的基本概念,包括工作空间;目录、路径和文件的管理方式;帮助和例题演示功能等。重点介绍矩阵、数组和函数的运算规则、命令形式,并列举了可能得到的结果。由于MA TLAB的符号工具箱是一个重要分支,其强大的运算功能在科技领域有特殊的帮助作用。 1.1 MATLAB环境与文件管理 1.2 工作空间与变量管理 1.2.1 建立数据 x1=[0.2 1.11 3]; y1=[1 2 3;4 5 6]建立一维数组x1和二维矩阵y1。分号“;”表示不显示定义的数据。 MATLAB还提供了一些简洁方式,能有规律地产生数组: xx=1:10 %xx从1到10,间隔为1 xx=-2:0.5:1 %xx从-2到1,间隔为0.5 linespace命令等距离产生数组,logspace在对数空间中等距离产生数组。对于这一类命令,只要给出数组的两端数据和维数就可以了。 xx=linespace(d1,d2,n) %表示xx从d1到d2等距离取n个点 xx=logspace(d1,d2,n) %表明xx从10d1到10d2等距离取n个点 1.2.2 who和whos命令 who: 查看工作空间中有哪些变量名 whos: 了解这些变量的具体细节 1.2.3 exist命令 查询当前的工作空间内是否存在一个变量,可以调用exist()函数来完成。 调用格式:i=exist(…A?); 式中,A为要查询的变量名。返回的值i表示A存在的形式: i=1 表示当前工作空间内存在一个变量名为A的矩阵; i=2 表示存在一个名为A.m的文件; i=3 表示MATLAB的工作路径下存在一个名为A.mex的文件;

开关电源《基于MatlabSimulink的BOOST电路仿真》

基于Matlab/Simulink 的BOOST电路仿真 姓名: 学号: 班级: 时间:2010年12月7日

1引言 BOOST 电路又称为升压型电路, 是一种直流- 直流变换电路, 其电路结构如图1 所示。此电路在开关电源领域内占有非常重要的地位, 长期以来广泛的应用于各种电源设备的设计中。对它工作过程的理解掌握关系到对整个开关电源领域各种电路工作过程的理解, 然而现有的书本上仅仅给出电路在理想情况下稳态工作过程的分析, 而没有提及电路从启动到稳定之间暂态的工作过程, 不利于读者理解电路的整个工作过程和升压原理。采用matlab仿真分析方法, 可直观、详细的描述BOOST 电路由启动到达稳态的工作过程, 并对其中各种现象进行细致深入的分析, 便于我们真正掌握BOO ST 电路的工作特性。 图1BOO ST 电路的结构 2电路的工作状态 BOO ST 电路的工作模式分为电感电流连续工作模式和电感电流断续工作模式。其中电流连续模式的电路工作状态如图2 (a) 和图2 (b) 所示, 电流断续模式的电路工作状态如图2 (a)、(b)、(c) 所示, 两种工作模式的前两个工作状态相同, 电流断续型模式比电流连续型模式多出一个电感电流为零的工作状态。 (a) 开关状态1 (S 闭合) (b) 开关状态2 (S 关断) (c) 开关状态3 (电感电流为零) 图2BOO ST 电路的工作状态

3matlab仿真分析 matlab 是一种功能强大的仿真软件, 它可以进行各种各样的模拟电路和数字电路仿真,并给出波形输出和数据输出, 无论对哪种器件和哪种电路进行仿真, 均可以得到精确的仿真结果。本文应用基于matlab软件对BOO ST 电路仿真, 仿真图如图3 所示,其中IGBT作为开关, 以脉冲发生器脉冲周期T=0.2ms,脉冲宽度为50%的通断来仿真图2 中开关S的通断过程。 图3BOO ST 电路的PSp ice 模型 3.1电路工作原理 在电路中IGBT导通时,电流由E经升压电感L和V形成回路,电感L储能;当IGBT关断时,电感产生的反电动势和直流电源电压方向相同互相叠加,从而在负载侧得到高于电源的电压,二极管的作用是阻断IGBT导通是,电容的放电回路。调节开关器件V的通断周期,可以调整负载侧输出电流和电压的大小。负载侧输出电压的平均值为: (3-1) 式(3-1)中T为开关周期, 为导通时间,为关断时间。

图像处理实例(含Matlab代码)

信号与系统实验报告——图像处理 学院:信息科学与工程学院 专业:2014级通信工程 组长:** 组员:** 2017.01.02

目录 目录 (2) 实验一图像一的细胞计数 (3) 一、实验内容及步骤 (3) 二、Matlab程序代码 (3) 三、数据及结果 (4) 实验二图像二的图形结构提取 (5) 一、实验内容及步骤 (5) 二、Matlab程序代码 (5) 三、数据及结果 (6) 实验三图像三的图形结构提取 (7) 一、实验内容及步骤 (7) 二、Matlab程序代码 (7) 三、数据及结果 (8) 实验四图像四的傅里叶变化及巴特沃斯低通滤波 (9) 一、实验内容及步骤 (9) 二、Matlab程序代码 (9) 三、数据及结果 (10) 实验五图像五的空间域滤波与频域滤波 (11) 一、实验内容及步骤 (11) 二、Matlab程序代码 (11) 三、数据及结果 (12)

实验一图像一的细胞计数 一、实验内容及步骤 将该图形进行一系列处理,计算得到途中清晰可见细胞的个数。 首先,由于原图为RGB三色图像处理起来较为麻烦,所以转为灰度图,再进行二值化化为黑白图像,得到二值化图像之后进行中值滤波得到细胞分布的初步图像,为了方便计数对图像取反,这时进行一次计数,发现得到的个数远远多于实际个数,这时在进行一次中值滤波,去掉一些不清晰的像素点,剩下的应该为较为清晰的细胞个数,再次计数得到大致结果。 二、Matlab程序代码 clear;close all; Image = imread('1.jpg'); figure,imshow(Image),title('原图'); Image=rgb2gray(Image); figure,imshow(Image),title('灰度图'); Theshold = graythresh(Image); Image_BW = im2bw(Image,Theshold); Reverse_Image_BW22=~Image_BW; figure,imshow(Image_BW),title('二值化图像'); Image_BW_medfilt= medfilt2(Image_BW,[3 3]); figure,imshow(Image_BW_medfilt),title('中值滤波后的二值化图像'); Reverse_Image_BW = ~Image_BW_medfilt; figure,imshow(Reverse_Image_BW),title('图象取反'); Image_BW_medfilt2= medfilt2(Reverse_Image_BW,[20 20]); figure,imshow(Image_BW_medfilt2),title('第二次中值滤波的二值化图像'); [Label, Number]=bwlabel(Image_BW_medfilt,8);Number [Label, Number]=bwlabel(Image_BW_medfilt2,8);Number

matlab电力电子仿真教程

MATLAB在电力电子技术中的应用 目录 MATLAB在电力电子技术中的应用 (1) MATLAB in power electronics application (2) 目录 (4) 1绪论 (6) 1.1关于MATLAB软件 (6) 1.1.1MATLAB软件是什么 (6) 1.1.2MATLAB软件的特点和基本操作窗口 (7) 1.1.3MATLAB软件的基本操作方法 (10) 1.2电力电子技术 (12) 1.3MATLAB和电力电子技术 (13) 1.4本文完成的主要内容 (14) 2MATLAB软件在电路中的应用 (15) 2.1基本电气元件 (15) 2.1.1基本电气元件简介 (15) 2.1.2如何调用基本电器元件功能模块 (17) 2.2如何简化电路的仿真模型 (19) 2.3基本电路设计方法 (19) 2.3.1电源功能模块 (19) 2.3.2典型电路设计方法 (20) 2.4常用电路设计法 (21) 2.4.1ELEMENTS模块库 (21) 2.4.2POWER ELECTRONICS模块库 (22) 2.5MATLAB中电路的数学描述法 (22) 3电力电子变流的仿真 (25) 3.1实验的意义 (25) 3.2交流-直流变流器 (25)

3.2.1单相桥式全控整流电路仿真 (26) 3.2.2三相桥式全控整流电路仿真 (38) 3.3三相交流调压器 (53) 3.3.1无中线星形联结三相交流调压器 (53) 3.3.2支路控制三角形联结三相交流调压器 (59) 3.4交流-交流变频电路仿真 (64) 3.5矩阵式整流器的仿真 (67)

MATLAB中图像函数大全 详解及例子

图像处理函数详解——strel 功能:用于膨胀腐蚀及开闭运算等操作的结构元素对象(本论坛随即对膨胀腐蚀等操作进行讲解)。 用法:SE=strel(shape,parameters) 创建由指定形状shape对应的结构元素。其中shape的种类有 arbitrary' 'pair' 'diamond' 'periodicline' 'disk' 'rectangle' 'line' 'square' 'octagon 参数parameters一般控制SE的大小。 例子: se1=strel('square',6) %创建6*6的正方形 se2=strel('line',10,45) %创建直线长度10,角度45 se3=strel('disk',15) %创建圆盘半径15 se4=strel('ball',15,5) %创建椭圆体,半径15,高度5

图像处理函数详解——roipoly 功能:用于选择图像中的多边形区域。 用法:BW=roipoly(I,c,r) BW=roipoly(I) BW=roipoly(x,y,I,xi,yi) [BW,xi,yi]=roipoly(...) [x,y,BW,xi,yi]=roipoly(...) BW=roipoly(I,c,r)表示用向量c、r指定多边形各点的X、Y坐标。BW选中的区域为1,其他部分的值为0. BW=roipoly(I)表示建立交互式的处理界面。 BW=roipoly(x,y,I,xi,yi)表示向量x和y建立非默认的坐标系,然后在指定的坐标系下选择由向量xi,yi指定的多边形区域。 例子:I=imread('eight.tif'); c=[222272300270221194]; r=[21217512112175]; BW=roipoly(I,c,r); imshow(I)

matlabsimulink初级教程

S i m u l i n k仿真环境基础学习Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1)在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(SimulinkLibraryBrowser)窗口,如图7.1所示。

图7.1Simulink界面 (2)单击工具栏上的图标或选择菜单“File”——“New”——“Model”,新建一个名为“untitled”的空白模型窗口。 (3)在上图的右侧子模块窗口中,单击“Source”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink下的Source子模块库,便可看到各种输入源模块。 (4)用鼠标单击所需要的输入信号源模块“SineWave”(正弦信号),将其拖放到的空白模型窗口“untitled”,则“SineWave”模块就被添加到untitled窗口;也可以用鼠标选中“SineWave”模块,单击鼠标右键,在快捷菜单中选择“addto'untitled'”命令,就可以将“SineWave”模块添加到untitled窗口,如图7.2所示。

(5) Scope ”模块(示波器)拖放到“untitled ”窗口中。 (6)在“untitled ”窗口中,用鼠标指向“SineWave ”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope ”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7)开始仿真,单击“untitled ”模型窗口中“开始仿真”图标 ,或者选择菜单“Simulink ”——“Start ”,则仿真开始。双击“Scope ” 模块出现示波器显示屏,可以看到黄色的正弦波形。如图7.4所示。 图7.2Simulink 界面

基于Matlab 的单边带调幅电路仿真

西南科技大学 专业综合设计报告 课程名称:电子专业综合设计 设计名称:基于Matlab 的单边带调幅电路仿真 姓名: 学号: 班级:电子0902 指导教师:郭峰 起止日期:2012.11.1-2012.12.30 西南科技大学信息工程学院制

专业综合设计任务书学生班级:电子0902 学生姓名:邓彪学号:20095885 设计名称:基于Matlab 的单边带调幅电路仿真 起止日期:2012.11.1-2012.12.30指导教师:郭峰 专业综合设计学生日志

专业综合设计考勤表 专业综合设计评语表

基于Matlab的单边带调幅电路仿真 一、设计目的和意义 1.加深理解模拟线性单边幅度调制(SSB)的原理。 2.熟悉MATLAB相关函数的运用。 3.掌握参数设置方法和性能分析方法。 4.掌握产生单边调幅信号的方法和解调的原理。 5.通过利用MATLAB实现单边调幅信号的调制和解调了解相干解调的重要性。 二、设计原理 1.SSB调制原理 信号的调制主要是在时域上乘上一个频率较高的载波信号,实现频率的搬移,使有用信号容易被传播。单边带调幅信号可以通过双边带调幅后经过滤波器实现。 单边带调幅方式是指仅发送调幅信号上、下边带中的一个信号。 双边带信号两个边带中的任意一个都包含了调制信号频谱的所有频谱成分,因此仅传输其中一个边带即可。这样既节省发送功率,还可节省一半传输频带,这种方式称为单边带调制。 产生单边带调幅信号的方法有:滤波法、相移法。 2. 滤波法 滤波法产生SSB信号的模型如下图所示 图2.1 滤波法调制图 LPF、HPF需要理想的形式 ,但是实际上是做不到的 ,过渡带不可能是0。 因此需要采用多级调制[6]。

基于matlab的电路仿真

基于matlab的电路仿真 杨泽辉51130215 %基于matlab的电路仿真 %关键词: RC电路仿真, matlab, GUI设计 % 基于matlab的电路仿真 %功能:产生根据输入波形与电路的选择产生输出波形 close all;clear;clc; %清空 figure('position',[189 89 714 485]); %创建图形窗口,坐标(189,89),宽714,高485;Na=['输入波形[请选择]|输入波形:正弦波|',... '输入波形:方形波|输入波形:脉冲波'];%波形选择名称数组; Ns={'sin','square','pulse'}; %波形选择名称数组; R=2; % default parameters: resistance 电阻值 C=2; % default parameters: capacitance电容值 f=10; % default parameters: frequency 波形频率 TAU=R*C; tff=10; % length of time ts=1/f; % sampling length sys1=tf([1],[1,1]); % systems for integral circuit %传递函数; sys2=tf([1,0],[1,1]); % systems for differential circuit a1=axes('position',[0.1,0.6,0.3,0.3]); %创建坐标轴并获得句柄; po1=uicontrol(gcf,'style','popupmenu',... %在第一个界面的上方创建一个下拉菜单'unit','normalized','position',[0.15,0.9,0.2,0.08],... %位置 'string',Na,'fontsize',12,'callback',[]); %弹出菜单上的字符为数组Na,字体大小为12, set(po1,'callback',['KK=get(po1,''Value'');if KK>1;',... 'st=char(Ns(KK-1));[U,T]=gensig(st,R*C,tff,1/f);',... 'axes(a1);plot(T,U);ylim([min(U)-0.5,max(U)+0.5]);',... 'end;']); %pol触发事件:KK获取激发位置,st为当前触发位置的字符串,即所选择的波形类型; %[U,T],gensing,产生信号,类型为st的值,周期为R*C,持续时间为tff, %采样周期为1/f,U为所产生的信号,T为时间; %创建坐标轴al;以T为x轴,U为y轴画波形,y轴范围。。。 Ma=['电路类型[请选择]|电路类型:积分型|电路类型:微分型']; %窗口2电路类型的选择数组; a2=axes('position',[0.5,0.6,0.3,0.3]);box on; %创建坐标轴2; set(gca,'xtick',[]);set(gca,'ytick',[]); %去掉坐标轴的刻度 po2=uicontrol(gcf,'style','popupmenu',... %在第二个窗口的位置创建一个下拉菜单,同1 'unit','normalized','position',[0.55,0.9,0.2,0.08],... 'string',Ma,'fontsize',12,'callback',[]); set(po2,'callback',['KQ=get(po2,''Value'');axes(a2);',... %po2属性设置,KQ为选择的电路类型,'if KQ==1;cla;elseif KQ==2;',... %1则清除坐标轴,2画积分电路,3画微分电路 'plot(0.14+0.8i+0.02*exp(i*[0:.02:8]),''k'');hold on;',... 'plot(0.14+0.2i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot(0.84+0.2i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot(0.84+0.8i+0.02*exp(i*[0:.02:8]),''k'');',... 'plot([0.16,0.82],[0.2,0.2],''k'');',... 'plot([0.16,0.3],[0.8,0.8],''k'');',... 'plot([3,4,4,3,3]/10,[76,76,84,84,76]/100,''k'');',... 'plot([0.4,0.82],[0.8,0.8],''k'');',... 'plot([0.6,0.6],[0.8,0.53],''k'');',... 'plot([0.6,0.6],[0.2,0.48],''k'');',... 'plot([0.55,0.65],[0.53,0.53],''k'');',... 'plot([0.55,0.65],[0.48,0.48],''k'');',... 'text(0.33,0.7,''R'');',...

图像增强及MATLAB实现

《数字图像处理》课程设计 课设题目:图像增强与MATLAB实现学校学院:华东交通大学理学院 学生班级:13级信息计算(2)班学生:超 学生学号:20130810010216 指导老师:自柱

图像增强与MATLAB实现 摘要 数字图像处理是指将图像信号转换成数字格式并利用计算机对其进行处理的过程。图像增强是数字图像处理的过程中经常采用的一种方法,它对提高图像质量起着重要的作用。本文先对图像增强的原理进行概述,然后对图像增强的方法分类并给出直方图增强、对比度增强、平滑和锐化等几种常用的增强方法的理论基础,通过Matlab实验得出的实际处理效果来对比各种算法的优缺点,讨论不同的增强算法的技术要点,并对其图像增强方法进行性能评价。 关键字:图像;图像增强;算法

目录 一、MATLAB的简介 (1) 1.1MATLAB主要功能 (1) 二、MATLAB的主要功能 (1) 2.1数字增强技术概述 (1) 2.2数字图像的表示 (2)

三、直方图的均衡化 (2) 3.1图像的灰度 (2) 3.2灰度直方图 (2) 3.3直方图均衡化 (3) 四、图像二值化 (5) 4.1图像二值化 (5) 五、对比度增强 (7) 5.1对比度增强 (7) 5.2灰度调整 (8) 5.3对数变换 (9) 六、滤波 (10) 6.1平滑滤波 (10) 6.2线性平滑滤波程序: (11) 6.3非线性滤波 (12) 七、锐化 (18) 八、参考文献 (19) 九、自我评价 (20)

一、Matlab的简介 1.1 MATLAB主要功能 MATLAB是建立在向量、数组和矩阵基础上的一种分析和仿真工具软件包,包含各种能够进行常规运算的“工具箱”,如常用的矩阵代数运算、数组运算、方程求根、优化计算及函数求导积分符号运算等;同时还提供了编程计算的编程特性,通过编程可以解决一些复杂的工程问题;也可绘制二维、三维图形,输出结果可视化。目前,已成为工程领域中较常用的软件工具包之一。 二、MATLAB的主要功能 2.1数字增强技术概述 图像增强是按特定的需要突出一幅图像中的某些信息,同时,消弱或去除某些信息使得图像更加实用。图像增强技术主要包含直方图修改处理、图像平滑处理、图像尖锐化处理等。 图像增强技术主要包括:直方图修改处理,图像平滑处理,图像尖锐化处理,彩色图像处理。从纯技术上讲主要有两类:频域处理法和空域处理法。 频域处理法主要是卷积定理,采用修改图像傅立叶变换的方法实现对图像的增强处理技术;空域处理法:是直接对图像中的像素进行处理,基本上是以灰度映射变换为基础的。

Matlab Simulink中异步电机模型说明文档

Description The Asynchronous Machine block operates in either generator or motor mode. The mode of operation is dictated by the sign of the mechanical torque: Mechanical System s ls

Preset model Provides a set of predetermined electrical and mechanical parameters for various asynchronous machine ratings of power (HP), phase-to-phase voltage (V), frequency (Hz), and rated speed (rpm). Select one of the preset models to load the corresponding electrical and mechanical parameters in the entries of the dialog box. Note that the preset models do not include predetermined saturation parameters. Select No if you do not want to use a preset model, or if you want to modify some of the parameters of a preset model, as described below. When you select a preset model, the electrical and mechanical parameters in the Parameters tab of the dialog box become unmodifiable (grayed out). To start from a given preset model and then modify machine parameters, you have to do the following: Select the desired preset model to initialize the parameters. 1. 2. Change the Preset model parameter value to No. This will not change the machine parameters. By doing so, you just break the connection with the particular preset model. 3. Modify the machine parameters as you wish, then click Apply. Mechanical input Allows you to select either the torque applied to the shaft or the rotor speed as the Simulink signal applied to the block's input. Select Torque Tm to specify a torque input, in N.m or in pu, and change labeling of the block's input to Tm. The machine speed is determined by the machine Inertia J (or inertia constant H for the pu machine) and by the difference between the applied mechanical torque Tm and the internal electromagnetic torque Te. The sign convention for the mechanical torque is the following: when the speed is positive, a positive torque signal indicates motor mode and a negative signal indicates generator mode. Select Speed w to specify a speed input, in rad/s or in pu, and change labeling of the block's input to w. The machine speed is imposed and the mechanical part of the model (Inertia J) is ignored. Using the speed as the mechanical input allows modeling a mechanical coupling between two machines and interfacing with SimMechanics? and SimDriveline? models. The next figure indicates how to model a stiff shaft interconnection in a motor-generator set when friction torque is ignored in machine 2. The speed output of machine 1 (motor) is connected to the speed input of machine 2 (generator), while machine 2 electromagnetic torque output Te is applied to the mechanical torque input Tm of machine 1. The Kw factor takes into account speed units of both machines (pu or rad/s) and gear box ratio w2/w1. The KT factor takes into account torque units of both machines (pu or N.m) and machine ratings. Also, as the inertia J2 is ignored in machine 2, J2 referred to machine 1 speed must be added to machine 1 inertia J1.

simulink-matlab仿真教程

simulink matlab 仿真环境教程 Simulink 是面向框图的仿真软件。 演示一个Simulink 的简单程序 【例1.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB 的命令窗口运行simulink 命令,或单击工具栏中的图标,就可以打开Simulink 模块库浏览器 (Simulink Library Browser) 窗口,如图1.1所示。 (2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白 模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图1.2 所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope ”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图1.3所示。 (7) 开始仿真,单击“untitled”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏,可以看到黄色的正弦波形。如图1.4所示。 (8) 保存模型,单击工具栏的图标,将该模型保存为“Ex0701.mdl”文件。 1.2 Simulink的文件操作和模型窗口 1.2.1 Simulink的文件操作 1. 新建文件 新建仿真模型文件有几种操作: ?在MATLAB的命令窗口选择菜单“File”“New”“Model”。 图7.2 Simulink界面 图7.3 Simulink模型窗口 图7.4 示波器窗口

图像处理matlab程序实例

程序实例 1旋转: x=imread('d:\MATLAB7\work\flower.jpg'); y=imrotate(x,200,'bilinear','crop'); subplot(1,2,1); imshow(x); subplot(1,2,2); imshow(y) 2.图像的rgb clear [x,map]=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh1.jpg');y=x(90:95,90:95);imshow(y)R=x(90:95,90:95,1);G=x(90:95,90:95,2);B=x(90:95,90:95,3);R,G,B 3.加法运算clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shh3.jpg');J=imnoise(I,'gaussian',0,0.02);%向图片加入高斯噪声subplot(1,2,1),imshow(I);%显示图片subplot(1,2,2),imshow(J);K=zeros(242,308);%产生全零的矩阵,大小与图片的大小一样for i=1:100%循环100加入噪声J=imnoise(I,'gaussian',0,0.02);J1=im2double(J);K=K+J1;end K=K/100; figure,imshow(K);save

4.减法 clear I=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); J=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao1.jpg'); K=imsubtract(I,J);%实现两幅图相减 K1=255-K;%将图片求反显示 figure;imshow(I); title('有噪声的图'); figure;imshow(J); title('原图'); figure;imshow(K1); title('提取的噪声'); save 5.图像的乘法 H=imread('D:\Program Files\MATLAB\R2012a\bin\shaohaihe\shao.jpg'); I=immultiply(H,1.2);将此图片乘以1.2 J=immultiply(H,2); subplot(1,3,1),imshow(H); title('原图'); subplot(1,3,2),imshow(I); title('·放大1.2'); subplot(1,3,3),imshow(J); title('放大2倍'); 6除法运算 moon=imread('moon.tif'); I=double(moon); J=I*0.43+90; K=I*0.1+90; L=I*0.01+90; moon2=uint8(J); moon3=uint8(K); moon4=uint8(L); J=imdivide(moon,moon2); K=imdivide(moon,moon3); L=imdivide(moon,moon4); subplot(2,2,1),imshow(moon); subplot(2,2,2),imshow(J,[]); subplot(2,2,3),imshow(K,[]); subplot(2,2,4),imshow(L,[]);

matlab-simulink 初级教程

Simulink仿真环境基础学习 Simulink是面向框图的仿真软件。 7.1演示一个Simulink的简单程序 【例7.1】创建一个正弦信号的仿真模型。 步骤如下: (1) 在MATLAB的命令窗口运行simulink命令,或单击工具栏中的图标,就可以打开Simulink模块库浏览器(Simulink Library Browser) 窗口,如图7.1所示。

(2) 单击工具栏上的图标或选择菜单“File ”——“New ”——“Model ”,新建一个名为“untitled ”的空白模型窗口。 (3) 在上图的右侧子模块窗口中,单击“Source ”子模块库前的“+”(或双击Source),或者直接在左侧模块和工具箱栏单击Simulink 下的Source 子模块库,便可看到各种输入源模块。 (4) 用鼠标单击所需要的输入信号源模块“Sine Wave ”(正弦信号),将其拖放到的空白模型窗口“untitled ”,则“Sine Wave ”模块就被添加到untitled 窗口;也可以用鼠标选中“Sine Wave ”模块,单击鼠标右键,在快捷菜单中选择“add to 'untitled'”命令,就可以将“Sine Wave ”模块添加到untitled 窗口,如图7.2所示。 图7.1 Simulink 界面

(5) 用同样的方法打开接收模块库“Sinks”,选择其中的“Scope”模块(示波器)拖放到“untitled”窗口中。 (6) 在“untitled”窗口中,用鼠标指向“Sine Wave”右侧的输出端,当光标变为十字符时,按住鼠标拖向“Scope”模块的输入端,松开鼠标按键,就完成了两个模块间的信号线连接,一个简单模型已经建成。如图7.3所示。 (7) 开始仿真,单击“untitled ”模型窗口中“开始仿真”图标,或者选择菜单“Simulink”——“Start”,则仿真开始。双击“Scope”模块出现示波器显示屏, 可以看到黄色的正弦波形。如图7.4所示。 图7.2 Simulink界面

基于Matlab_Simulink的电工学电路仿真

信息科学 基于Matlab/Sim ulink的电工学电路仿真 朱霞清 (山东英才学院机械制造及其自动化工程学院,山东济南250104) 引言 目前,《电工学》课程所涉及的理论和技术应用十分广泛,发展迅速,并且日益渗透到其他学科领域,在我国社会主义现代化建设中具有重要的作用。《电工学》课程是高等学校工程类专业的一门技术基础课程,是我校面向机械制造、电气自动化、计算机信息技术、建筑工程等工科类专业开设的一门技术基础课程。这门课程知识覆盖面广,理论严密,逻辑性强,且有广阔的工程背景,其教学内容中有许多教学难点过于抽象,用传统的教学模式教师无法讲解清楚,学生也难以理解和接受。因此在电工学的教学过程中可以借助其他方式来加强教学效果。Matlab由于其本身具有的特点成为电类课程教学中的一个重要的工具。 1MA IAB简介 M ATLAB是Matrix Laboratory的缩写,其核心是一个基于矩阵运算的快速解释程序,它以交互式接受用户输入的各项指令,输出计算结果,它提供了一个开放式的集成环境,用户可以运行系统提供的大量的命令,包括数值计算和图形绘制等。Simulink是基于M ATLAB语言环境下的一个集成软件包,具有框图界面和交互仿真功能的动态系统建模、仿真和综合分析等功能。Simulink处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统,用户只需在Simulink提供的图形用户界面GUI上,对所需要的系统模块进行鼠标的简单拖拉操作,就可构造出复杂的仿真和分析模型。 M ATLAB提供很多工具箱,以MATLAB6.5为例,在电工学CAI中,分析和计算所要用到的Simulink工具库模块库集主要有: (1)Simulink库集;(2)PowerSystems库集(PSB);(3)Extra Simulink库集。 2电工学电路的仿真 2.1直流电路求解 利用Matlab分析电路时,应该首先对电路进行分析,列出电流方程和电压方程,然后将方程用矩阵形式表示,最后用Matlab求解矩阵的方法得到所求电流和电压。 如图所示,已知,,, ,,采用支路电流法列写支路电流方程和回路电压方程。 列出方程为: 上面这个三元一次方程组可以改写为下 面矩阵的形式 定义上面这个方程最左边这个矩阵为系 数矩阵A,第二个矩阵为电流矩阵I,右边这个矩 阵为U,因此可得到A.I=U,所以电流矩阵 I=A-1U。可在matlab窗口键入如下指令: <

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