⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 netw_brief.m

📁 用matlab实现利用统计混沌方法解决非线性系统时间序列预测的问题
💻 M
字号:
function netw_brief(filename,protshow,figsepar);

if nargin<1,
        disp('you must specify a file in arg1 !');
        return;
end;
if nargin<2,
        protshow = 1;
end;
if nargin<3,
        figsepar = 0;
end;

% OUVERTURE DES FICHIERS

[dat,ndat,ddat] = ld(strcat(filename,'.dat'));
if ndat*ddat==0, okdat=0; else, okdat=1; end;

[prj,nprj,dprj] = ld(strcat(filename,'.prj'));
if nprj*dprj==0, okprj=0; else, okprj=1; end;

if protshow==1,
        [pro,npro,dpro] = ld(strcat(filename,'.pro'));
        if npro*dpro==0, okpro=0; else, okpro=1; end;
        
        [crv,ncrv,temp] = ld(strcat(filename,'.crv'));
        if ncrv*temp==0, okcrv=0; else, okcrv=1; end;
        
        [map,nmap,dmap] = ld(strcat(filename,'.map'));
        if nmap*dmap==0, okmap=0; else, okmap=1; end;
else,
        okpro = 0;
        okcrv = 0;
        okmap = 0;
end;

if okpro==1 & okmap==1,
        if npro ~= nmap,
                disp('#rows not equal for pro and map');
                % return;
        end;
end;

% AFFICHAGE

% restriction
if ndat>2000,
        p = randperm(ndat);
        p = p(1:2000);
        dat = dat(p,:);
        prj = prj(p,:);
end;

% donnees initiales
if figsepar,
        figure;
else,
        figure;
        subplot(2,2,1);
end;
if okdat==1,
        if ddat==1,
                plot(dat(:,1),dat(:,1),'r.');
        elseif ddat==2,
                plot(dat(:,1),dat(:,2),'r.');        
        else,
                plot3(dat(:,1),dat(:,2),dat(:,3),'r.');
        end;
        hold on;
end;
if okpro==1,
        if okcrv==1,
                for k=1:ncrv,
                        i = 1 + crv(k,1);
                        j = 1 + crv(k,2);
                        if dpro==1,
                                plot([pro(i,1);pro(i,1);pro(j,1);pro(j,1);pro(i,1)],[pro(i,1);pro(j,1);pro(j,1);pro(i,1);pro(i,1)],'b-');		
                        elseif dpro==2,
                                plot([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)],'b-');
                        else,
                                plot3([pro(i,1);pro(j,1)],[pro(i,2);pro(j,2)],[pro(i,3);pro(j,3)],'b-');
                        end;
                end;
        end;
        if dpro==1,
                plot(pro(:,1),pro(:,1),'b.');
        elseif dpro==2,
                plot(pro(:,1),pro(:,2),'bo');
        else,
                plot3(pro(:,1),pro(:,2),pro(:,3),'bo');
        end;
end;
axis equal;
axis off;
ax = axis;
if ddat==1,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4))]);
        arrow([0.5*(ax(1)+ax(2));ax(3)],[0.5*(ax(1)+ax(2))+1;ax(3)+1]);
elseif ddat==2,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4))]);
        draxis([ax(1),ax(3)]);
else,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4)) -0.1*abs(ax(5)) +0.1*abs(ax(6))]);
        draxis3([ax(1),ax(3),ax(5)]);
end;

% donnees projetees
if figsepar,
        figure;
else,
        subplot(2,2,2);
end;
if okprj==1,
        if dprj==1,
                plot(prj(:,1),prj(:,1),'r.');
        elseif dprj==2,
                plot(prj(:,1),prj(:,2),'r.');
        else,
                plot3(prj(:,1),prj(:,2),prj(:,3),'r.');
        end;
        hold on;
end;
if okmap==1,
        if okcrv==1,
                for k=1:ncrv,
                        i = 1 + crv(k,1);
                        j = 1 + crv(k,2);
                        if dmap==1,
                                plot([map(i,1);map(i,1);map(j,1);map(j,1);map(i,1)],[map(i,1);map(j,1);map(j,1);map(i,1);map(i,1)],'b-');
                        elseif dmap==2,
                                plot([map(i,1);map(j,1)],[map(i,2);map(j,2)],'b-');
                        else,
                                plot3([map(i,1);map(j,1)],[map(i,2);map(j,2)],[map(i,3);map(j,3)],'b-');
                        end;
                        hold on;
                end;
        end;
        if dmap==1,
                plot(map(:,1),map(:,1),'b.');
        elseif dmap==2,
                plot(map(:,1),map(:,2),'bo');
        else,
                plot3(map(:,1),map(:,2),map(:,3),'bo');
        end;
end;
axis equal;
axis off;
ax = axis;
if dprj==1,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4))]);
        arrow([0.5*(ax(1)+ax(2));ax(3)],[0.5*(ax(1)+ax(2))+1;ax(3)+1]);
elseif dprj==2,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4))]);
        draxis([ax(1),ax(3)]);
else,
        axis(axis+[-0.1*abs(ax(1)) +0.1*abs(ax(2)) -0.1*abs(ax(3)) +0.1*abs(ax(4)) -0.1*abs(ax(5)) +0.1*abs(ax(6))]);
        draxis3([ax(1),ax(3),ax(5)+2]);
end;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -