📄 ex715.m
字号:
%《MATLAB及其在理工课程中的应用指南》第七章例7-1-5程序
% 考虑空气阻力时的抛射体运动
% 西安电子科技大学出版社出版 陈怀琛编著 1999年10月初版,2004年11月第二版
%
clear; y0 = 0; x0 = 0; % 初始位置
vMag = input('输入初始速度 (m/s):(书上取60) '); % 输入初始速度
vDir = input(' 输入初速方向(度):(书上取45或35) ');
tf = input('输入飞行时间(秒)(书上取6.2或6) : '); % 输入飞行时间
vx0 = vMag*cos(vDir* (pi/180)); % 计算x,y方向的初始速度
vy0 = vMag*sin(vDir* (pi/180)); %
r0 = [0;0;vx0;vy0];
[t,r] = ode23('ex715f',[0,tf],r0);[t,r] % 数值积分调用ex715f.m的语句)
disp('用ode23的积分结果')
[t,r],xmax = min(r(find(r(:,2)<0),1)) % 用ode23的积分结果
[t1,r1] = ode45('ex715f',[0,tf],r0); % 也可用ode45代替ode23,其精度高于ode23
plot(r(:,1),r(:,2)), % 绘制轨迹
set(gcf,'color','w') % 置图形背景色为白色
axis equal, grid on, hold on % 使x和y取同样比例尺
% 注意下一语句的意义:找y<0的下标所对应的x的最小值, 以粗略计算射程
disp('用ode45的积分结果')
[t1,r1],xmax = min(r1(find(r1(:,2)<0),1)) % 用ode45的积分结果
plot([0,150],[0,0]) % 画出x坐标线
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -