matlab演示地月碰撞

代码

matlab 复制代码
function EarthMoonCollisionSimulation()
    % 初始化参数
    earth_radius = 6371; % 地球半径,单位:公里
    moon_radius = 1737;  % 月球半径,单位:公里
    distance = 384400;   % 地月距离,单位:公里
    collision_time = 50; % 碰撞所需时间,单位:秒
    time_steps = 100;    % 时间步数

    % 初始化位置
    earth_position = [0, 0];
    moon_position = [distance, 0];

    % 初始化图形
    figure;
    hold on;
    axis equal;
    xlim([-distance, distance]);
    ylim([-distance/2, distance/2]);
    xlabel('X (km)');
    ylabel('Y (km)');
    title('Earth-Moon Collision Simulation');

    % 画地球和月球
    earth = rectangle('Position', [earth_position - earth_radius, 2*earth_radius, 2*earth_radius], 'Curvature', [1, 1], 'FaceColor', 'b');
    moon = rectangle('Position', [moon_position - moon_radius, 2*moon_radius, 2*moon_radius], 'Curvature', [1, 1], 'FaceColor', 'k');

    % 模拟运动
    for t = 1:time_steps
        % 计算当前时间的位移
        current_time = t / time_steps * collision_time;
        displacement = (distance / collision_time) * current_time;

        % 更新月球位置
        new_moon_position = [distance - displacement, 0];

        % 更新图形
        set(moon, 'Position', [new_moon_position - moon_radius, 2*moon_radius, 2*moon_radius]);

        % 暂停以创建动画效果
        pause(0.05);
    end

    % 显示碰撞结束
    title('Collision Occurred');
    hold off;
end

说明

初始化参数:设置地球和月球的半径、地月距离、碰撞所需时间和时间步数。

初始化位置:设置地球和月球的初始位置。

初始化图形:创建一个图形窗口,并设置坐标轴和标题。

画地球和月球:使用rectangle函数画出地球和月球。

模拟运动:通过循环更新月球的位置,模拟地月碰撞的过程。

更新图形:在每个时间步中更新月球的位置,并暂停一段时间以创建动画效果。

显示碰撞结束:在碰撞结束时,更新标题以显示碰撞已发生

效果

相关推荐
Matlab仿真实验室19 分钟前
基于Matlab实现车牌识别系统(源码+图像)
开发语言·网络·人工智能·算法·计算机视觉·matlab·车牌识别系统
团子tuan5 小时前
Ubuntu20.04下安装Matlab2018
linux·matlab
埃菲尔铁塔_CV算法6 小时前
条件数:概念、矩阵中的应用及实际工业场景应用
人工智能·python·线性代数·算法·matlab·矩阵
2402_871321956 小时前
Matlab与python数据处理对比
python·gpt·学习·算法·matlab
机器学习之心7 小时前
多输入多输出 | Matlab实现TCN-LSTM时间卷积神经网络结合长短期记忆神经网络多输入多输出预测
神经网络·matlab·lstm·长短期记忆神经网络·tcn-lstm·时间卷积神经网络
鲸大鱼的自我修养12 小时前
延时系统建模,整数延时与分数延时,连续传函与离散传函,Pade近似与Thiran近似,Matlab实现
开发语言·线性代数·算法·matlab·自动化
简简单单做算法20 小时前
基于图像形态学处理的移动物体目标跟踪和质心提取matlab仿真,带GUI界面
matlab·目标跟踪·图像形态学处理·移动物体·质心提取
许乌有21 小时前
matlab基础使用
开发语言·matlab
通信仿真实验室1 天前
(73)脉冲幅度调制PAM调制解调通信系统的MATLAB仿真
matlab·信号处理·通信原理·调制解调·通信信号·通信仿真
八年。。1 天前
MATLAB 中有关figure图表绘制函数设计(论文中常用)
开发语言·笔记·学习·matlab