资源简介
在matlab中运行的zigzag扫描程序
文件类型:MATLAB M-file (.m)
打开方式:MATLAB Editor
代码片段和文件信息
function out=zigzag(inaction)
%采用对称法;
%原始矩阵必须是(2^n)*(2^n)的方阵;
%如果action的值为0,表示zigzag正向扫描;如果action的值为1表示zigzag反向扫描。
if nargin<2
action=0;
end
i=1; %
j=1; %原始矩阵的下标
switch action
case 0 %正向扫描
f1=0; %原始矩阵的下标i如何增长的标志
f2=0; %原始矩阵的下标j如何增长的标志
m=size(in1); %原始矩阵的大小
if m==1
error(‘正向扫描时的输入参数in不能是一维的!!!‘);
end
for k=1:m*m/2
out(k)=in(ij);
out(m*m+1-k)=in(m+1-im+1-j);
if i==1
f2=0;
if f1==0
j=j+1;
f1=1;
else
i=i+1;
j=j-1;
end
else
if j==1
f1=0;
if f2==0
i=i+1;
f2=1;
评论
共有 条评论