欢迎访问华乐美文网

matlab培训总结

培训总结2019-02-22 08:01书业网

篇一:MatLab学习总结

使图像符合信息提取要求、设计描述符需要的知识:

第一部分 数字图像基础

第1章 引言

第2章 图像量化基础

第3章 数学形态学概论

第4章 遥感图像常规处理

第二部分遥感图像分析

第5章 图像变换与小波分析

第6章 图像分割

第7章 边缘检测与串行边界

第8章 纹理分析

第9章 形状分析

构建多描述符空间、测试描述符、实施分类需要的知识:

第三部分 空间数据挖掘

第10章 空间数据挖掘基础

第11章 模糊集与模糊聚类

第12章 人工神经网络

第13章 决策树

第14章 支持向量机SVM

一、概述

matlab主要特点:

(1)数据可视和图形化 :图像一旦读入 MATLAB,就以矩阵形式保存,可以在工作区查看矩阵的值,用绘图工具按钮选择表达图形等;这种图形化数据分析使测试算法的过程简单化。

(2)高效简单的编程环境 :直译式语言。

(3)开放及可延伸的架构 : 内核采用 C 语言编写。 允许开发人员接触它的大多数源代码。

(4)丰富的工具箱: MATLAB的工具箱提供了使用者在特别应用领域所需的许多函数,以简化开发人员的工作。现有工具箱包括:图像处理、统计分析、神经网络、模拟分析、最优化、模糊逻辑、小波分析等13个。

在MATLAB中,数字图像经常采用矩阵(matrix)或阵列/数组(array)表达,矩阵或阵列元素代表图像的灰度值(或分色亮度值)。可以通过函数reshape( )实现矩阵和阵列间的相互转换。

可以通过数组下标访问像素的具体值。对于灰度图像,可用A(i,j)获得指定行列处的灰度值,比如指令A(2,5)将返回第2行第5列的灰度;对于GRB图像,可用A(i,j,k)或得指定行列处的分色亮度值,比如指令A(2,5,1), A(2,5,2)将分别返回第2行第5列的红、绿值;A(:,:,3)返回所有行列的蓝值(返回整个蓝色分量)等。

大多数运算符对矩阵与阵列通用, 少量阵列与矩阵运算可能相混淆的操作使用有区别的运算符。

imread()函数读取图像数据,imwrite()函数存储图像文件,figure 另外打开一个图形输出窗口,subplot( ) 用于在同一窗口显示多幅子图像,title( )为输出图像加标题,Imshow()显示图像文件,rgb2gray()将RGB图像转换为灰度图像,im2bw() 将灰度图像、索引图像或RGB图像转换为二值图像。

二、 图像量化基础

1、考虑邻近像素的图像分析方法称为”邻域运算”;只考虑单个像素时称为“点运算”。 常见的邻域运算:

模板运算(卷积运算)

滑动窗口运算

块运算(固定窗口)

邻域运算常被用于空间滤波、平滑降噪、边缘提取、纹理提取、窗口统计等图像处理和分析操作中。

2、邻域运算 模板运算 :

模板运算的输出值由对应的输入像素及其邻域像素的值共同决定。这种运算通过模板(也称“卷积核”)实现。

模板是远比图像尺寸小、具有规则形状的元素集。模板元素的值可以根据具体任务设计。模板边长一般为奇数,常用的模板尺寸为3×3,5×5,7×7等。

通过MATLAB的滤波函数conv2( ),可以实现以自制模板对二维图像的模板运算(或滤波运算)。

例2.2 定制滤波算子并对图像I滤波。

I=imread('mb.tif');

H1=[1,1,1;0,0,0;1,1,1]; %定制Prewitts算子(行向)

H2=[1,0,1; 1,0,1; 1,0,1] %定制Prewitts算子(列向)

C1=conv2(double(I),H1); %用H1对I做滤波

C2=conv2(double(I),H2);

imshow(C1|C2);

3、邻域运算 滑动窗口和图像块

在遥感图像分析中,有些操作需要考虑一定尺寸邻域的统计特征。滑动窗口或图像块是一个像素子集,子集的像素由窗口中心像素的坐标和邻域尺寸决定。这个邻域范围常称为“窗口”区,邻域的统计值常称为“窗口值”。

