• matlab基础向9:动画


    先定义坐标变量,确定范围,画出起始静态图,存进图形变量h。通过对坐标的变化,把新的坐标放进图形变量h,再实时刷新看起来就是动态的。

    1.动态的sin曲线

    X = -2*pi:0.1:2*pi;
    Y = sin(X);
    h = plot(X,Y);%先画出静态的,存在h里
    
    for i=1:0.1:1000
        X = X+0.1;%x向右移动0.1个单位
        Y = sin(X);
        set( h, 'XData',X,'YData',Y );%新的X和Y,重新放回到h里
        drawnow;%刷新
    end
    

    2.螺旋上下拉升收缩的曲线,像弹簧

    t=-10*pi:0.1:pi*10;
    x=cos(t);
    y=sin(t);
    z=t;
    h=plot3(x,y,z);
    
    axis([-1,1,-1,1,-40,40]);%坐标间距固定
    while true
        for i=1:1:100
            z=0.98*z;%压缩为原来的0.98倍
            set(h,'XData',x,'YData',y,'ZData',z);
            drawnow;
        end
    
        for i=1:1:100
            z=z/0.98;%拉伸
            set(h,'XData',x,'YData',y,'ZData',z);
            drawnow;
        end
    end
    

      

    3.时钟

    t=0:pi/50:2*pi;
    x=cos(t);
    y=sin(t);
    plot(x,y);%先画出一个圆
    axis equal;%横纵坐标间距相同
    hold on;%保存
    
    linex=[0 1];
    liney=[0 0];
    h=plot(linex,liney);
    
    theta=0;
    
    for i=1:1000
        theta=theta-0.1;
        linex(2)=cos(theta);
        liney(2)=sin(theta);
        set(h,'XData',linex,'YData',liney);
        drawnow;
    end
    

      

    数组变量从1开始算起,相比C语言的[]索引方式有所不同,用()引用。

    本次对时针动态变化,时针由两点确定。

    (另外,如果drawnow 换成 drawnow update会转得更快)。

  • 相关阅读:
    总结
    ElasticSearch课件1.22
    clickhouse1.0.5
    大数据实时项目(ads层)
    大数据实时项目(dws层)1.2
    大数据实时项目(日活)1.6.1
    01_大数据技术之Spark入门(2.1)
    03_大数据技术之SparkSql(2.0)
    04_大数据技术之SparkStreaming(2.0)
    05_大数据技术之Spark内核解析(1.1)
  • 原文地址:https://www.cnblogs.com/shoulinniao/p/11197463.html
Copyright © 2020-2023  润新知