办公电脑办公室绿植摆放风水水有哪些知识

下次自动登录
现在的位置:
& 综合 & 正文
matlab实现感知器学习算法
&&&&推荐文章:
【上篇】【下篇】  小弟最近遇到一个问题,要求用C-W算法(节约算法或者节约里程法,翻译版本不一)求解VRP问题,题设模糊类似即可,哪位哥哥、姐姐能帮忙给点指导建议,编程语言不限,VBA
楼主发言:1次 发图:0张 | 更多
<span class="count" title="万
<span class="count" title="万
请遵守言论规则,不得违反国家法律法规回复(Ctrl+Enter)EZW算法的过程详解和Matlab代码(1;)构建扫描次序表(修正小波树结构);我们以一幅16*16的Lena局部图像经过3级小;分解后的小波图像数据为:;一、在开始编码之前,首先要求出初始阈值T1:;MaxDecIm=max(max(abs(Dec;T=zeros(1,codeDim);;T(1)=2^flor(log2(MaxDecI;二、然后是建立小波
EZW算法的过程详解和Matlab代码(1
)构建扫描次序表(修正小波树结构)
我们以一幅16*16的Lena局部图像经过3级小波分解后的小波数据为例详细的说明EZW算法的编解码过程,并给出相应的Matlab代码。原始图像如下
分解后的小波图像数据为:
一、在开始编码之前,首先要求出初始阈值T1:
MaxDecIm=max(max(abs(DecIm)));
T=zeros(1,codeDim);
T(1)=2^flor(log2(MaxDecIm));
二、然后是建立小波树结构,构建扫描次序表。这个扫描次序表非常重要,后面的编码、解码过程都要按照扫描次序表逐个处理数据矩阵的各个元素。构建过程
如下:用(r,c)表示数据矩阵上各元素的位置。row、col作为全局变量,表示数据矩阵的行、列数。
1、小波树结构的特点:
(1)对于LL-N低频子带的点(r,c),有3个孩子:(r,c+W)、(r+H,c)和(r+H,c+W),其中W、H分别是LL-N子带的宽和高;
(2)第N~2高频子带(LH、HL、HH)的点都有4个孩子,即:
tp=[2*r-1,2*c-1;2*r-1,2*c;2*r,2*c-1;2*r,2*c];
(3)第1高频子带的点没有孩子。根据小波树的这个特点,可编写如下“小波树”函数treeMat(),输入矩阵内任一点的位置(r,c),给出该点的子孙列表cp 。
function cp=treeMat(r,c)
%这个函数是一个递归函数
global row col dim
% dim是小波分解级数
HLL=row/2^
WLL=col/2^
if (r&=HLL)&&(c&=WLL)
tp1=[r,c+WLL;r+HLL,c;r+HLL,c+WLL];
cP=[tp1;treeMat(r,c+WLL);treeMat(r+HLL,c);treeMat(r+HLL,c+WLL)];
elseif (r&row/2)||(c&col/2)
tp=[2*r-1,2*c-1;2*r-1,2*c;2*r,2*c-1;2*r,2*c];
tm1=[];tm2=[];tm3=[];tm4=[];
if (tp(4,1)&=row/2)&&(tp(4,2)&=col/2)
t1=treeMat(tp(1,1),tp(1,2));
tm1=[tm1;t1];
t2=treeMat(tp(2,1),tp(2,2));
tm2=[tm2;t2];
t3=treeMat(tp(3,1),tp(3,2));
tm3=[tm3;t3];
t4=treeMat(tp(4,1),tp(4,2));
tm4=[tm4;t4];
cP=[tm1;tm2;tm3;tm4];
示例,当row=8,col=8,dim=2时,LL-N低频子带的点(1,1) (1,2) (2,1) (2,2) 的子孙分布如下:
由这个小波树列表tree_p,我们可以进一步构建函数childMat(),给出矩阵数据Mat和矩阵任一点的位置(r,c),返回该点的子孙数据列表chMat。
function chMat=childMat(Mat,chRows,chCols)
global row col dim
chPoint=treeMat(chRows,chCols);
[mRows,mCols]=size(chPoint);
for iRows=1:mRows
chMat=[chMchPoint(iRows,1),chPoint(iRows,2),Mat(chPoint(iRows,1),chPoint(iRows,2))];
2、构建扫描次序表
本文EZW算法的扫描次序为Morton式,其特征是从(1,1)开始,每4个点组成一个“Z”型扫描单元,从微观到宏观上都是严格的“Z”型结构,可以用递归方法来构建扫描次序表。扫描次序表scanlist由两部分组成,一个是将数据矩阵Mat按照morton扫描次序转换成数据列表matlist,一个是按照扫描次序组成的矩阵各点位置的(r,c)列表lsorder。
function scanlist=morton(Mat)
global row col
matlist=mat2list(Mat);
scanorder=listorder(row,col,1,1);
scanlist=[];
for i=1:row*col
scanlist=[i scanorder(i,:) matlist(i)];
function mls=mat2list(Mat)
% 该函数为递归函数
[r,c]=size(Mat);
if (r==2)&&(c==2)
mls=[Mat(1,1);Mat(1,2);Mat(2,1);Mat(2,2)];
M1=Mat(1:r/2,1:c/2);
M2=Mat(1:r/2,c/2+1:c);
M3=Mat(r/2+1:r,1:c/2);
M4=Mat(r/2+1:r,c/2+1:c);
lt1=mat2list(M1);
lt2=mat2list(M2);
lt3=mat2list(M3);
lt4=mat2list(M4);
mls=[lt1;lt2;lt3;lt4];
function lsorder=listorder(mr,mc,pr,pc)
% 该函数为递归函数 lso=[pr,pr,pc+mc/2;pr+mr/2,pr+mr/2,pc+mc/2];
mr=mr/2;mc=mc/2;
lm1=[];lm2=[];lm3=[];lm4=[];
if (mr&1)&&(mc&1)
ls1=listorder(mr,mc,lso(1,1),lso(1,2));
lm1=[lm1;ls1];
ls2=listorder(mr,mc,lso(2,1),lso(2,2));
lm2=[lm2;ls2];
ls3=listorder(mr,mc,lso(3,1),lso(3,2));
lm3=[lm3;ls3];
ls4=listorder(mr,mc,lso(4,1),lso(4,2));
lm4=[lm4;ls4];
lsorder=[lm1;lm2;lm3;lm4];
len=length(lsorder);
lsorder=lsorder(len-mr*mc*4+1:len,1:2);
嵌入式小波零树(EZW)算法的过程详解和Matlab代码(2)编码过程
首先根据实际需要确定扫描次数D=codeDim,然后进行D次主扫描和辅扫描。
1、 初始化
首先获取扫描次序表scanlist,表中每行的数字依次是该元素的(1)扫描序号、
(2)对应于数据矩阵中位置的行号r、(3)对应于数据矩阵中位置的列号c、
(4)值Mat(r,c),即
scanlist (i) = [ i, r, c, Mat(r,c) ]
编码扫描的对象就是次序表scanlist,而非数据矩阵Mat。然后构建初始符号矩阵flagMat,其中每个元素均为字符“Z”。
2、 主扫描
在第d次(1&= d &=codeDim)扫描中,输入阈值为T(d),首先依次对次序表的每一行scanlist(i)按照如下步骤扫描:
如果上一次扫描得到的flagMat中,处于位置(r,c)的符号为“O”,则表示相应的Mat(r,c)是重要的,不需要通过本次扫描再次编码,故作跳过处理。
将scanlist(i,4)(即Mat(r,c))的绝对值与阈值T(d) 比较,如果是重要的系数,则令flagMat(r,c)的值为P或N,并存入主扫描表scancode中,并将Mat(r,c)的值以及相应的行、列数(r,c)存入重要数列表imptvalue中,将符号P或N存入重要数符号列表imptflag中。
如果是不重要的系数,则首先检查flagMat(r,c),若是符号“X”,则表示这个点是不重要的,作跳过处理不再扫描。
如果点(r,c)处于第一分解级,即r&row/2或c&col/2,没有子孙系数,且其系数是不重要的,则该点flagMat的符号为Z,存入主扫描表scancode中。
如果点(r,c)满足r&row/2且c&col/2,则检查其子孙系数中是否有重要系数。有,则flagMat(r,c)的值为字符Z,存入主扫描表scancode中;否则flagMat(r,c)的值为T,存入主扫描表scancode中,并令其所有子孙系数相应的flagMat(r’,c’)值为字符X,不再作下一次扫描。
至此,扫描结束。然后,将扫描后得到的符号矩阵flagMat转存到scanflag中,再将flagMat中的字符P、N都置换为O,字符X和T都置换为Z,使得flagMat的元素只有字符O、Z两种,作为输出到下一次扫描中使用。
[imptvalue,imptflag,scancode,scanflag,flaglist]=mainscan(Mat,scanlist,flaglist,imptvalue,imptflag,threshold)
global row col
scancode=[];
for i=1:row*col
if flaglist(scanlist(i,2),scanlist(i,3))==&#39;O&#39;
elseif abs(scanlist(i,4))&=threshold
if scanlist(i,4)&=0
包含各类专业文献、生活休闲娱乐、高等教育、外语学习资料、应用写作文书、专业论文、幼儿教育、小学教育、各类资格考试、92EZW算法的过程详解和Matlab代码等内容。 
 多级树集合分裂(SPIHT)算法的过程详解与 Matlab 实现 上星期我们讨论了 EZW 算法,很高兴收到了一些朋友的 email,对算法进行探讨、交流。这也是我开这个博客的源...  lle算法详解及matlab代码实现_IT/计算机_专业资料。LLE 相关知识详解网址:http:/...文献中讲解的实现方式,结合上述方法,更能理解 lle 的本质 LLE 算法代码 % LLE...  EM算法(讲解+程序)_计算机软件及应用_IT/计算机_专业资料。EM算法+MATLAB程序 ...Rubin 于 1977 年提出的求参数极大似然估计的一种方法, 它可以从非完整数据集中...  EigenFace算法详解及Matlab代码_计算机软件及应用_IT/计算机_专业资料。EigenFace...算法 Matlab 代码,含有重构过程与比较,但其代码中有一个错误,训练集合照片未...  程序 end %程序结束 利用 Ford--Fulkerson 标号法求最大流算法 的MATLAB 程序...(1)pd=1; %标号过程 for(i=1:n)if(No(i)) %选择一个已标号的点vi ...  lle算法详解及matlab代码实现_信息与通信_工程科技_专业资料。lle算法matlab代码实现...粒子群算法的matlab代码... 5页 1下载券 EZW算法的过程详解和Mat... 23页 ...  遗传算法经典MATLAB代码_计算机软件及应用_IT/计算机_专业资料。遗传算法经典MATLAB代码 遗传算法 经典学习 Matlab 代码遗传算法实例: 也是自己找来的,原代码有少许...  粒子群算法matlab代码 吐血推荐_工学_高等教育_教育...因为在以后的讲解中将会经常用到: 它们是: 是保持...维以下粒子维数的寻找最优的过程 if IsDraw~=0 ...  三个遗传算法matlab程序实例_IT/计算机_专业资料。遗传算法 matlab pid参数优化 ...(t,p);%绘制变异值增大过程 T2= elapsed_time=T2-T1; if elapsed_...

我要回帖

更多关于 老板办公桌摆放风水 的文章

 

随机推荐