目录

1、概述

2、代码方法一

3、代码方法二

4、运行结果


1、概述

微积分在科学和工程中有着广泛的应用,例如,人造地球卫星的轨道可视为平面的椭圆,我国第一颗人造地球卫星近地球距离表面439km,远地点距离地球表面2384km,地球半径为6371km,求该卫星的轨道长度。

本文题可用椭圆参数方程来描述人造地球卫星轨道,取a=8755km,b=6810km分别为椭圆的长短半轴,该轨道的长度就是参数方程的弧长积分。

2、代码方法一

import numpy as np
def fun(x):a,b=8755,6810return (a**2*np.sin(x)**2+b**2*np.cos(x)**2)**(1/2)return x
#Compound trapezoid
def tx(a,b,n):h=(b-a)/nx=as=fun(x)+fun(b)for i in range(1,n):x=x+hs=s+2*fun(x)result=(h/2)*sreturn result
#Composite Simpson
def xps(a,b,n):h=(b-a)/nx=as=fun(x)+fun(b)for i in range(1,n):x=x+h/2s=s+4*fun(x)x=x+h/2s=s+2*fun(x)result=(h/6)*sreturn result
a,b=0,np.pi/2
n=20000
t=tx(a,b,n)
p=xps(a,b,n)
print(t,p)

3、代码方法二

import numpy as np
#def funcval(x):#  return np.exp**(1/X)
def funcvals(x1):a,b=8755,6810return (a**2*np.sin(x)**2+b**2*np.cos(x)**2)**(1/2)
#梯形公式
def trapezoid(a,b,n,f):sum=0sum=(f(a)+f(b))*(b-a)/2return sum
#中矩形公式
def retangle(a,b,n,f):sum=0sum=f((a+b)/2)*(b-a)return sum
#simpson
def simpson(a,b,n,f):sum=0sum=4*f((a+b)/2)+f(a)+f(b)return sum*(b-a)/6
#ftrapezoid
def trapezoid(a,b,n,f):h=(b-a)/(n-1)x=np.zeros(n,1)for i in range(n):x[i]=a+i*hsum=0sum=f(x[0])+f(x[-1])sum=sum+2*np.sum(f(x[1:-1]))sum=sum*h/2return sum
#fsimpson
def fsimpson(a,b,n,funcval1):h=(b-a)/(n-1)x=np.zeros(n,1)for i in range(n):x[i]=a+i*hh=h*2sum=f(x[0])+f(x[-1])if x.shape[0]>2:#griadfg=f(x[2:-1:2])fh=f(x[1:-1:2])#half gridsum=sum+2*np.sum(fg)+4*np.sum(fh)sum=sum*h/6return sumdef main():a,b=1,2n=20tr=trapezoid(a,b,n,funcval)sip=simpson(a,b,n,funcval)ft=ftrapezoid(a,b,nfuncval)fs=fsimpson(a,b,n,funcval)a,b=0,np.pi/2fs=fsimpon(a,b,n,funcval1)print(fs*4)
if __name__=='__main__':main

4、运行结果

12272.491317172338 12272.032906443934Process finished with exit code 0

