« 上一篇: 模拟一个小球的下落过程 下一篇: 5x5的圆孔的夫琅和费衍射 »
萝卜 @ 2006-05-31 20:28

摘要: 地面有山峰,有山谷.考虑一下小球自由下落,其中
考虑了空寂阻力.

程序:

% 一个小球从一定高度下落到地面(在地球表面上),地面有山峰,有山谷
close all;clc;clear;
figure;
x=linspace(-3.7,3.7,400);
y=cos(pi*x)/2+exp(x.^2/8);
Fun=inline('cos(pi*x)/2+exp(x.^2/8)-y','x','y');
Df=inline('-sin(pi*x)*pi/2+x*exp(x^2/8)/4','x');
% \copyright: zjliu
% Author's email: zjliu2001@163.com
plot(x,y);hold on;
plot(xlim,[5.3,5.3],'r');
set(gcf,'DoubleBuffer','on');
title('\itfalling ball','fontsize',16,...
    'fontname','times new roman');
Td=text(-4.2,1.8,'t=0 s','fontsize',14,'color',[0.4,0.3,0.9]);
Te=text(-4.2,1.2,'h=5.3 m','fontsize',14,'color',[0.4,0.3,0.8]);
Tf=text(-4.2,0.6,'v=0 m/s','fontsize',14,'color',[0.4,0.3,0.8]);
dz=x+i*y;
qz=0.5+5.3*i;
tp=linspace(0,pi*2,100);
qa=qz+0.08*exp(i*tp);
hF=fill(real(qa),imag(qa),'k');
axis([-4,4,0,7]);
axis equal;
g=9.8;% 重力加速度
f=0.01; % 空气阻力系数
v=0;
t=0;dt=0.014;
while t<20;
    v=v*(1-f);
    qz=qz+v*dt-0.5*g*dt^2*i;
    v=v-g*dt*i;
    qa=qz+0.08*exp(i*tp);
    set(hF,'XData',real(qa),'YData',imag(qa));
    Dd=abs(qz-dz);
    if min(Dd)<0.18;
        zy=linspace(-0.09,0.09,200)*exp(i*angle(v))+qz;
        Fxy=Fun(real(zy),imag(zy));
        [qq,Ka]=min(abs(Fxy));
        zp=zy(Ka);
        An=atan(Df(real(zp)))-pi/2;
        An=An+pi*(An<0);
        Am=angle(v);
        Am=Am+pi*(Am<0);
        Ak=2*An-Am;
        v=abs(v)*exp(i*Ak);
    end
    t=t+dt;
    set(Td,'String',['t=',num2str(t),' s']);
    set(Te,'String',['h=',num2str(imag(qz)),' m']);
    set(Tf,'String',['v=',num2str(abs(v)),' m/s']);
    pause(0.1);
end


最新评论


wcghha

2007-11-08 10:39 匿名 60.191.*.*

这个太厉害了,佩服啊....


评论 / 个人网页 / 扔小纸条
* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 


 

分类小组论坛
杂谈 , 娱乐、八卦 , 文学、艺术 , 体育 , 旅游、同城 , 象牙塔 , 情感 , 时尚、生活 , 星座 , 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定