C语言编程解线性,非线性方程,龙贝格算法

课程设计课程名称:数值计算B 设计题目:数值计算B课程设计学号:姓名:完成时间: 2015年10月27日题目一:非线性方程求根一、题目假设人口随时间和当时人口数目成比例连续增长,在此假设下人口在短期内的增长建立数学模型。(1)如果令表示在时刻的人口数目,表示固定的人口出生率,则人口数目满足微分方程,此方程的解为;(2)如果允许移民移入且速率为恒定的,则微分方程变成,此方程的解为;假设某地区初始有1000000人,在第一年有435000人移入,又假设在第一年年底该地区人口数量1564000人,试通过下面的方程确定人口出生率,精确到;且通过这个数值来预测第二年年末的人口数,假设移民速度保持不变。二、数学原理本题考查非线性方程的解法。数值计算中常用的有二分法、不动点迭代法、牛顿法以及其变形,本文采用牛顿法进行迭代计算。牛顿法的基本思想是将非线性方程逐步转化为某种线性方程来求解。其计算过程大致为:将非线性方程转化为的形式;将函数在方程的近似根(假定)处泰勒展开,则原方程可近似为记上述方程的根为,得到其计算公式为(4)按照给定的精度要求判断是否收敛,得到最终结果。本题中,将非线性方程转化为的形式如下:即则由于牛顿法对初值的要求较高,因此先采用二分法初步给定初值。如下表所示:0.11的符号-+故取初值。三、程序设计使用C语言进行迭代程序的设计。定义数组x[1000]存放人口增长率的迭代数据;定义变量a表示迭代次数,定义变量b为迭代误差,变量c为计算精度;输入变量:x[0]=0.5为初值,c=0.0001为计算精度;输出变量:x[a](即最终结果),a,迭代总次数,b迭代最终误差。程序设计见附录。(二分法与牛顿法混合使用,计算收敛较易,因而只给定最大迭代次数,未进行迭代是否发散的判定)四、结果分析和讨论程序运行结果如下图所示,计算精度为10-4的最终结果为。将其代入方程得到第二年人口的计算式为即人口出生率为10.10%,第二年该地区人口数量约为2187900人。讨论:使用牛顿法与二分法相配合在较少的迭代次数下即取得了较为准确的结果,可见数值计算方法在计算类似问题上有着很大的优势。图1 题目一程序运行结果五、完成题目的体会与收获在求解该题目的过程中,使用了非线性方程的牛顿迭代法求解,运用C语言设计了迭代计算程序,对非线性方程求解的数学思想有了深入认识和切实体会,有助于将数值计算课程中学到的理论知识运用到实际物理问题的研究中。题目二:线性方程组求解一、题目假设一个物体可以位于个等距点的任意位置,当物体在位置时,它只能等可能的移动到或者,而不能直接移动到其他任何位置,概率表示物体从位置开始在到达右端点之前到达左端点的概率,显然,且有,即有下面方程组:取对方程组进行求解(迭代法或者直接法)。二、数学原理观察上述线性方程组的系数矩阵,显然该矩阵是弱对角占优的三对角阵,可利用三对角方程组的追赶法求解。给出三对角阵(针对本题系数矩阵,给出九阶方阵克劳特分解)的克劳特分解如下:其中为待定系数,追赶法公式及计算过程如下:计算待定系数的递推公式:得求解,(3)求解:由此设计计算程序,并输入系数即可完成线性方程组的求解。三、程序设计使用C语言进行计算程序的设计。定义数组a[8],b[9],c[8]存放三对角系数矩阵的三类值;定义数组d[9]存放方程组右侧向量;定义m[8]存放待定系数β的值;定义数组x[9],y[9]存放方程组的解。输入变量:a[8],b[9],c[8],d[9];输出变量:x[9]。程序设计见附录。四、结果分析和讨论程序运行结果如下图所示:图2 题目二运算结果即原方程组的解为考虑,并将方程组的解中的无效数位去掉,则原物理问题的解向量(11阶)为讨论:使用追赶法直接求解三对角占优的系数矩阵所在的线性方程组计算结果与迭代方法相比在原理上更为可靠,且充分利用了系数矩阵的特点,大大减小了计算量和存储空间,在解决类似问题的过程中优势明显。五、完成题目的体会与收获通过本题目的计算,深入体会了追赶法求解三对角系数矩阵线性方程组的“追赶”过程,在实践中加强了对理论知识的理解。题目三:数值积分一、题目卫星轨道是一个椭圆,椭圆周长的计算公式是, 这里是椭圆的半长轴, 是地球中心与轨道中心(椭圆中心)的距离, 记为近地点距离, 为远地点距离, 公里为地球半径,则, 某人造卫星近地点距离公里,远地点距离公里, 试用Romberg方法求卫星轨道的周长,精确到。二、数学原理龙贝格方法在思想上不同于插值型求积公式,其目的是对近似值进行修正而得到更精确的计算公式,实质上是对复化梯形公式的多次修正。以下简要介绍龙贝格算法的计算过程。待求解定积分为,以表示二分k次后求得的梯形值,以表示序列的m次加速值,理查森外推法的递

