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

2 visualizzazioni (ultimi 30 giorni)
Chou Violet
Chou Violet il 13 Ott 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);

Risposte (0)

Categorie

Scopri di più su 性能和内存 in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!