MATLAB代码,课设。弹性球从一个高为 的高地,以初始速度 下落到地平面,这里的高度h、速度v与时间t的关系由下式给出

题目:
弹性球从一个高为 的高地,以初始速度 下落到地平面,这里的高度h、速度v与时间t的关系由下式给出:
h(t)=1/2gt^2+v0t+h0,
v(t)=g
t+v0,
其中 g为重力加速度(-9.81m/s2)。用matlab程序编写,t从0到500,以1为间隔,并绘出图像。 v0、h0 应由键盘输入。
代码如下:

在命令行窗口直接输入如下:
t=0:500;
g=-9.81;
v0=input('请输入初速度:');
h0=input('请输入初始高度:');
for i=0:500
h=0.5*g*i.*i+v0*i+h0;
if h<0
break;
end
end
t=0:i-1;
h=0.5*g*t.*t+v0*t+h0;
v=g*t+v0;
subplot(1,2,1)
plot(t,h)
xlabel('t'),ylabel('h')
title('高度随时间的变化图象')
subplot(1,2,2)
plot(t,v)
xlabel('t'),ylabel('v')
title('速度随时间变化的图像')

%以初速度为0,初始高度为10000为例:
%图像结果如下:

在这里插入图片描述

MATLAB_GUI控制小加减速运动 btn.start.m function btn_start() global hball ipos delt isforward npos ispaused x y ispaused = false; while (1) set(hball, 'xdata', x(ipos), 'ydata', y(ipos)); drawnow; pause(delt); ipos = ipos-(-1)^isforward; if ipos==npos+1 ipos = 1; elseif ipos == 0 ipos = npos; end if ispaused break end end ball.m hfigure = figure('name', '控制小运动 ver 1.0', 'menubar', 'none', 'numbertitle', 'off', 'position', [600 200 350 400], 'visible', 'off'); global hball ipos delt isforward npos ispaused x y haxes = axes('position', [0.25 0.45 0.5 0.5], 'visible', 'off'); axis equal t = 0:0.1:2*pi+0.1; x = sin(t); y = cos(t); line(x, y, 'linewidth', 2); set(0, 'defaultuicontrolbackgroundcolor', get(hfigure, 'color')); set(0, 'defaultuicontrolfontsize', 12); set(0, 'defaultuicontrolunits', 'points'); hball = line('xdata', 0, 'ydata', 1, 'marker', 'o', 'markerfacecolor', 'r', 'markersize', 15); npos = length(t); ipos = 1; delt = 0.01; ispaused = false; isforward = true; uicontrol('string', '开始', 'position', [30 50 50 20], 'callback', 'btn_start;'); uicontrol('string', '停止', 'position', [100 50 50 20], 'callback', 'ispaused = true;'); uicontrol('string', '换向', 'position', [170 50 50 20], 'callback', 'isforward = ~isforward;'); uicontrol('string', '退出', 'position', [100 20 50 20], 'callback', ['ispaused = true;', 'closereq;', ... 'clear delt hball ipos ispaused t y haxes hfigure isforward npos x;']); uicontrol('style', 'slider', 'value', 0.5, 'position', [40 90 190 15], 'callback', 'delt = get(gcbo, ''value'')/100+0.01;'); uicontrol('style', 'text', 'position', [40 110 190 20], 'fontsize', 12, 'string', 'speed'); % newicon = javax.swing.imageicon('1.png'); % figframe = get(hfigure, 'javaframe'); % figframe.setfigureicon(newicon); set(hfigure, 'visible', 'on');
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

要多菜有多菜的鸟

如果有帮到你,打个赏吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值