MATLAB 程序紧急求助。 (两个小球完全d性碰撞) 【K = Mm; ur = uu0; vr = vu0】

MATLAB 程序紧急求助。 (两个小球完全d性碰撞) 【K = Mm; ur = uu0; vr = vu0】,第1张

clear

K = logspace( -1, 1, 11) %设自变量数组K,销绝宏 从 K = 0.1 ~ 10,宏凳 按等比取11个点

for i = 1 : length(K) %对各个K循环计算

ur1 = roots([( 1 + 1/K(i) ), - 2/K(i) , (1/K(i) - 1 )]) %二次方程亏册有两个解

ur(i) = ur1(abs(ur1 - 1) >0.001) %去掉在1附近的庸解

end

vr = (1 - ur)./K %用(vr = (1 - ur)/K )求vr, 用元素群运算

em = 1 - ur.* ur%主动球损失的能量(相对值)

[urvr] %显示输出数据

semilogx(K, ur,K, vr,K, em), grid %绘图

%下面可以说是一个小球的碰撞动画。只要把下面这些复制到matlab中运行就可以了。希望能帮到你。

fill([6,7,7,6],[5,5,0,0],[0,0.5,0])%右边竖条的填充

hold on%保持当前图形及轴系的所有特性

fill([2,6,6,2],[3,3,0,0],[0,0.5,0])%左边竖条的填充

hold on% 保持当前图形及轴系的所有特性

t1=0:pi/60:pi

plot(4-2*sin(t1-pi/2),5-2*cos(t1-pi/2))%绘制中间的凹弧图形

grid%添加网格线

axis([0,9,0,9])%定义坐标轴的比例

%axis('off')%关闭所有轴标注,标记,背景

fill([1,2,2,1],[5,5,0,0],[0,0.5,0])%中间长方形的填充

hold on% 保持当前图形及轴系的所有特性

title('碰撞')%定义图题

x0=6

y0=5

head1=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',30)

head2=line(x0,y0,'color','r','linestyle','.','erasemode','xor','markersize',50)%设置小球颜色,大小,线条的擦拭凯裤方式

t=0%设置小球的初始值

dt=0.001%设置运动周期

t1=0%设置大球的初始值

dt1=0.001

while 1%条件表达式

t=t+dt

x1=9-1*t

y1=5

x3=6

y3=5

if t>0

x2=6

y2=5%设置小球的运动轨迹

end

if t>2.8

t=t+dt

a=sin(t-3)

x1=6.1

y1=5.1

x3=4-2*sin(1.5*a)

y3=5-2*cos(1.5*a)%设置大球的运动轨迹

end

set(head1,'xdata',x1,'ydata',y1)%设滑启置信孙如球的运动

set(head2,'xdata',x3,'ydata',y3)

drawnow

end

clear allclose allclc

syms v1 v2 m M

% % % % M=K*m

% % % % v1是碰撞后小球速度;v2是碰撞后卜亩庆大球速度;v是碰撞前小球速度;型握

[v1,v2]=solve('m*v=m*v1+K*m*v2','m*v^2=m*v1^2+K*m*v2^2','v1','v2'耐梁)

v1 =

v

-(v*(K - 1))/(K + 1)

v2 =

0

(2*v)/(K + 1)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12292019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存