早教吧 育儿知识 作业答案 考试题库 百科 知识分享

请高手帮我看段MATLAB的程序,有几个地方不懂意思,最好能帮我每句都写个注释.此程序是huffman编码.I=imread(‘code.gif’);[m,n]=size(I);p1=1;s=m*n;for k=1:mfor L=1:nf=0;for b=1:p1-1if (c(b,1)==I(k,L)) f=1;break;endendif

题目详情
请高手帮我看段MATLAB的程序,有几个地方不懂意思,最好能帮我每句都写个注释.此程序是huffman编码.
I=imread(‘code.gif’);
[m,n]=size(I);
p1=1;s=m*n;
for k=1:m
for L=1:n
f=0;
for b=1:p1-1
if (c(b,1)==I(k,L)) f=1;break;end
end
if(f==0) c(p1,1)=I(k,L);p1=p1+1;end
end
end
上面这段程序将图像的不同颜色统计在数组c的第一列中.
for g=1:p1-1
p(g)=0;c(g,2)=1;
for k=1:m
for L=1:n
if(c(g,1)==I(k,L)) p(g)=p(g)+1;end
end
end
p(g)=p(g)/s;
end
这段程序将相同颜色的像素数占图像总数的比例统计在数组p中
pn=0;po=1;
while(1)
if(pn>=1.0) break;
else
[pm,p2]=min(p(1:p1-1));p(p2)=1.1;
[pm2,p3]=min(p(1:p1-1));p(p3)=1.1;
pn=pm+pm2;p(p1)=pn;
tree(po,1)=p2;tree(po,2)=p3;
po=po+1;p1=p1+1;
end
end
主要是在 for L=1:n
f=0;
for b=1:p1-1
if (c(b,1)==I(k,L)) f=1;break;end
end
if(f==0) c(p1,1)=I(k,L);p1=p1+1;end
end
这里p1前面已经赋值1,在 for b=1:p1-1这里如何操作呢?用C语言的语法实在难以理解,
▼优质解答
答案和解析
for b= 1:pi-1 就是说循环 pi-1 次.b是循环变量.相当于c的for(i=1,i
看了 请高手帮我看段MATLAB的...的网友还看了以下:

如何在Matlab中利用已产生的m序列产生gold序列?rt,阶数是6,两个m序列系数分别是100  2020-05-17 …

解释程序的功能是A.将高级语言程序转换为目标程序B.将汇编语言程序转换为目标程序C.解释并执行高  2020-05-23 …

解释程序的功能是______。A.将高级语言程序转换为目标程序B.将汇编语言程序转换为目标程序C.  2020-05-23 …

汇编语言源程序须经汇编程序翻译成目标程序:解释性语言源程序须经解释程序解释执行;编译性源程序  2020-05-23 …

解释程序的功能是A.将高级语言程序转换为目标程序B.将汇编语言程序转换为目标程序C.解释执行高级  2020-05-24 …

编译程序和解释程序的区别是A.编译程序能生成目标程序,而解释程序不能B.解释程序能生成目标程序,  2020-05-24 …

编译程序和解释程序的区别是()。A.编译程序能生成目标程序,而解释程序不能B.解释程序能生成目标程  2020-05-24 …

下面是关于解释程序和编译程序的叙述,正确的是()A.编译程序和解释程度均能产生目标程序B.编译程序  2020-06-12 …

不容争辩的音序是第一种解释是容纳第二种解释是允许第不容争辩的音序是第一种解释是容纳第二种解释是允许第  2020-11-07 …

用化学知识填空:(1)NH4Cl溶液显性,用离子方程式表示其原因,其溶液中离子浓度大小顺序为.(2)  2021-02-01 …