滑动窗口操作通常采用特定的窗口尺寸和操作函数遍历全图像素。如果仅仅将图像按照窗口尺寸划分成若干矩形,并对各矩形做函数运算,则称为“块操作”。

MATLAB滑动窗口或块操作函数colfilt.m

该函数按指定窗口函数做滑动窗口或块操作。

基本语法:

B = colfilt(A,[m n],block_type,fun)

B = colfilt(A,[m n],[mblock nblock],block_type,fun)

B = colfilt(A,'indexed',...)

其中:A为原图像,窗口尺寸为m×n。fun为窗口函数,通常需定义为内联函数(参见A1.7.2和例2.4);block_type是一个字串,可选值①'distinct': “图像块”操作;②'sliding':滑动窗口操作。[mblock nblock]指定附加窗口尺寸,以节省操作内存。如在图像边缘出现窗口越界,将越界元素以0补齐。

4、图像采样

图像采样的任务:

获得目标和/或背景的图像特征值;

获得训练集(training sets)。

训练集由若干样本构成,每个样本包括一个属性向量和一个目标值。一个包含q个样本、r维属性的训练集通常由一个r×q属性矩阵和一个q个元素的目标阵列构成。 图像采样通常以交互方式进行,可以针对单像素、多边形区域或子块等。

图像采样常用方式:

单像素采样:返回采样点的图像值

子块采样:返回子块的图像值

多边形区域采样:返回样区二值图。

(1)单像素采样

MATLAB像素采样函数impixel.m

用于返回若干指定像素的图像值。

基本语法:

P = impixel(I)

在图像I中,获得鼠标选定像素的分色亮度值。允许连续选择若干像素,点击Backspace或Delete键,删除最近一次的选择;右击、双击左键或回车结束选取。一旦选取结束,函数返回一个m×3矩阵P,m是像素个数,三个列值依次为分色亮度R、G、B。

例2.6 对图像I采样,作图分析样本的波谱特征。

P = impixel(I);%以交互方式采样,返回各像素的R、G、B值

plot (P); %绘图表达P的所有列

注:在工作区(workspace)选择矩阵P,在绘图按钮下拉列表中选择折线图,也有同样效果。

(2)区域采样

MATLAB区域选取函数roipoly.m,用于交互获得样区多边形和返回相应的二值图。 基本语法:

BW = roipoly(I,C,R)%以R和C定义的节点集构建多边形

BW = roipoly(I) %以交互方式构建多边形

[BW,xi,yi] = roipoly(...) %同时返回BW和多边形节点坐标

函数返回一个与原图像I等大的二值图BW,选区值为1。以BW作为掩模,与I做 .* 运算可以屏蔽选区外的像素。参见例2.7.

例:对多边形样区滤波

I=imread('garden.jpg');

I=rgb2gray(I); %滤波只适用于灰度图像,将I转换为灰度图像

[BW,x1,y1] = roipoly(I);

%交互点选多边形,多边形可编辑,右击选择“creat mask”确认

H= fspecial('sobel'); %构建sobel算子滤波器

J= roifilt2(H,I,BW); %对I中BW所掩区域以H做滤波

figure;

subplot(121);imshow(I);title('Original');

subplot(122);imshow(J);title('Filtered');

hold on

plot(x1,y1,'y');

三、数学形态学概论

用形态学进行图像分析的基本思想:

利用一个称为结构元素(Structure Element,SE)的“探针”顺序探测整个图像,以度量和提取图像中与SE对应的特征。SE本身带有一些图像信息,包括形态、大小及灰度等,通过设计它可以达到检测图像结构特征的目的。

数学形态学的基本运算

膨胀(dilate)

腐蚀(erode)

开启(open)

闭合(close)

这些运算可以用于二值或灰度( 多值) 图像,甚至模糊集,相应的技术分别称为二值形态学、灰度形态学和模糊形态学。

1、MATLAB的形态学基本操作

MATLAB用于膨胀和腐蚀运算的函数分别为:

imdilate( )

imerode( )

