matlab求解抛物​问题中一元二次方程组​的解舍去问题

2 Ansichten (letzte 30 Tage)
Chou Violet
Chou Violet am 13 Okt. 2018
clear; x0=input('输入投球点X坐标:');y0=input('输入投球点Y坐标:'); v0=input('输入初始速度(m/s):'); va=input('输入初速方向(°)(输入值大于-90°小于90°):'); vx0=v0*cos(va*(pi/180)); vy0=v0*sin(va*(pi/180));%计算x,y方向的初始速度 ax=0;ay=-9.81;%重力加速度 tf=solve('y0+(vy0)^2/(2*(-ay))+1/2*ay*(t+vy0/ay)^2','t'); t1=tf(1);t2=tf(2); tmax=max([real(t1(1)),real(t2(1))]); t=0:0.1;tmax; t0=vy0/(-ay); y=zeros(1,length(t)); for n=1:length(t) if t(n)>t0 y(n)=y0+(vy0)^2/(2*(-ay))+1/2*ay*(t(n)+vy0/ay)^2; elseif t(n)<=t0 y(n)=y0+vy0*t(n)+1/2*ay*t(n)^2; end end x=vx0*t; plot(x,y); xmax=max(x); vy=ay*(tmax-t0); v1=(vy^2+vx0^2)^(1/2); angle=arctan(vy/vx0); fprintf('球投出后%g秒着地\n',tmax); fprintf('在%g处着地\n',xmax); fprintf('着地的速度大小为%g,方向为%g\n',v1,angel);

Antworten (0)

Kategorien

Mehr zu 性能和内存 finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!