复化梯形公式求椭圆周长C语言,C语言编程解线性,非线性方程,龙贝格算法.docx相关推荐

  1. c语言龙贝格积分法实验报告,数值作业:龙贝格算法计算积分C语言实现

    数值作业:龙贝格算法计算积分C语言实现 数值作业:龙贝格算法计算积分C语言实现 根据Romberg算法计算定积分,和变步长的Simpson算法的输入都一样.算法基本分析:输入a,b(积分上下限),n为 ...

  2. 【数值分析实验MATLAB】数值积分:梯形公式、辛普森公式、复化梯形公式、复化辛普森公式、龙贝格算法、自适应求积方法

    (1)Matlab代码: f1: if x==0y=1; else%y=exp(-x^2);y=(sin(x))/x; end 梯形公式: a=0; b=1; tx=(b-a)/2*(f1(a)+f1 ...

  3. 龙贝格算法求解椭球周长

    数值积分: 在实际应用中经常应用到计算方法去求解一些不易测量的零件的周长或面积.已知一个椭圆形边框如下图所示,试用龙贝格算法求解这个边框的周长,要求结果精确到6 位有效数字. 3.1 数学原理: 龙贝 ...

  4. 龙贝格方法c语言,龙贝格算法

    #include #include #include #define N 1000//最大加速次数 #define MAX 10     //数组存的最大行数(宏定义) #define a 0.000 ...

  5. 龙贝格算法和复化中点法求积分

    数值分析课的作业,求exp(3)-exp(1)的六次精度值,不用程序做的确蛋疼... #include <iostream> #include <cstdio> #includ ...

  6. 利用Matlab编写龙贝格算法(romberg)求函数积分

    这次是我初次接触matlab,源于数学老师布置的一个作业:用龙贝格算法来计算函数的积分. 具体的计算原理,由于是数学的东西,不好打印,就不写了.主要把自己的代码贴下来慢慢理解. 一共写了两个文件.一个 ...

  7. 龙贝格算法求数值积分的Python程序

    Ronberg Integration 分成n等份时辛普森公式的值 from sympy import *def f(t):f = 2000*log(140000/(140000-2100*t))-9 ...

  8. [计算机数值积分]龙贝格公式求数值积分

    Spring-_-Bear 的 CSDN 博客导航 梯形法 的算法简单,但精度低,收敛速度缓慢.如何提高收敛速度以节省计算量,自然是人们极为关心的课题. 根据梯形法的误差公式 I − T n ≈ − ...

  9. 龙贝格数值分析作业c语言,数值分析龙贝格实验报告.doc

    数值分析龙贝格实验报告 实验三 龙贝格方法 [实验类型] 验证性 [实验学时] 2学时 [实验内容] 1.理解龙贝格方法的基本思路 2.用龙贝格方法设计算法,编程求解一个数值积分的问题. [实验前的预 ...

最新文章

  1. Word提供的【样式和格式】设计!
  2. 使用Arduino模块实施无线信号的重放攻击
  3. mac电脑如何与手机同步复制粘贴_苹果换安卓手机如何同步手机自带备忘录便签?...
  4. JAva入门 活着_java基础回顾
  5. 知了课堂 python_没想到你是这样的“知了课堂”
  6. MySQL初识-架构-安装-初始化-连接-管理工具-数据文件
  7. pc构件生产线及设备_筑友装备的PC生产线
  8. Hi3519AV100 SDK文档解读
  9. 各种常用的默认端口号 总结
  10. Arduino安全和警报系统项目
  11. windows定时开关机方法
  12. Android—Surface,BufferQueue
  13. YOLOv5 安全帽识别:如何使用 YOLOv5 进行实时安全帽检测
  14. ismobile什么意思_英语is是什么意思?
  15. Stm32完整安装包,包含Keil5,野火大学堂,Flymcu,Ch340,stm32F1和F4的器件支持包,STM32CubeMX
  16. 布朗的计算机排名,布朗计算机工程硕士排名,千万好好考查
  17. 余数和除数以及被除数的关系
  18. weblogic服务器设置编码
  19. 【狂神说JAVA】Java注解note
  20. python与其他编程语言的区别分析

热门文章

  1. JRUY-G3交流三相电压继电器
  2. 【安骑士】安装失败问题分析 1
  3. 计算机网络技术的概况
  4. arduino与激光雷达?
  5. 5个简单的步骤掌握Tensorflow的Tensor
  6. 区块链硬件钱包常见问答
  7. 执行效率做比较,Go、python、java、c#、delphi、易语言等
  8. python+Django框架运用(四)
  9. 谈谈大数据——Google三大理论
  10. 离线数据分析平台——用户兴趣取向分析(3)导入数据到kafka