它们既可用于二值图像也可用于灰度图像。

膨胀和腐蚀操作是其它形态学操作的基础,利用这两个函数可以实现几乎所有的形态学运算。

2、MATLAB预定义的二值形态学操作

为了使用方便,MATLAB以预定义形式,在函数bwmoph()中统一定义了多种操作,作为二值形态学有关操作的统一接口。

基本语法:

BW2=bwmorph(BW1,operation,n)

该函数返回对图像BW1的形态学操作结果。通过参数operation可以指定预定义的形态学操作,其取值见表3.2;n指定操作的重复次数,默认值1。

例3.4 bwmorph函数形态学操作举例

A=imread('T.jpg'); BW1=im2bw(A); %读入图像并转换为二值图

subplot(241);imshow(BW1);title('原图像');

subplot(242);imshow(bwmorph(BW1,'dilate',2));title('膨胀');

subplot(243);imshow(bwmorph(BW1,'erode',2));title('腐蚀');

subplot(244);imshow(bwmorph(BW1,'open',2));title('开启');

subplot(245);imshow(bwmorph(BW1,'close',2));title('闭合');

SE=zeros(7,7); SE(:,4)=1;%定制SE

subplot(246);imshow(imerode(BW1,SE));title('以定制SE腐蚀');

subplot(247);imshow(imerode(imdilate(BW1,SE),SE));title('以定制SE闭合');

subplot(248);imshow(imdilate(imerode(BW1,SE),SE));title('以定制SE开启');

3、灰度数学形态学

4个二值形态学基本运算(膨胀、腐蚀、开启和闭合)可以方便地推广到灰度图像空间。与二值形态学不同,这里将操作对象看作图像函数而非集合。以下设f(x,y)为输入图像,b(x,y)是结构元素(SE),SE本身也是一幅子图像,对于平坦型SE,每个元素取值为1或0,值为1者表示参与运算。

四、遥感图像常规处理

在遥感图像使用前通常要对图像存在的某些误差和偏差进行校正,这种校正主要分为: 对像素位置误差进行的几何校正和对图像灰度偏差进行的辐射校正。

对图像进行增强(如反差增强和直方图均衡化等),以改善视觉效果等。

为了有效利用多波段和多源信息,图像合成和融合等也是常见的图像处理手段。

1、图像增强概述和分类

根据图像增强处理所在的空间不同,可分为基于图像域和基于变换域两类。

(1)图像域/空域增强

该法直接作用于像素值,原始图像f(x,y)和增强图像g(x,y)具有以下基本关系: g(x,y)=EH [f (x,y)]

其中,EH(Enhancement)代表增强操作。如果EH 定义在每个(x,y)上,EH 是点操作;而如果定义在(x,y)的某个邻域上,则称EH为模板操作。

(2)变换域/频率域增强

有时需要将空域图像转换到其它变换域,以便利用图像在这些值域的特有性质。最常用的变换域是频域。

设空域图像f(x,y)经由变换关系T 转换到频域,并以T-1表示T 的逆变换;则频域增强可表示为:

g(x,y)=T-1 [ EH[ T [ f(x,y)]]]

即在频域做了EH后,再经逆变换返回空域。

图像增强操作

常用的EH包括反差增强、锐化和直方图均衡化等。这些操作不以图像保真为原则,它只是选择性地突出某些对人或机器分析有用的信息,抑制一些无用或干扰信息。

2、图像增强 反差增强/拉伸

MATLAB的反差增强方法

(2.1)stretchlim( ) 搜索和返回图像的拉伸阈值

基本语法: LOW_HIGH = stretchlim(I,TOL)

篇二:matlab学习总结

计算机仿真

学院:信电学院

专业班级:

姓名:

学号:

计算机仿真(Matlab)学习心得

大二的第一学期,也就是2013年的下半年,我们信电学院通信工程迎来了一门陌生的科目————Matlab(计算机仿真)。

