温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

matlab曲线折叠怎么实现

发布时间:2022-01-14 10:04:05 来源:亿速云 阅读:297 作者:iii 栏目:大数据

本篇内容主要讲解“matlab曲线折叠怎么实现”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“matlab曲线折叠怎么实现”吧!

曲线折叠     

clear ;

close all;

%正常绘图

x=0:0.005:5;

y=exp(-6*x).*sin(x*40)*6+exp(5*x)*5e-11.*sin(x*20);

figure(1)

for i=1:2

  a(i)=subplot(2,1,i);

  title('Before');

  plot(x,y,x,y+2,'o');

  grid on;

  title('Before');

  legend('a','a+2');

  xlim([0 5]);

end

drawnow;

matlab曲线折叠怎么实现          

cutout(a(2),1,4,0.2);

%将a(2)的1到4部分折叠为长度0.2的虚线段

title('After');

matlab曲线折叠怎么实现          

折叠曲线的函数

function cutout(axes_handle,Start,End,Gap)

    xt=axes_handle.XTick;

    xl=axes_handle.XLim;

    p=allchild(axes_handle);

    px={p.XData};

    py={p.YData};

    leg=findobj(axes_handle.Parent,'Tag','legend');

    [leg.AutoUpdate]=deal('off');

    kolor={p.Color};

    hold on;

    for i=1:length(p)

        p(i).XData=px{i}(1:find(px{i}>=Start,1));

        p(i).YData=py{i}(1:find(px{i}>=Start,1));

        x{i}=px{i}(find(px{i}>=End,1):end)-End+Start+Gap;

        y{i}=py{i}(find(px{i}>=End,1):end);

        pl(i,:)=plot(x{i},y{i},[p(i).XData(end) x{i}(1)],[p(i).YData(end) y{i}(1)],...

    'Color',kolor{i});

        pl(i,2).LineStyle=':';

        pl(i,1).Marker=p(i).Marker;

        pl(i,1).MarkerSize=p(i).MarkerSize;

        pl(i,1).LineWidth=p(i).LineWidth;

    end

    hold off;

    xta=xt(1:find(xt>=Start));

    xta(end)=Start;

    xtb=xt(find(xt>End):end);

    xtb=[End xtb];

    xtL=[xta xtb];

    xt2=[xta xtb-End+Start+Gap];

    axes_handle.XTick=xt2;

    axes_handle.XTickLabel=xtL;

    axes_handle.XLim=[xl(1) xl(2)-End+Start+Gap];

到此,相信大家对“matlab曲线折叠怎么实现”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI