Matlab动画模拟太阳系行星运动
Matlab在力学中的应用

clear allA1=4;A2=2; w1=2*pi;w2=4*pi; o1=pi/4;o2=pi/6; t=- 30:0.005:30; n=leng th(t); x =A1*sin(w1*t+o1); y=A2*sin(w2*t+o2); comet(x ,y,0.1)·46· 保 山 师 专 学 报 第 27 卷dsolve('d equa1', 'd equa2', 'condi1', 'condi2''var1', 'var2' )'d equa' 为待解的方程, 'condi' 为初始状态, 如果不声明初始状态, 则解得的为微分方程的通解。
'var' 为声明微分变量。
例如, 在力学中讨论行星或卫星的轨道方程 时, 就遇到求解微分方程的问题。
我们知道, 行星或 卫星的运动, 是在与距离的平方成反比的引力场中 作有心运动, 其引力为: F=- G M m 令 u= 1 并代如 r2r比耐公式: mu 2h 2( d 2u +u)=- F(u)线, 调用格式是:comet(y)// 慧星图动画显示向量 y 确定的函数 comet (x y)// 慧星图动画显示 x 与 y 确定的函 数d "2 2 有 d u GM d "2+u=h 2 解该微分方程得: u=Ac os "+ GMcomet (axes handle, )// 慧 星 体 的 长 度h 2p*length(y),默认的值为 0.1我们可以用命令 comet()来描绘振动的合成, 形象显示振动合成的利萨如图。
h 2/GM则 r= (Ah 2/GM)c os "+1 令 P=h 2/GM , e=A h 2/GMP 例 2 已知一个质点同时参与互相垂直的两个 有 r=1+ec os "简 谐 振 动, 它 们 的 运 动 方 程 分 别 是 x= 4sin (2!t+这便是行星的运动轨道方程, 既行星的运动轨 道是原点在焦点上的圆锥曲线。
matlab中crtbp函数的用法

matlab中crtbp函数的用法全文共四篇示例,供读者参考第一篇示例:MATLAB是一种强大的计算工具,在工程和科学领域拥有广泛的应用。
在使用MATLAB进行动力学仿真时,经常会用到在空间中存在多个天体的情况。
为了模拟这种情况,MATLAB提供了一个重要的函数——crtbp函数。
crtbp函数的全称是Circular Restricted Three Body Problem,即圆限制性三体问题。
这个函数是用来解决在环绕两个天体旋转的半径相等、角速度相等的惯性系中的一个质点的运动问题。
在地球和月球之间飞行的航天器就是一个广为人知的实例。
这个系统中,地球和月球是两个主天体,航天器是一个小的质点,它在重力场中受到地球和月球的引力。
在MATLAB中,使用crtbp函数可以方便地模拟这种情况。
这个函数的语法如下:```matlab[T,Y] = crtbp(tspan, y0);```tspan是仿真的时间区间,y0是初始条件。
T是仿真的时间点,Y 是对应的状态变量矩阵。
状态变量矩阵的每一行是一个时间点的状态变量,包括位置和速度。
在使用crtbp函数时,需要先定义两个主天体的质量和半径。
然后,需要设置初始条件y0,包括质点的初始位置和速度。
接着,调用crtbp函数进行仿真,得到时间和状态变量的矩阵。
可以用绘图函数将仿真结果可视化,分析质点的轨迹和运动规律。
这个函数的灵活性和便捷性使得它在航天器轨道设计、实时飞行控制等方面得到了广泛的应用。
通过对crtbp函数的调用,工程师和科学家能够更好地理解和预测天体运动的规律,为航天器的设计和控制提供有力的支持。
MATLAB中的crtbp函数是一个非常有用的工具,可以帮助用户解决圆限制性三体问题,模拟多天体系统的运动。
通过灵活的参数设置和强大的计算能力,crtbp函数将为工程师和科学家们在空间探索和飞行控制领域带来更多的启发和帮助。
第二篇示例:MATLAB中的crtbp函数是一个非常实用的工具,用于求解三体问题中贝瑞·曼恩核。
Matlab-制作动画

保存动画的示例1
• 三维动画
[x,y,z]=peaks(30); %peaks产生一个凹凸有致的曲面 surf(x,y,z) %用X和Y定义x-y坐标网格,Z定义网格上每一点的高度,来生成三维曲面 axis([-3 3 -3 3 -10 10]) m=moviein(15); for i=1:15 view(-37.5+24*(i-1),30) m(:,i)=getframe; end movie(m)
surf(sin(2*pi*j/20)*Z,Z) F(j) = getframe; end movie(F,20)
15
其它动画示例程序
clear;clc; [x,y]=meshgrid(-8:.1:8); for j=1:20 f=@(x,y)(sin(sqrt((11-j)*(x.^2+y.^2)))./sqrt((11-j)*(x.^2+y.^2)+eps)); z=f(x,y); surf(x,y,z);shading interp; M(j) = getframe; if j==1 [I,map]=rgb2ind(M(j).cdata,256); imwrite(I,map,'out.gif','DelayTime',.1) else imwrite(rgb2ind(M(j).cdata,map),map,'out.gif','WriteMode','append','DelayTime',.1) end end movie2avi(M,'out.avi')
• 一般格式:
for i=1:n figure(i) F(i)=getframe; end; movie2avi(F,'...filename.avi')
matlab卫星轨迹

MATLAB卫星轨迹引言卫星轨迹是描述卫星在地球或其他天体之间运动的路径。
通过了解卫星轨迹,我们可以预测和控制卫星的运行,以及计划卫星的任务。
在本文档中,我们将使用MATLAB来分析和绘制卫星轨迹。
确定卫星轨迹方程卫星在空间中的运动可以通过多种方式描述,其中一种常用的方法是使用开普勒问题的解析解。
开普勒问题是描述两个质点间引力相互作用的运动方程。
对于一个质点沿着椭圆轨道运动的情况,其运动方程可以表示为:轨道方程轨道方程其中,r是卫星与中心天体(例如地球)之间的距离,a和b是椭圆的半长轴和半短轴,e是离心率,θ是卫星相对于半长轴的偏移角。
在MATLAB中,我们可以使用以下代码来计算卫星的轨道方程:function [x, y] = compute_orbit(a, e, theta)r = a * (1 - e^2) ./ (1 - e * cos(theta));x = r .* cos(theta);y = r .* sin(theta);end绘制卫星轨迹在计算了卫星的轨道方程之后,我们可以使用MATLAB的绘图工具将卫星轨迹可视化。
以下是绘制卫星轨迹的代码示例:a = 6378; % 半长轴e = 0.1; % 离心率theta = linspace(0, 2*pi, 1000); % 角度范围[x, y] = compute_orbit(a, e, theta);figure;plot(x, y);axis equal;title('卫星轨迹');xlabel('X轴');ylabel('Y轴');在上述代码中,我们假设半长轴为6378千米,离心率为0.1,并生成1000个角度点。
然后,我们使用compute_orbit 函数计算卫星的轨道坐标,并使用plot函数绘制这些坐标。
最后,我们使用axis equal命令来确保图形的横纵比例相等,以保持轨道的形状准确。
适合用matlab解决的经典物理例题

适合用Matlab解决的经典物理例题在物理学领域,经典物理例题一直是学习和研究的重要内容。
而Matlab作为一种强大的数学软件,非常适合解决各种物理问题。
本文将从力学、电磁学和热力学等多个方面,选取一些经典的物理例题,通过Matlab进行分析和求解,展示Matlab在解决物理问题时的强大用途。
1. 简谐振动问题简谐振动是物理学中一个重要的模型,涉及到弹簧振子、单摆等问题。
通过Matlab可以很方便地求解简谐振动的运动规律。
对于弹簧振子的运动方程,可以通过Matlab进行数值模拟,得到振动的周期、频率、位移等参数,从而更好地理解简谐振动的特性。
2. 电场问题在电磁学中,电场是一个重要的研究对象。
通过Matlab可以很容易地分析不同形状的电荷分布所产生的电场分布。
可以通过Matlab计算出点电荷、均匀带电细棒等情况下的电场分布,并绘制出电场线图,直观地展现电场的分布规律。
这样的分析对于理解电场的性质和相互作用具有重要意义。
3. 热传导问题热传导是热力学研究的一个重要方面,涉及到导热方程的求解和热量分布的分析。
通过Matlab可以对不同材料和形状的热传导问题进行数值模拟和求解。
可以通过Matlab计算出棒状材料中的温度分布随时间的演化,从而得到材料的热传导性能。
这样的分析对于工程实践中的热设计和材料选型具有重要指导意义。
4. 万有引力问题在力学中,万有引力是一个经典的例题,涉及到行星轨道、卫星运动等问题。
通过Matlab可以很方便地进行万有引力场下的物体运动模拟。
可以通过Matlab计算地球和月球的引力作用下的月球轨道,从而揭示天体运动的规律和特性。
这样的模拟对于探索宇宙中天体运动规律具有重要帮助。
总结回顾:通过以上例题的分析,我们不仅了解了Matlab在经典物理例题中的应用,也可以发现Matlab在解决物理问题时的便捷和高效。
当然,实际物理问题可能具有更多的复杂性和多样性,需要结合理论分析和实验数据进行综合研究。
matlab中多项式拟合方法

MATLAB中多项式拟合方法一、概述在科学计算和工程领域,多项式拟合是一种常用的数据拟合方法。
MATLAB作为一种强大的数学计算软件,提供了多种多项式拟合的函数和工具,可以方便地进行数据拟合和分析。
二、多项式拟合的原理多项式拟合是利用多项式函数来拟合已知的数据点,使得多项式函数与实际数据点的残差最小化。
多项式函数可以表达为:\[ y(x) = a_0 + a_1x + a_2x^2 + ... + a_nx^n \]其中,\(y(x)\)为拟合函数,\(a_0, a_1, a_2,...,a_n\)为多项式系数,\(x\)为自变量。
拟合的目标是通过确定系数的取值,使得多项式函数和实际数据点的误差最小。
三、MATLAB中的多项式拟合函数MATLAB提供了多种函数和工具来进行多项式拟合,常用的函数包括polyfit、polyval和polyfitn等。
1. polyfit函数polyfit函数用于多项式拟合,其调用格式为:\[ p = polyfit(x, y, n) \]其中,\(x\)为自变量数据,\(y\)为因变量数据,\(n\)为拟合的多项式阶数。
函数返回一个多项式系数向量\(p\),可以使用polyval函数计算拟合的多项式函数值。
2. polyval函数polyval函数用于计算多项式函数的值,其调用格式为:\[ y_fit = polyval(p, x) \]其中,\(p\)为多项式系数向量,\(x\)为自变量数据,\(y_fit\)为拟合的多项式函数值。
3. polyfitn函数polyfitn函数是MATLAB中的一个拟合工具箱,可以进行更复杂的多项式拟合和数据分析,包括多变量多项式拟合、非线性多项式拟合等。
四、多项式拟合的应用多项式拟合在科学研究和工程实践中有着广泛的应用,例如数据分析、曲线拟合、信号处理等领域。
1. 数据分析多项式拟合可用于分析实验数据,拟合实验结果,从而得出数据之间的关系和规律。
unity3D技术之研究院之通过坐标变换实现简单太阳系

我们拿太阳系为模型,主要实现太阳自转、地球自转、地球公转、月球自转、月球公转效果。
由于现在还没有说到模型的绘制,我们现在暂时用正方体来代表三个星球。
先来看一下,在Direct3D 中是如何生成平移、旋转、缩放矩阵的。
(文章出自狗刨学习网)1、生成平移矩阵:pOUt 是最终生成的平移矩阵指针,x 、y 、z 分别表示各方向上的移动量。
2、生成旋转矩阵:这三个函数分别生成绕x 、y 、z 轴旋转的旋转矩阵。
其中pOut 是生成的旋转矩阵指针,Angle 为旋转的角度。
3、生成缩放矩阵:pOut 为生成的缩放矩阵指针,sx 、sy 、sz 分别为在三个坐标轴上的缩放系数。
同设置不同的缩放系数可以实现一些特殊效果。
将要实现的简单太阳系就是通过这一系列的有序组合实现的。
我们分别为太阳、地球、月球进行设置。
设置太阳:10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 g_pDevice->SetTransform(D3DTS_WORLD, &matWorld);//观察变换D3DXVECTOR3 eyePos(0.0f, 10.0f, -20.0f);D3DXVECTOR3 lookatPos(0.0f, 0.0f, 1.0f);D3DXVECTOR3 updir(0.0f, 1.0f, 0.0f);D3DXMATRIX matView;D3DXMatrixLookAtLH(&matView, &eyePos, &lookatPos, &updir);g_pDevice->SetTransform(D3DTS_VIEW, &matView);//投影变换D3DXMATRIX matProj;D3DXMatrixPerspectiveFovLH(&matProj, D3DX_PI/4, 1.0f, 1.0f, 100.0f);g_pDevice->SetTransform(D3DTS_PROJECTION, &matProj);}在此方法中首先进行了世界变换,也就是我们的太阳自转操作,然后是观察、投影的变换。
行星系分插机构仿真分析平台设计——基于LabVIEW和MATLAB

提供 了大量的数学工具库 , 但是大规模 的数学计算如
果完全使用 L a b V I E W 编程方式实现 , 存在框图程序 复
杂条理性差的缺点。因此 , L a b V I E W 提供 了 M A T L A B S c r i p t 节 点 以及 A c t i v e X控件等调用外 部程序或用 其 他语言编写 的程序代码实现混合编程 。M A T L A B具有 强大 的工程数值计算能力 , 但界 面编程 能力较弱 。
L a b V I E W 是 基 于框 图式 的 图形 化 编 程语 言 , 不 仅 界 面设 计 采 用 图形 化 方 式 , 程 序 代 码 也 采 用 图形 化 的 操 作方 式 , 编程 方式直 观 , 容 易 学 习 。L a b V I E W 虽 然
使用 V c + + 和V B编程 , 人机交互界面和算法等均
2 0 1 3年 3月
农 机 化 研 究
第 3期
行 星 系 分 插 机 构 仿 真 分 析 平 台 设 计
一
基 于 L a b V I E W 和 MA T L A B
张 敏 , 周长 省 ,吴 崇友 ,张 文
( 1 . 南 京 理 工 大学 机 械 工 程学 院 ,南 京 摘 2 1 0 0 9 4;2 . 农 业 部 南 京 农 业机 械 化 研究 所 ,南 京 2 1 0 0 1 4)
一
数变化要重新建模 , 工作量大 、 效率低 。
L a b V I E W 图形 化 功 能 丰 富且 有 大 量 的库 和 数 学 工 具包 支 持 , MA T L A B具 有 强 大 的 工 程 计 算 能 力 和经 过检 验 的优 化 工具 包 , 本 文 采用 L a b V I E w与 M A T L A B 混合 编 程 技 术 , 通过 L a b V I E W 构 建 人 机 交互 界 面 ,
快速制作太阳系模型

快速制作太阳系模型太阳系是一个令人着迷的宇宙奇观,包括了太阳、八大行星以及其他天体。
在Blender软件中,我们可以通过一些简单的步骤来快速制作一个令人印象深刻的太阳系模型。
下面我将介绍一些技巧和步骤,带领大家一起进行制作。
步骤一:设置场景打开Blender软件后,我们首先需要设置一个合适的场景。
点击右上方的"New"按钮,创建一个新的场景。
然后,通过点击左侧工具面板的"Cycles Render"按钮,将渲染引擎切换到循环渲染(Cycles Render)模式。
步骤二:创建太阳点击左侧的"Add"按钮,选择"Mesh",然后选择"UV Sphere"来创建一个球体。
球体的大小可以根据个人喜好进行调整。
接下来,我们需要给太阳添加一些材质。
点击右侧的"Materials"选项卡,然后点击"New"按钮来创建一个新的材质。
调整颜色和亮度,使太阳看起来更真实。
步骤三:创建行星接下来,我们需要创建行星。
重复步骤二,创建一个更小的球体,并给它添加一个新的材质。
然后,将这个球体放置在适当的距离处,以模拟真实的行星轨道。
通过调整材质的颜色和纹理,我们可以根据需要来模拟各种不同类型的行星。
步骤四:添加轨道为了让我们的太阳系模型更加逼真,我们可以添加一些轨道来表示行星的轨迹。
点击左侧的"Add"按钮,选择"Curve",然后选择"Circle"来创建一个圆圈。
调整圆圈的大小和位置,使其与行星的轨道相匹配。
然后,在3D视图中选择行星和圆圈,并点击"Ctrl + P"组合键来将行星约束到圆圈上。
步骤五:调整动画为了让太阳系模型动起来,我们可以添加一些动画效果。
点击右侧的"Timeline"选项卡,在最下方的时间轴上选择一个合适的时间段。
神奇的太阳系·动态模拟图解

神奇的太阳系·动态模拟图解
太阳系和太阳家族:太阳自己能发光、发热,是一颗恒星。
太阳系由太阳、围绕太阳运转的行星、矮行星、小天体及围绕行星运转的卫星组成。
太阳系位于距银河系中的银核2.3万光年的悬臂上。
1光年约为9.5万亿千米。
八大行星:由太阳向外依次是:水星、金星、地球、火星、木星、土星、天王星、海王星。
其中:水星离太阳最近;金星又称启明星,是天空中最亮、离地球最近的行星;火星远离太阳,空气稀薄,表面温度较低;木星是太阳系中最大的行星,也是太阳系行星中第二大亮星,大红斑是它重要的标志;土星有许多卫星,还有非常美丽的光环;天王星和海王星距离太阳较远,温度很低,被称为“远日行星”。
上图的冥王星,因为不符合新的行星定义,被降级为“矮行星”。
MATLAB模拟双星系统中行星运动

MATLAB模拟多星系统中行星运动摘要自古人类就在仰望星空,思考宇宙的奥秘。
人类在宇宙中是否是孤单的,有没有外星生命,这是一个许多人都想知道的问题,人们对现实宇宙进行了许多的研究,想要诞生生命,有一颗可以为行星提供稳定且适合能量的恒星是必不可少的。
在旧版《星球大战》电影中,有一幕标志性的场景,卢克·天行者在塔图因沙漠欣赏令人震撼的双落日奇观。
那么这种双星甚至多星系统,行星的运动是怎样的呢?本文就此问题利用MATLAB进行了仿真模拟。
关键词:多星系统,MATLAB仿真,行星运动1 研究背景与意义太阳,对于我们地球上的万物来说,非常重要,将太阳称为“万物之源”也不为过。
我们地球之所以能够具备孕育生命的条件,一个很重要的因素就是地球处于太阳系的宜居地带,如果不是在太阳系的宜居地带,而是离太阳很近或者比较遥远,意味着地球表面的温度会比较高或者比较低,要么像水星、金星那样高温,要么像土星、木星那样寒冷。
天空中出现一个太阳,对于我们来说刚刚好的,如果多一个太阳,地球可能就会变得很高温,地球是否还能孕育生命都是一个大问题。
那么多星系统中,是否也可以存在宜居带呢?行星在多星系统中的运动又是如何呢?双星系统中的行星是一个三体问题,用现有的数学工具无法给出一般情况下的解析解。
本文模拟了一颗行星围绕一颗双星的轨道,该双星由一颗具有太阳质量的恒星和另一颗具有太阳质量一半的恒星组成。
恒星系统的周期是30个地球日。
本文的研究范围进一步缩小到恒星系统平面内的行星运动,有效地使其成为一个二维问题。
行星可能环绕整个恒星系统运行,可能是两颗恒星中的一颗,也可能是拉格朗日点。
本文采用数值积分方法模拟了行星的运动。
定义恒星系的时变引力场,然后制定描述行星运动的微分方程。
在模拟结束时,检查这颗行星是否仍然在围绕恒星系统的轨道上。
2 天体运动理论2.1 双星系统的运动方程首先,我们看一下恒星系统中恒星的运动方程。
这是一个两体问题,可以通过在原点放置一颗恒星而转化为一个等效的一体问题。
Blender中制作太阳系和行星运动的方法

Blender中制作太阳系和行星运动的方法在Blender中制作太阳系和行星运动是一个令人兴奋的项目。
通过使用动画和3D建模工具,我们可以模拟太阳系中行星的运动,并栩栩如生地展示出来。
以下是一步步的教程,教您如何使用Blender制作太阳系和行星运动。
第一步:创建太阳首先,我们需要创建一个代表太阳的球体。
在场景中点击"Shift + A",选择"Mesh",然后选择"UV Sphere"来创建一个球体。
您可以在属性窗口中调整球体的大小,以适应您的需要。
将球体放在场景的中心位置,作为太阳的位置。
第二步:创建行星接下来,我们需要创建各个行星。
使用相同的步骤创建行星的球体。
然而,在设置其大小时,要根据实际情况调整其大小。
例如,将地球的球体设置为比太阳小一些,并将其他行星的大小按比例设置。
第三步:设置行星的轨道为了模拟行星在太阳系中的运动,我们需要创建行星的轨道。
为此,我们可以使用曲线工具。
在场景中,点击"Shift + A",选择"Curve",然后选择"Circle"来创建一个圆形曲线。
将曲线调整到适当的大小和位置,以围绕太阳的行星位置。
第四步:设置行星的运动路径现在,我们需要将行星与轨道连接。
选择行星的球体,在属性窗口中选择"Constraints"选项卡,然后选择"Follow Path"约束。
在路径中选择我们之前创建的曲线,并调整其偏移量,以便行星沿着轨道移动。
第五步:设定行星运动的速度为了使行星运动看起来真实,我们可以调整其运动的速度。
选择行星的球体,打开属性窗口中的"Constraints"选项卡,并通过调整"Offset"值来改变行星的速度。
较小的值会使行星的运动速度变慢,较大的值会使行星的运动速度变快。
基于matlab的毕业论文题目参考

基于matlab的毕业论文题目参考MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
以下是基于matlab的毕业论文题目,供大家参考。
基于matlab的毕业论文题目一:1、基于遗传算法的小麦收割机路径智能优化控制研究2、零转弯半径割草机连续翻滚特性参数化预测模型3、基于MATLAB的PCD铰刀加工硅铝合金切削力研究4、基于状态反馈的四容水箱控制系统的MATLAB仿真研究5、基于Matlab软件的先天性外耳道狭窄CT影像特点分析6、Matlab仿真在船舶航向自动控制系统中的研究与仿真7、基于MATLAB的暂态稳定措施可行性仿真与分析8、基于MATLAB的某专用越野汽车动力性能分析9、基于MATLAB的电力系统有源滤波器设计10、基于MATLAB和ANSYS的弹簧助力封闭装置结构分析11、基于Matlab的液力变矩器与发动机匹配计算与分析12、运用MATLAB绘制接触网下锚安装曲线13、基于MatlabGUI的实验平台快速搭建技术14、基于MATLAB的激光-脉冲MIG复合焊过程稳定性评价15、测绘数据处理中MATLAB的优越性及应用16、基于MATLAB柴油机供油凸轮型线设计17、基于MATLAB语言的TRC加固受火后钢筋混凝土板的承载力分析方法18、MATLAB辅助OptiSystem实现光学反馈环路的模拟19、基于MATLABGUI的电梯关门阻止力分析系统设计20、基于LabVIEW与MATLAB混合编程的手势识别系统21、基于MATLAB的MZ04型机器人运动特性分析22、MATLAB在煤矿巷道支护参数的网络设计及仿真分析23、基于MATLAB的自由落体运动仿真24、基于MATLAB的电动汽车预充电路仿真25、基于Matlab的消弧模型仿真研究26、基于MATLAB/GUI的图像语义自动标注系统27、基于Matlab软件GUI的机械波模拟28、基于Matlab的S曲线加减速控制算法研究29、基于Matlab和Adams的超速机柔性轴系仿真30、基于Matlab与STM32的电机控制代码自动生成31、基于Matlab的相机内参和畸变参数优化方法32、基于ADAMS和MATLAB的翻转机构联合仿真研究33、基于MATLAB的数字图像增强软件平台设计34、基于Matlab的旋转曲面的Gif动画制作35、浅谈Matlab编程与微分几何简单算法的实现基于matlab的毕业论文题目二:36、基于Matlab的建筑沉降监测基准点稳定性分析37、基于MATLAB的深沟球轴承动态特性研究38、基于组态王与Matlab的三容水箱多变量虚拟控制系统39、有限元分析与MATLAB/Simulink在钢桁梁施工控制中的应用40、基于Matlab和LabVIEW的永磁同步电机控制系统设计41、基于MatlabGUI的色域平台设计与开发42、基于MATLAB的语音信号去噪方法应用43、基于Multisim与Matlab的二极管双T电桥仿真分析44、推土机动力系统参数匹配MATLAB软件的开发45、基于Matlab的二维PIC/MCC模型的实现46、基于MATLAB/Simulink的滑油系统建模仿真与优化47、基于MATLAB小型灌木割灌机构传动系统优化设计48、永磁机构在空气式断路器中可行性分析及其MATLAB仿真49、基于MATLAB的六自由度机械臂运动仿真分析50、基于Matlab的水与蒸汽热力学性质查询软件设计51、基于MATLAB的张紧弦振动分析52、基于Matlab的伺服电机Modbus通讯研究53、基于MATLAB的码垛机械手运动学分析与仿真54、基于MATLAB凸轮机构的可靠性设计55、Matlab模拟仿真技术在评价小区开放对道路的影响中的应用研究56、基于Matlab的故障录波数据分析57、基于MATLAB的CDMA系统RAKE接收机仿真分析58、基于Matlab和ADAMS的共轭凸轮下摆式递纸机构的设计59、基于MATLABWebServer的测量平差在线计算系统60、基于Matlab/Simulink与PSASP的潮流计算61、ANSYS与MATLAB软件在电磁换向球阀优化设计中的应用62、基于Matlab的非线性混沌电路仿真系统开发63、SCARA机器人运动学分析及MATLAB建模仿真64、MATLAB在二重积分计算中的应用65、基于MATLABPDE工具箱的土体冻结温度场模拟66、基于Matlab的小电流接地系统故障特征仿真分析67、恶劣天气下车牌识别系统及MATLABGUI实现68、基于MATLAB提取数字地图的电波传播问题研究69、基于U-I图的铝/钢双脉冲MIG熔-钎焊稳定性评价及其MATLAB实现70、磁力小车的MATLAB仿真研究基于matlab的毕业论文题目三:71、基于MATLAB的边坡稳定分析可视化软件开发72、基于Matlab的过程控制系统仿真实验设计73、基于Matlab12/8极开关磁阻电机控制系统仿真74、基于Matlab的大功率电源控制器设计仿真75、基于Matlab的单相电压型全桥逆变器的仿真研究76、基于MATLAB辅助测量透明介质折射率的新方法77、基于MATLAB三相方波逆变电路仿真分析78、基于MATLAB和CATIA的叶片曲面分析与数控仿真79、基于MATLAB/Simulink的油气悬架非线性阻尼特性分析80、基于Matlab的音频降噪滤波器设计81、基于MATLAB的液压马达行走驱动控制原理仿真与应用82、基于MATLAB的TDMA/CSMA混合协议仿真分析83、基于Matlab解析数字图像求解苹果叶面积的方法84、基于Matlab和IPP的黄土孔隙微观结构研究85、基于MATLAB与EXCEL联合编程开发掘进机截割头设计新方法86、基于MATLAB的地震作用下SDOF体系能量响应时程分析87、基于Matlab的槽式太阳能集热器二维传热模型效率分析88、基于MATLAB二次开发特大型冷却塔多目标风振系数研究89、三维ABUS图像多平面联合显示平台的MATLAB实现方法90、基于MATLAB环境的激光烟幕干扰分析与研究91、基于Matlab的双馈风力发电机组动态特性研究92、基于MATLAB的WCDMA上行链路的实现93、基于Matlab的异步电动机故障运行状态的仿真94、MATLAB环境下基于小波变换的图像融合方法95、基于Matlab编程的HDB3编码设计96、基于MATLAB和Adams的铰链四杆机构运动仿真分析97、电磁理论类课程可视化教学中的MATLAB动画技术研究98、基于MATLAB的摆线轮齿廓修形参数检测与反求99、基于Matlab的水泵机组故障信号采集系统的设计100、MATLAB的功能及其应用101、一种基于MATLAB的Word报告自动生成方法102、基于MATLAB的电力系统暂态稳定性仿真与分析103、基于matlab/simulink的玻璃升降器推力中心点优化设计104、基于全局搜索算法的太阳影子定位研究105、基于Matlab的太阳影子自动化定位技术分析基于matlab的毕业论文题目四:106、基于MATLAB小井眼阵列感应测井信号处理滤波器设计107、基于matlab和multisim的数字温度计的设计108、带有MPPT跟踪技术的太阳能光伏电池MATLAB仿真模型109、基于MATLAB的智能车牌识别系统设计110、基于MATLAB的多电平逆变电路仿真分析111、基于MATLAB的核信号仿真与成形研究112、自动控制原理教学之Matlab控制系统工具箱函数使用113、基于Matlab的油气弹簧特性试验数据处理研究114、基于MATLAB的破碎机的关键机构的运动学和动力学分析115、基于MATLAB的BP网络变压器故障诊断仿真116、基于MATLABRoboticsToolbox的ABBIRB1660机器人运动仿真研究117、基于MATLAB/SimulinkFIR数字滤波器设计的不同实现方法研究118、基于Matlab的多模态医学图像融合仿真119、基于Matlab-GUI的数值积分界面设计120、基于MATLAB的自动绘制矿井通风网络图方法121、基于MATLAB的超磁致伸缩致动器动态模型研究122、EPS缓冲曲线的Matlab/GUI界面设计123、基于Matlab与ADAMS的机械臂运动学建模与仿真124、基于Matlab的6R工业机器人运动学仿真与研究125、ASP和MATLAB混合编程实现线性规划模型求解126、七自由度机械臂的ADAMS/MATLAB联合仿真研究127、基于MatLab的顶苗机构设计与参数优化128、基于Matlab仿真分析的武昌城区交通网络优化研究129、基于NETLOGO与MATLAB的电网多智能体建模及仿真研究130、基于MATLAB与ADAMS的Delta机器人运动学和动力学仿真分析131、基于Matlab-Simulink的虚拟同步发电机控制方法的仿真研究132、基于Matlab的典型二阶RLC振荡电路实验教学仿真133、基于MATLAB的有限元模型评估程序设计134、基于MATLAB/RoboticsToolbox的六自由度机械臂仿真135、基于MATLAB的夜间车牌识别算法136、基于MATLAB的多光学现象仿真可视化设计137、基于Matlab的不同数字滤波器对语音信号的去噪效果138、基于MATLAB的可视化图像质量评价系统研究139、基于MATLAB的载流圆环磁场分布的动态仿真140、基于MATLAB和COMSOL的静电纺丝轨迹仿真研究及应用基于matlab的毕业论文题目五:141、基于Matlab的羔羊寻母声音信号的识别分析142、基于Matlab/Simulink的开关磁阻电机控制仿真及软件开发143、光伏并网发电系统谐波检测与抑制研究144、脉冲多普勒雷达信号处理MATLAB仿真研究145、基于MATLAB地基沉降预测模型的构建146、采用Matlab的六自由度机器人三维运动学仿真147、基于Matlab/Simulink的小型风力发电机电能质量指标仿真计算与分析148、基于MATLAB的佳县暴雨强度公式推求研究149、基于MATLAB的60kg/m钢轨打磨模式优化设计150、基于MATLAB的变速恒频双馈风力发电机组控制技术研究与实现151、基于ANSYS和MATLAB的重力坝结构优化设计152、基于Matlab/Simulink的往复式压缩机工作过程模拟及实验研究153、基于MATLABGUI的脑电网络分析系统154、基于MATLAB的大豆、玉米水分快速测定系统的研究155、桥梁断面颤振导数识别方法研究及MATLAB实现156、基于MATLAB的车牌识别关键技术研究157、基于Matlab的超声空化场测量与可视化分析158、基于窗函数与MATLAB的数字FIR滤波器设计159、基于MATLAB/Simulink和ADAMS的拖拉机建模与振动仿真分析160、基于MATLABGUI的车牌自动识别系统设计161、Matlab的图形处理器并行计算及其在拓扑优化中的应用162、基于MATLAB自动代码生成的有源电力滤波器研究163、基于MATLAB的大功率光伏并网逆变器的设计164、基于MATLAB、UG的泛函通用型线涡旋盘有限元建模及分析165、基于MATLAB\Simulink的纯电动汽车整车控制系统开发方法研究166、基于Matlab的电力系统故障仿真与检测方法研究167、基于MATLAB和HFSS的叠层微带天线优化设计168、基于MATLAB软件的直流斩波电路的研究169、基于MATLAB的PID控制器设计及应用170、基于MATLAB仿真的非规则齿轮行星系扎穴机构的优化设计171、基于Matlab的谐波齿轮及其刀具的设计与仿真172、基于Matlab与VB的刮板输送机链传动系统分析173、基于Matlab/Simulink的无刷直流电机控制系统建模与仿真174、隧道运营期结构健康评价及MATLAB应用研究175、基于MATLAB的3-RRRT并联机器人动力学研究176、基于MATLAB的永磁无刷电机磁网络分析177、基于Adams与MATLAB联合仿真电动车平顺性研究。
太阳系行星运行模拟C++程序语言

太阳系行星运行摹拟组员:2022年9月2日概述太阳系 (Solar System)就是我们现在所在的恒星系统。
它是以太阳为中心,和所有受到太阳引力约束的天体的集合体:8颗行星冥王星已被开除、至少165颗已知的卫星,和数以亿计的太阳系小天体。
这些小天体包括小行星、柯伊伯带的天体、彗星和星际尘埃。
广义上,太阳系的领域包括太阳、4颗像地球的内行星、由许多小岩石组成的小行星带、4颗充满气体的巨大外行星、充满冰冻小岩石、被称为柯伊伯带的第二个小天体区。
在柯伊伯带之外还有黄道离散盘面、太阳圈和依然属于假设的奥尔特云。
摹拟太阳系不仅仅是完成作业,也能让我们更近一步的了解太阳系,拓广知识面,对行星的运行有基本的感性和理性感知。
增加我们对宇宙探索的渴望,可能培养出又一批天文学家。
OpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图象(二维的亦可)。
OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。
OpenGL是一个开放的三维图形软件包,它独立于窗口系统和操作系统,以它为基础开发的应用程序可以十分方便地在各种平台间移植;OpenGL可以与Visual C++密切接口,便于实现机械手的有关计算和图形算法,可保证算法的正确性和可靠性;OpenGL使用简便,效率高。
它具有七大功能: 1.建模:OpenGL图形库除了提供基本的点、线、多边形的绘制函数外,还提供了复杂的三维物体(球、锥、多面体、茶壶等)以及复杂曲线和曲面绘制函数。
2.变换:OpenGL图形库的变换包括基本变换和投影变换。
基本变换有平移、旋转、变比镜像四种变换,投影变换有平行投影(又称正射投影)和透视投影两种变换。
其变换方法有利于减少算法的运行时间,提高三维图形的显示速度。
3.颜色模式设置:OpenGL颜色模式有两种,即RGBA模式和颜色索引(Color Index)。
matlab中crtbp函数的用法

matlab中crtbp函数的用法全文共四篇示例,供读者参考第一篇示例:Matlab中的crtbp函数是一个非常常用的函数,用来模拟三体问题中的地月问题。
在地月问题中,太阳是一个质点,地球和月球则分别是两个质点,它们之间通过引力相互作用。
这种模拟可以帮助我们更好地理解三体问题的复杂性,研究宇宙中各种天体之间的运动规律。
在使用crtbp函数之前,我们首先需要了解它的基本用法和参数。
crtbp函数的格式为:\[crtbp(mu0, mu1, mu2)\],其中mu0代表地球-月球系统的质量参数,mu1和mu2则分别表示地球和月球与太阳系统的质量参数。
在地月问题中,mu0通常取值为0.0123,mu1为0.81,mu2为0.0123,这是一个标准的设定。
crtbp函数的返回值是一个6维向量\[y(1), y(2), y(3), y(4), y(5),y(6)\],其中y(1)和y(2)表示小行星的x和y坐标,y(3)和y(4)表示小行星的x和y方向的速度,y(5)和y(6)则表示小行星相对于质心的z坐标和速度。
crtbp函数的用法非常简单,只需要输入地球-月球系统和地球-月球-太阳系统的质量参数,就可以得到小行星在这个系统中的运动轨迹。
我们可以利用这个函数来研究小行星在地月系统中的运动规律,以及判断可能的稳定轨道和不稳定轨道。
除了直接调用crtbp函数进行数值模拟外,我们还可以结合其他函数和工具箱,进一步分析三体问题的性质和演化过程。
在Matlab中,有许多内置函数和工具箱可以用来处理复杂的动力学系统,例如ode45函数用于求解常微分方程组,对动力学系统的演化进行模拟。
通过在Matlab中使用crtbp函数和其他相关工具,我们可以更好地了解三体问题的行为,预测小行星在地月系统中的轨道变化,甚至研究可能的碰撞事件和轨道交叉。
这对于理解宇宙中各种天体之间的相互作用,以及预测一些潜在的天体运动的影响具有重要的意义。
有趣的MATLAB动画演示程序汇总

有趣的MATLAB动画演示程序汇总1.弹球动画:这个动画演示程序使用MATLAB的图形绘制函数和动态更新机制,模拟了一个弹球在一个封闭空间内运动的过程。
程序中,可以调整弹球的初始位置和速度等参数,并可观察到弹球在墙壁上反弹的效果。
这个演示程序能够帮助您理解物体运动的基本原理,以及力学中的碰撞和反弹等概念。
2.二维粒子系统动画:这个动画演示程序模拟了一个二维粒子系统,在一个有限的空间内随机运动。
程序中,可以设置粒子的初始位置、速度和质量等参数,并观察到粒子之间的相互作用和碰撞效果。
这个演示程序可以帮助您理解粒子系统的行为和特性,以及分子动力学等领域的基本原理。
3.波动方程动画:这个动画演示程序模拟了一个一维波动方程,通过离散化和时间步进的方法,计算并绘制了波动在弦上的传播过程。
程序中,可以设置波动的初始条件和边界条件,并观察到波动在弦上的传播和反射效果。
这个演示程序可以帮助您理解波动方程的解析和数值解法,并探索波动现象的性质和特点。
4.生物传感器动画:这个动画演示程序模拟了一个生物传感器的工作过程,通过MATLAB的图形绘制和动态更新机制,实时显示传感器的信号和响应。
程序中,可以设置传感器的初始参数和外部刺激,观察到传感器的信号变化和输出响应。
这个演示程序可以帮助您理解生物传感器的原理和工作机制,以及MATLAB在生物工程和生物医学领域的应用。
5.火焰模拟动画:这个动画演示程序模拟了一个火焰的形成和变化过程,通过MATLAB 的图形绘制函数和颜色映射机制,实时显示火焰的形状和颜色。
程序中,可以设置火焰的初始温度和燃烧速率等参数,并观察火焰的扩散和燃烧效果。
这个演示程序可以帮助您理解火焰的形成和传播机制,以及热传导和化学反应等物理过程。
以上是一些有趣的MATLAB动画演示程序汇总。
这些演示程序通过MATLAB的强大功能和易于使用的编程接口,帮助您探索和理解各种科学和工程问题。
您可以通过自己编写代码或者利用MATLAB提供的函数和工具,进一步扩展和修改这些演示程序,以满足您的需求和兴趣。
MATLAB中的动画设计

• 产生一个顺着曲线轨迹运动的质点来操作 • 使用comet、comet3函数 • 最简单的动画产生方式
MATLAB中的动画设计——质点动画
设计步骤
• step1:求解出质点完整的运动轨迹坐标x,y和z • step2:使用comet或者comet3直接绘制动点
MATLAB中的动画设计——质点动画
当创建了一系列动画帧后,可利用movie函数播放这些动画帧。该函数的主要格式有: (1)movie(M),将矩阵M中的动画帧播放一次 (2)movie(M,n),将矩阵M中的动画帧播放n次 (3)movie(M,n,fps),将矩阵M中的动画帧以每秒fps帧的速度播放n次
MATLAB中的动画设计——电影动画
设计步骤
• step1:调用getframe函数生成每个帧。该函数返回一个列矢量, 利用这个矢量,就可以创建一个电影动画矩阵。 • step2:调用movie函数按照指定的速度和次数运行该电影动画。 • step3:调用movie2avi函数可以将矩阵中的一系列动画帧转换 成avi视频文件。这样,即使脱离了matlab环境也可播放动画。
MATLAB中的动画设计——电影动画
2、电影动画
• 从不同的视角拍下一系列对象的图形,并保存到变量中,然 后按照一定的顺序像电影一样播放。 • 使用getframe、movie函数。
getframe函数可以捕捉动画帧,并保存到矩阵中。该函数的主要格式有: (1)F=gefframe,从当前图形框中得到动画帧 (2)F=gefframe(h),从图形句柄h中得到动画帧 (3)F=getframe(h,rect),从图形句柄h的指定区域rec中得到动画帧
程序结构
MATLAB中的动画设计——电影动画
基于ADAMS的行星齿轮系的运动仿真

基于ADAMS的行星齿轮系的运动仿真孙宏,杨为(重庆大学机械传动国家重点实验室,重庆 400044)摘要:以某行星齿轮实例为载体,通过Pro/ E 建立精确行星轮系的三维模型,并使用ADAMS 对该轮系齿轮啮合情况进行动力学仿真分析;仿真结果表明,发现仿真结果与理论结果的误差不到2%,由此得出基于Pro/ E 和ADAMS 所建立的模型进行齿轮啮合分析是正确的,并提出了Pro/ E模型导入ADAMS 的更便利的新方法。
关键词:Pro/ E,ADAMS,行星轮系,齿轮啮合Abstract:Based on a specific planetary gear system, establish a precision 3D model by Pro/E software, and process kinematic simulation analysis for planetary gear mesh by Adams .The simulation results demonstrate that error between simulation results and theoretical result is less than 2%,then we can draw a conclusion that the planetary gear system based on Pro/E and ADMS is correct, thereby it provides a new approach to meshing force analysis for planetary gear system. Meanwhile it provides basic data for the finite-element analysis, and makes further optimization design evidence-based.Keyword:Pro/E Adams Planetary gear Meshing force1.引言行星齿轮传动系统以其结构紧凑、传动比范围大、传动效率高等的优点, 在各种机器和机械装备中被广泛使用, 其力学行为和工作性能对整个机器性能有重要影响。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Matlab动画模拟太阳系行星运动figure('name','星系演示');%设置标题名字pausetime=.02;%设置暂停时间set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]);set(gcf,'doublebuffer','on') %消除抖动xlabel('x轴'),ylabel('y轴'),zlabel('z轴');axis equal;grid on;view([3 5 2]);hold ona=[8.5 12.5 20 30 50 60 80 100 90];b=[8 12 18 26 45 55 70 90 30];omga=[4 1.25 1 0.5 0.1 0.05 0.25 0.125 1];r=[0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.35];%长轴,短轴,角速度,球体半径c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8;aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g];%每个轨道平面倾斜角度,偏移设置%colo={'y','m','b','m','r','c','b','b'};[X,Y,Z]=sphere(40);surf(5*X,5*Y,5*Z);colormap(autumn) %设置太阳light ('position',[1 0 2],'style','infinite')lighting phongmaterial shinyt=0:0.01*pi:50*pi;t';num=length(a);for n=1:numx(:,n)=a(n)*cos(omga(n)*t)+c(n);y(:,n)=b(n)*sin(omga(n)*t);z(:,n)=0*t; %计算未经轨道平面角度倾斜的轨道位置xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1]; %每个轨道平面倾斜计算xyz(:,:)=[x(:,n) y(:,n) z(:,n)]*xuanz(:,:);x(:,n)=xyz(:,1);y(:,n)=xyz(:,2);z(:,n)=xyz(:,3); %计算轨道平面倾斜后的轨道位置p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));shading interp %画出每个行星plot3(x(:,n),y(:,n),z(:,n),'-k');%画出所有轨迹线endset(p(1),'facecolor','y');set(p(2),'facecolor','m');set(p(3),'facecolor','b');set(p(4),'facecolor','m'); set(p(5),'facecolor','r');set(p(6),'facecolor','c');set(p(7),'facecolor','b');s et(p(8),'facecolor','b');set(p(9),'facecolor','r');%设置所有行星的颜色for m=1:5000 %旋转计算for n=1:length(a)set(p(n),'xdata',r(n)*X+x(m,n),'ydata',r(n)*Y+y(m,n),'zdata',r(n)*Z+z(m,n)); %所有行星的即时位置设置endpause(pausetime); %暂停一会drawnowend下面是更加复杂的动画模拟figure('name','星系演示');%设置标题名字pausetime=.01;%设置暂停时间set(gca,'xlim',[-50 50],'ylim',[-50 30],'zlim',[-50 50]); set(gcf,'doublebuffer','on') %消除抖动xlabel('x轴'),ylabel('y轴'),zlabel('z轴');axis equal;grid on;view([3 5 2]);hold ona=[8.5 12.5 20 30 50 60 80 100 90 4 4.5 4.9 5 1.5];%长轴b=[8 12 18 26 45 55 70 90 30 4 4.5 4.9 5 1.5];%短轴前八个为对应行星,第九个为彗星,后面为卫星omga=[4 1.25 1 0.5 0.1 0.05 0.25 0.125 0.4 4 3.9 3.5 3 6];%角速度r=[0.35 0.8 0.8 0.5 3 2.5 1.5 1.5 0.5 0.35 0.36 0.5 0.4 0.35];%球体半径c=sqrt(a.^2-b.^2);h=pi/18;h1=pi/10;f=pi/9;g=pi/8;g1=pi/6;aby=[h h 0;h1 h 0;h h 0;h h 0;h h 0;h h 0;h g 0;h h h;g 0 g;0 0 0;g1 h 0;0 f 0;0 0 0;0 g1 0];%每个轨道平面偏移设置runu=35:0.5:40;theta=(0:0.05*pi:2*pi)';runa=2.8:0.4:5.6;xx=cos(theta)*runu+20;yy=0.9*sin(theta)*runu;zz=-0.17*xx-0.17*yy;plot3(xx,yy,zz,':k'); %小行带设置hx=cos(theta)*runa;hy=sin(theta)*runa;hz=-0.1*hx-0.2*hy;%colo={'y','m','b','m','r','c','b','b'};[X,Y,Z]=sphere(40);surf(5*X,5*Y,5*Z);colormap(autumn) %设置light ('position',[1 0 2],'style','infinite')lighting phongmaterial shinyt=0:0.01*pi:50*pi;t';num=length(a);for n=1:numx(:,n)=a(n)*cos(omga(n)*t)+c(n);y(:,n)=b(n)*sin(omga(n)*t);z(:,n)=0*t;xuanz(:,:)=[1 0 0;0 cos(aby(n,1)) -sin(aby(n,1));0 sin(aby(n,1)) cos(aby(n,1))]*[cos(aby(n,2)) 0 sin(aby(n,2));0 1 0;-sin(aby(n,2)) 0 cos(aby(n,2))]*[cos(aby(n,3)) -sin(aby(n,3)) 0;sin(aby(n,3)) cos(aby(n,3)) 0;0 0 1];xyz(:,:)=[x(:,n) y(:,n) z(:,n)]*xuanz(:,:);x(:,n)=xyz(:,1);y(:,n)=xyz(:,2);z(:,n)=xyz(:,3);if n<=9p(n)=surf(r(n)*X+x(1,n),r(n)*Y+y(1,n),r(n)*Z+z(1,n));shading interpplot3(x(:,n),y(:,n),z(:,n),'-k');%画出所有轨迹线else if n<=13p(n)=surf(r(n)*X+x(1,n)+x(1,5),r(n)*Y+y(1,n)+y(1,5),r(n)*Z+z(1,n)+z(1,5));shadi ng interppmuw(n-9)=plot3(x(:,n)+x(1,5),y(:,n)+y(1,5),z(:,n)+z(1,5),'-k');%木卫1,2,3,4轨道初位置elsep(n)=surf(r(n)*X+x(1,n)+x(1,3),r(n)*Y+y(1,n)+y(1,3),r(n)*Z+z(1,n)+z(1,3));shadi ng interppmuw(n-9)=plot3(x(:,n)+x(1,3),y(:,n)+y(1,3),z(:,n)+z(1,3),'-k');%月球轨道设置endendendfor n=1:length(runa)ph(n)=plot3(hx(:,n)+x(1,6),hy(:,n)+y(1,6),hz(:,n)+z(1,6),'-c');endset(p(1),'facecolor','y');set(p(2),'facecolor','m');set(p(3),'facecolor','b');set(p(4),'facecolor','m'); set(p(5),'facecolor','r');set(p(6),'facecolor','c');set(p(7),'facecolor','b');s et(p(8),'facecolor','b');set(p(9),'facecolor','r');for n=10:13set(p(n),'facecolor','b');endset(p(14),'facecolor','k');for m=1:5000for n=1:numif n<=9set(p(n),'xdata',r(n)*X+x(m,n),'ydata',r(n)*Y+y(m,n),'zdata',r(n)*Z+z(m,n));%所有的即时位置else if n<=13set(p(n),'xdata',r(n)*X+x(m,n)+x(m,5),'ydata',r(n)*Y+y(m,n)+y(m,5),'zdata',r(n) *Z+z(m,n)+z(m,5));set(pmuw(n-9),'xdata',x(:,n)+x(m,5),'ydata',y(:,n)+y(m,5),'zdata',z(:,n)+z(m,5) );elseset(p(n),'xdata',r(n)*X+x(m,n)+x(m,3),'ydata',r(n)*Y+y(m,n)+y(m,3),'zdata',r(n) *Z+z(m,n)+z(m,3));set(pmuw(n-9),'xdata',x(:,n)+x(m,3),'ydata',y(:,n)+y(m,3),'zdata',z(:,n)+z(m,3) );endendendfor n=1:length(runa)set(ph(n),'xdata',hx(:,n)+x(m,6),'ydata',hy(:,n)+y(m,6),'zdata',hz(:,n)+z(m,6)) ;%光环即时位置endpause(pausetime); %暂停一会drawnowend. ... ..。