当这门课程的名字第一次从我耳旁响起的时候,让我感受到它与我们是那么的具有距离感。因为这个名词具有太多的专业气息,而且具有其独特的一面。但细想后才发现我们已经是大二的学生了,是应该开始接触相对专业的知识了。初略的翻书过后,发现书上呈现的是各式各样的图形与流程。这不正与大一下学期的C语言的公式相近吗?个人感觉这门Matlab的计算方式与赋值方式与C语言大致相同。而对于我的C语言比较自信,所以感觉自己学这门课应该比较轻松的吧。但事实并非如此,当涉及到图形的演示的时候明显感觉到自己的知识已经赶不上了,已经无法轻易理解公式与流程了。

上课的机房在大一的时候是我们信电学院通信工程英语自主学习的机房,所以对于这个教室而言,还是较为熟悉的,因此我们宿舍也就习惯性的坐在了我们熟悉的位子,也就是离主讲台最远的地方。从此往后,那片地区便成为了我们宿舍的长期根据地。虽然机房内有音响,可以放大老师的声音,不过没有眼前的监视,对于现在的我们而言还是难以全身心的投入到上课中,所以在平时上课的时候也会时不时的分心去干与课堂无关别的事,以致于最终当老师讲到关于新的知识的时候就感到无比的吃力了。

鉴于这门Matlab的学习体会,整体上来说留下最深的印象便是:在大学中你所需要学习的并不是全在课堂上,在课外的资料查询也是

必不可少的。下面来讲讲我对于这门课在学习中的体会吧。

1、在第二章中讲的是Matlab的基本语法。因为这上的内容大致与C语言相同,所以个人感觉在这章中需要对Matlab的语法进行学习,了解Matlab最为基本的操作与用法。其中也附带有相对于C语言不同的基本绘图方法以及对于M文件及程序调试。所以当讲到这里的时候也就是理解不透的地方了,需要借助于图书馆的书籍来完善了。

2、对于后面的几章关于高数、信息处理、自动控制等知识感觉相当的靠近专业知识了,所以面当这些知识来临时只能是牵强着听着,不能了解他们真正的含义。但我也从我们专业大三的口中里了解到Matlab对于大三的课程中还是挺重要的一个辅助工具,所以我也尽力的去学懂学会后面几章的内容。

3、在课堂上,老师将书上的内容进行整体上的解析,并且在讲解的同时进行手动的操作,这使我们对于这门课程的理论与实践相结合,在理解上更加透彻。在课后,老师留有一定量的课后习题,这让我们能进行相应的复习。虽然有时留下的作业对于我们这些初学者而言具有一定的难度,不过通过课外资料的帮助最后终还是可以将问题完美的解决。

4、对于这门课程而言,它的重要性无庸置疑的。尤其是对于我们通信工程而言,这门课程完全可以将其定位在专业学习前的准备部分,为将来的专业学习提供一个可以操作、计算、绘图与检验的工具。并在以后的科研中,由于它使用方便,输入简捷,编程效率高,运算

高效,内容丰富而得到广泛的使用这软件。

以上便是我对于这门课程的学习体会。在学习的过程中,遇到困难太多,难以理解的公式也相当的多,因此在日后也需要多加练习,巩固巩固书本上的知识,同时也尽力掌握书本上没有的。

从这门课程中真的学到了很多,也明白了有太多的知识需要往后坚持不懈的学习。下面我也将阐述下我在

今后专业课学习过程中所要的应用。

1、首先我了解到在以后的通信学习中有许多的问题都可以通过计算机仿真的办法来进行研究的。而且对于计算机仿真而言在实质上就是把硬件实验搬到了计算机上,同时可以把它看成一种软件上的实验。所以,我们用软件实验来实现通信原理中的理论模型,并且所有的通信模块及通信仪表的功能都是用程序来实现的,通信系统的全过程在计算机中仿真运行。所以我也将在以后的专业的学习中加大对Matlab的使用,使自己的能力得到提升。

2、对于专业课上数据的处理,我也将充分利用Matlab强大的功能来进行。通过了解Matlab在分析信号频率域的特性、分析数字基带通信系统的性能方面有着强大的功能,使计算更加方便、分析更加准确。同时在日常的生活中也将一如既往的学习Matlab,因为随着时间的流逝,脑中的知识也将会消逝。这学期只有短短的几周时间,我想我们还没有学到Matlab真正具有的强大功能,所以往后仍需要去学校的图书馆借用相关的资料与图书来继续进行学习,以便日后在学业上的有所帮助。

其实对于这个学期来说,由于在老师幽默诙谐的教导下,我对这门Matlab有所了解了。并且在平时上课的同时,老师跟我们分享了生活中点点滴滴,让我在学习课程的同时了解生活上的经验。老师上课的激情感染了我心中好奇的心,让我这门课具有无限的热情。在这份热情的指引下我也将投入更多的心思去学习以后的专业知识,同时也充分利用所学的Matlab知识来进行进一步的研究。

以上便是我对于Matlab计算机仿真这门课程的学习体会与在未来的利用方面的想法。虽然不是特别的富有文采,但这是我从心底里

发出的心声,阐述了我对于这门课程的想法。

篇三:学习Matlab的总结与感想

海南大学本科生 2010—2011学年度 第2学期

课程考查论文

学院(中心、所): 信息科学技术学院 专 业: 电子信息工程

研究方向: 班 级:

学生姓名:学生证号:

课程名称:Matlab应用基础

论文题目: 学习Matlab的总结与感想

任课老师:

(以上由学生填写)

教师评阅:

阅卷教师(签名): 年 月 日

摘 要

本文从计算机语言、数学建模、网络控制系统仿真与结构化思维等方面阐述了半年来学习Matlab的心得体会与感想。由于个人知识有限,在部分细节问题的理解上可能存有偏差,还请杜老师批评指正,不吝赐教。

关键词:Matlab语言 数学建模软件 网络控制系统仿真 结构化思维

学习Matlab快半个学期了,虽然还有很多问题不是很清楚,但通过实践学习,我对于Matlab总算有个整体的理解,而且每次上机操作,都会有一定的收获和感想,下面,就谈谈我个人对于Matlab的一些看法。

(Matlab语言)

Matlab和其它语言不一样,我这个学期学习的是C语言,另外,对于Action Script、HTML、php语言也接触过一些。C语言主要是面向过程的,它的灵活性比较强,可根据自己的意图编辑程序,但所耗费的时间和精力比较大。例如定义变量,就分为int、float、char等类型,十分麻烦,而Action Script与php就显得比较随意,不必纠结于哪一种类型的变量,比如,定义Var number=3,Var play=true即可。相对于前两者而言,Matlab则显得更为灵活与快捷,它是一门解释性语言,能自动将高级语言翻译成机器语言。比如,求f?2t,当t=0,1,2,3,4,5时f(t)的值。如果使用C语言则需要定义变量,调用math函数,还要应用for循环、输出函数,而Matlab则不然,只需输入t=0:5;f=2.^t,然后回车即可。

另外,Matlab还配有许多常用公式,操作起来十分方便,例如,想求出y''(t)?3y'(t)?2y(t)?f'(t)?2f(t)在y(0)?1,y'(0)?1时的零输入响应,应用dsolve函数,只需输入x=dsolve('D2y+3*Dy+2*y=0','y(0)=1,Dy(0)=1') 回车,即得结果:x=3*exp(-t)-2*exp(-2*t)。或许,也正是Matlab语言简洁、优化的特点,才使得它在学术界被广泛应用吧。

(数学建模)

对于数学建模而言,Matlab是一款相当不错的建模辅助工具,因为 Matlab中有统计函数,线性分析函数,插值函数,非线性分析函数等等这些数模必备的函数,而且,Matlab强大的绘图功能可使很多数学演算过程变得可视化。这些对于分析问题都很有帮助。虽然我们学习的Matlab是电子信息工程方向的,但在下个学期,,班里的大部分同学都要参加数模竞赛,所以掌握好Matlab的各种函数模式就显得尤为重要了。

(Simulink与信号系统)

Matlab除了具有强大的数学功能外,还具备Simulink仿真功能,这为我们工科的学生提供了许多便利。

