• 大小: 2KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: Matlab
  • 标签: zigzag  

资源简介

在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;
    

评论

共有 条评论

相关资源