QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 1448|回复: 0
打印 上一主题 下一主题

各位指点下

[复制链接]
字体大小: 正常 放大
chenhan 实名认证       

17

主题

3

听众

247

积分

升级  73.5%

  • TA的每日心情

    2012-2-11 21:05
  • 签到天数: 9 天

    [LV.3]偶尔看看II

    群组小草的客厅

    群组建模协会 at CUP

    群组西安交大数学建模

    跳转到指定楼层
    1#
    发表于 2011-1-23 10:12 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    %弹性蹦球演示程序
    figure(1);%定义函数
    axis([-5.1,5,-0.05,1.05]);%绘制二维图形
    hold on;%保持当前图形及轴系所有的特性
    axis('off');%覆盖坐标刻度,并填充背景
    %通过填充绘出台阶及两边的挡板
    fill([4.12,4.22,4.22,4.12],[-0.05,-0.05,1.05,1.05],'y');
    fill([-5,-3.2,-3.2,-5],[-0.05,-0.05,0,0],'g');
    fill([-3.2,-2.8,-2.8,-3.2],[-0.05,-0.05,0.2,0.2],'g');
    fill([-3.2,-1.4,-1.4,-3.2],[0.2,0.2,0.25,0.25],'g');
    fill([-1.4,-1,-1,-1.4],[0.2,0.2,0.45,0.45],'g');
    fill([-1.4,0.4,0.4,-1.4],[0.45,0.45,0.5,0.5],'g');
    fill([0.4,0.8,0.8,0.4],[0.45,0.45,0.7,0.7],'g');
    fill([0.4,2.0,2.0,0.4],[0.7,0.7,0.75,0.75],'g');
    fill([2.0,2.3,2.3,2.0],[-0.05,-0.05,0.75,0.75],'g');
    fill([2.3,4.12,4.12,2.3],[-0.05,-0.05,0,0],'g');
    %x2=line([-5,5],[0.25,0.25],'color','g','linestyle','-', 'markersize',50)%设置台阶边框线,颜色,擦试方式
    %line([-5,5],[0.5,0.5],'color','b','linestyle','-', 'markersize',50)%设置球与地面接触面的颜色,擦试方式
    %line([-5,5],[0.75,0.75],'color','b','linestyle','-', 'markersize',50)%设置球与地面接触面的颜色,擦试方式
    head=line(-5,1,'color','r','linestyle','.','erasemode','xor', 'markersize',60);%设置小球颜色,大小,线条和擦试方式
    %body=line(-5,1,'color','b','linestyle','-','erasemode','none'); %描绘轨迹线
    %设置初始条件
    while 1
    t=4;
    dt=0.001;
    w=0;
    dw=0.001;
    w=0;%设置球弹起的初始位置
    %设置球弹起的高度
    while t<=4.12
        t=dt+t;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)+1;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    w=0;%设置球弹起的初始位置
    %设置球弹起的高度
    while t>=2.11
        t=t-dt;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)+1;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    w=0;%设置球弹起的初始位置
      %设置球弹起的高度
    while t>=1.11
        t=t-dt;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)/4+1;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    w=-0.71;%设置球弹起的初始位置
      %设置球弹起的高度
    while t>=-0.62
        t=t-dt;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)/2+1;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    w=-0.71;%设置球弹起的初始位置
      %设置球弹起的高度
    while t>=-2.31
        t=t-dt;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)/2+0.75;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    w=-0.71;%设置球弹起的初始位置
      %设置球弹起的高度
    while t>=-4
        t=t-dt;
    if w<=1
        w=dw+w;
    else
        w=-1;
    end
    y=(-w*w)/2+0.5;
    set(head,'xdata',t,'ydata',y);%设置球的运动
    %set(body,'xdata',t,'ydata',y);%描绘轨迹线
    drawnow;
    end %结束程序
    for i=0:0.01:200%设置延时
        y=i+2;
        if(y>199)
        end
    end
    end
    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持0 反对反对0 微信微信
    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-12-21 05:01 , Processed in 0.997069 second(s), 51 queries .

    回顶部