没有编辑M-file文件那么麻烦,Simulink很直观、形象,它使整个流程更加清晰明了,方便我们理解。譬如P132的图3.30,上面是一个Discrete Impulse,下面是Gain(-1)和Discrete Impulse,其Delay设置为3。一看便知最终Scope结果是两个间距为3且方向相反的脉冲波,而且修改起来也十分方便。同时,应用Simulink,也省去了部分编辑M-file文件的工作,使得效率更高,我想这也是Simulink为人们广泛接受的原因之一吧。

提起Simulink,便想到《信号与系统》这门课程,Simulink中有大量该课程的常用函数,所以,学习Matlab,对于我们更加深刻地理解《信号与系统》也是非常有帮助的。比如P140的图3.4.3,求系统的输出响应:先从工作空间取出x和h,分别FFT(傅里叶变换),然后相乘,最后求其傅里叶逆变换,即得结果,这就是《信号与系统》第三章所讲的连续系统的频域分析思想。

(网络控制系统仿真)

Matlab之所以能激发创作者的灵感,原因就在于它能把抽象的数学物理与直观形象的具体实例相结合。

在第七章的学习中,我第一次接触到网络控制系统,了解到它的特性与应用情况。网络控制系统与现实社会有着密不可分的联系,无论在工业、军事还是生活,都有自动化控制的身影,比如P305的图7.4,我们可以假设u为“冷气”,经过DC Servo(被控对象)的作用后变为y“暖气”,再将信号传给Node 4(传感器),传感器将信号传给Network(网络模块),由Node 3(控制器)进行离散PID控制算法处理之后,再将信号传给Node 2(执行器),最后反作用于DC Servo(被控对象),其中,Node 1(干扰节点)能发送干扰网络通信的模拟信号,并在计算机节点中执行干扰的高优先级任务。

TureTime工具箱在网络控制系统仿真中有着重要的应用。首先,传感器、控制器、执行器及干扰节点是网络控制的重要组成部分,有了TrueTime工具箱,我们只需调用TrueTime Kernel模块生成节点,然后对各个程序进行编辑,再建立对

应的M-file文件,便可达到预期效果,用不着自设模块那么麻烦了。另外,网络控制系统存在时延、丢包、乱序等问题,这些问题会使系统的稳定性变差,严重时甚至使系统失稳,如果没有一个精确的波形模拟,那么所造成的现实经济损失是无法估量的。而TrueTime的每个模块都内置了各式各样的参数,通过改变参数可在屏幕上直观形象地看到信号的传输情况,进而不断改错,完善系统。例如在Network模块的网络参数中有一个Data rate(bit/s),即网络传输速率,其含义为每秒钟传输的二进制数,通过改变参数再运行的结果可知:在其它参数不变的情况下,网速越低,丢包越严重。

通过有线网络与无线网络的对比学习,我对无线网络的控制系统也有了一定的了解。其大部分参数设置与有线网络控制系统是相同的,所不同的是无线网络有其独特的功率问题。譬如:transmit power(发射功率),分别将其参数设置为20、40,从运行结果可以看到,如果发射功率过大,则会造成信号的资源浪费。另外,无线网络在各个节点内的反馈环上设置了电池模块,可通过积分模块来实现功耗变化情况的模拟。

其实,当你了解某一参数的具体作用之后,在未运行之前,往往就能猜出大概结果了。例如:Receiver signal threshold(接受信号功率门限)参数,它的作用是节省功率消耗,将个别闲置的内核功率降至接近于零的状态,那么,将它的参数由-48变为-10,则信号必失真,因为功率门限一旦提高,就会将一些非闲置(即有用的)内核功率也降为零的状态,必然导致信号失真。

(图像处理模块)

再谈谈Simulink图像处理模块,其实,视频图像处理模块库中的大部分功能,都可以应用其他软件来实现。比如,分析和增强模块库,我们可以在PS中将两个相同的图层叠加,然后设置混合模式为柔光即可实现相同效果。

但所不同的是,Matlab是以矩阵运算为基础的软件,其强大的数学功能保证了它的精准性。例如在P244例5-9中,应用了opening模块库(即形态学操作开启),电脑自动将颜色与背景色接近的硬币的白色目标区合为一块,从而得出正确的运算结果。

Copyright @ 2012-2024华乐美文网 All Rights Reserved. 版权所有