数值积分求解卫星轨道长(Python)相关推荐

  1. 卫星轨道的估计问题(Matlab)(三):标准重采样粒子滤波(SIR)对新问题的尝试

    SIR滤波器 关于粒子滤波的基本知识可以参加下面的博客: 粒子滤波,讲的很通俗易懂 基本粒子滤波算法过程: SIR算法伪代码: Matlab代码实现 求解如下所示的滤波问题: %PF的应用 clc,c ...

  2. 卫星轨道的估计问题(Matlab)(二):扩展卡尔曼滤波(EKF)对新问题的尝试

    前言 在前面的问题中我们已经考虑到了用微分方程来描述卫星运动轨迹的方法: r¨=rθ˙2−GMr−2θ¨=−2r−1r˙θ˙\ddot r = r\dot \theta^2-GMr^{-2}\\\dd ...

  3. matlab 画卫星轨道,Matlab仿真实例-卫星轨迹

    卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: d2rkd 2 r() 22 dtrdt 2 d 2drd rdtdt dt2 其中是k重力系数(k=401408km3/s).卫星轨道采用极坐 ...

  4. 卫星定位基础理论之GPS卫星轨道理论与计算

    以下内容主要参考谢钢博士的<GPS原理与接收机设计>一书 1.常用地理术语: 1.子午面:包含地球自转轴的任何一个平面,子午面与地球表面相交的大圆称为子午圈 2.时圈:以南极和北极为端点的 ...

  5. 大型SAR卫星星座设计——Python STK联合仿真

    这次来通过STK实际设计一个SAR卫星星座并计算我们所关注的星座参数. 1.STK与python 的交互--STK Python API 本文将通过STK 自己的 API 来进行与python的交互. ...

  6. matlab给定坐标画卫星轨道,Matlab仿真实例-卫星轨迹

    卫星轨迹 一.问题提出 设卫星在空中运行的运动方程为: 其中是k 重力系数(k=401408km3/s).卫星轨道采用极坐标表示,通过仿真,研究发射速度对卫星轨道的影响.实验将作出卫星在地球表面(r= ...

  7. 卫星轨道推演计算相关知识点总结(含欧拉角、旋转矩阵、及各坐标系转化等)

    来源:轨道机动算法的C++实现_shirro123的专栏-CSDN博客 卫星轨道推演计算相关基础知识点总结 一.卫星的运动特性             二.卫星的空间坐标系               ...

  8. 贪心算法求解TSP问题(python)

    这里使用贪心算法求解TSP问题的python版本 # dist 为距离矩阵,start_index 为起始位置 def tsp_quick(dist: list, start_index: int): ...

  9. 卫星轨道资料洋面风的绘图

    1.一般格点数据的绘图 import cartopy.crs as ccrs import cartopy.feature as cfeature import cartopy.mpl.ticker ...

  10. MATLAB STK构建卫星轨道姿态控制仿真演示系统

    MATLAB & STK构建卫星轨道姿态控制仿真演示系统 杜耀珂 郑科宇 摘要:通过在MATLAB中建立卫星的轨道运动和姿态动力学仿真模型就可以分析在不同的控制作用下,卫星的轨道和姿态的变化情 ...

最新文章

  1. 日本推出透明公厕,智能玻璃控制透明度,有人如厕就“屏蔽”外界
  2. vue.js 初体验— Chrome 插件开发实录
  3. 别人家的爸爸!为了解释区块链,阿里工程师给儿子画了一本童话书
  4. python读取xml标注坐标_遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件...
  5. 在html中超链接_HTML 超级链接详细讲解
  6. python快速入门期末版_史上最全Python快速入门教程,满满都是干货
  7. xmpp协议框架包介绍:org.xmpp.packet.Packet+JID+PacketInterceptor+Session
  8. bzoj2152 聪聪可可
  9. UC浏览器电脑版怎么开启免费WiFi
  10. 流媒体服务器性能测试
  11. 怀念08,憧憬09;08盘点,09启航。
  12. f4小组专用3306mysql抓鸡工具_【技术】3306端口手动入侵之mysql写入启动项提权
  13. explicit 为什么禁止隐式类型转换
  14. 两个mysql 数据库表结构_MYSQL对比两个数据库表结构
  15. 【WLAN】【软件】MTK芯片方案用户态和内核态通讯方式小结
  16. 淘宝系一天交易额超52亿 电商光棍节疯狂吸金
  17. linux运行ktr文件,Linux下用命令來執行kettle文件資源庫的文件ktr與kjb的方法
  18. web网页设计期末课程大作业——基于HTML仿唯品会电商项目的设计与实现
  19. 【YOLOv5实战2】基于YOLOv5的交通标志识别系统-自定义数据集
  20. Kotlin-Android世界的一股清流-Lambda表达式

热门文章

  1. DOTA中所有被动技能
  2. lzg_ad: FBWF配置详解
  3. 线性光耦 和 非线性光耦
  4. 18.Excel vba开发-计算个人所得税
  5. Why NOT Use My Index
  6. 怎样从微博下载视频?
  7. 美丽世界的另一面!(请保护好你身边的亲朋好友)
  8. 深度神经网络如何训练,深度神经网络怎么用
  9. python 读写pcd
  10. linux进入桌面后CPU狂转,笔记本风扇狂转+CPU调节问题