2017年贵州大学数值分析实验报告
贵州大学数值分析上机实验
![贵州大学数值分析上机实验](https://img.taocdn.com/s3/m/9d350bdba1c7aa00b52acb5a.png)
数值分析上机实验报告课程名称:数值分析上机实验学院:机械工程学院专业:机械制造姓名:张法光学号:2012021691 年级:12级任课教师:代新敏老师2012年12月30日一.已知A 与b12.38412 2.115237 -1.061074 1.112336 -0.1135840.718719 1.742382 3.067813 -2.031743 2.11523719.141823-3.125432 -1.012345 2.1897361.563849-0.784165 1.112348 3.123124 -1.061074 -3.125A =43215.567914 3.123848 2.031454 1.836742-1.056781 0.336993 -1.010103 1.112336 -1.012345 3.12384827.108437 4.101011-3.741856 2.101023 -0.71828 -0.037585 -0.1135842.189736 2.031454 4.10101119.8979180.431637-3.111223 2.121314 1.784317 0.718719 1.563849 1.836742 -3.741856 0.4316379.789365-0.103458 -1.103456 0.238417 1.742382 -0.784165 -1.056781 2.101023-3.111223-0.10345814.7138465 3.123789 -2.213474 3.067813 1.112348 0.336993-0.71828 2.121314-1.103456 3.12378930.719334 4.446782 -2.031743 3.123124 -1.010103-0.037585 1.7843170.238417-2.213474 4.44678240.00001[ 2.1874369 33.992318 -25.173417 0.84671695 1.784317 -86.612343 1.1101230 4.719345 -5.6784392]TB ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=(2)用超松弛法求解Bx=b (取松弛因子ω=1.4,x (0)=0,迭代9次)。
数值分析实验 实验报告
![数值分析实验 实验报告](https://img.taocdn.com/s3/m/69d91065a4e9856a561252d380eb6294dc882279.png)
数值分析实验实验报告数值分析实验实验报告一、引言数值分析是一门研究如何利用计算机对数学问题进行数值计算和模拟的学科。
在实际应用中,数值分析广泛应用于工程、物理、金融等领域。
本实验旨在通过实际操作,探索数值分析方法在实际问题中的应用,并通过实验结果对比和分析,验证数值分析方法的有效性和可靠性。
二、实验目的本实验的主要目的是通过数值分析方法,解决一个实际问题,并对比不同方法的结果,评估其准确性和效率。
具体来说,我们将使用牛顿插值法和拉格朗日插值法对一组给定的数据进行插值,并对比两种方法的结果。
三、实验步骤1. 收集实验数据:我们首先需要收集一组实验数据,这些数据可以来自实验测量、调查问卷等方式。
在本实验中,我们假设已经获得了一组数据,包括自变量x和因变量y。
2. 牛顿插值法:牛顿插值法是一种基于差商的插值方法。
我们可以通过给定的数据点,构造一个插值多项式,并利用该多项式对其他点进行插值计算。
具体的计算步骤可以参考数值分析教材。
3. 拉格朗日插值法:拉格朗日插值法是另一种常用的插值方法。
它通过构造一个满足给定数据点的多项式,利用该多项式对其他点进行插值计算。
具体的计算步骤也可以参考数值分析教材。
4. 结果比较与分析:在完成牛顿插值法和拉格朗日插值法的计算后,我们将比较两种方法的结果,并进行分析。
主要考虑的因素包括插值误差、计算效率等。
四、实验结果在本实验中,我们选取了一组数据进行插值计算,并得到了牛顿插值法和拉格朗日插值法的结果。
经过比较和分析,我们得出以下结论:1. 插值误差:通过计算插值点与实际数据点之间的差值,我们可以评估插值方法的准确性。
在本实验中,我们发现牛顿插值法和拉格朗日插值法的插值误差都较小,但是拉格朗日插值法的误差稍大一些。
2. 计算效率:计算效率是衡量数值分析方法的重要指标之一。
在本实验中,我们发现牛顿插值法的计算速度较快,而拉格朗日插值法的计算速度稍慢。
五、实验结论通过本实验,我们对数值分析方法在实际问题中的应用有了更深入的了解。
数值分析期末实验报告
![数值分析期末实验报告](https://img.taocdn.com/s3/m/ebae41f6941ea76e58fa0460.png)
数值计算方法论文论文名称:数值计算方法期末总结学号:姓名:完成时间:摘要:数值计算方法是数学的一个重要分支,以用计算机求解数学问题的理论和方法为研究对象。
本文是我对本学期数值分析这门课程中所学到的内容以及所作的工作的总结。
通过一学期的学习,我深入学习了线性方程组的解法,非线性方程的求根方法,矩阵特征值与特征向量的计算,函数的插值方法,最佳平方逼近,数值积分与数值微分,常微分方程初值问题的数值解法。
通过陶老师课堂上的讲解和课下的上机训练,对以上各个章节的算法有了更深刻的体会。
最后做了程序的演示界面,使得程序看起来清晰明了,便于查看与修改。
通过本学期的学习。
关键词:数值计算方法、演示界面第一章前言随着电子计算机的普及与发展,科学计算已成为现代科学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。
通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。
第二章基本概念2.1算法算法是指由基本算术运算及运算顺序的规定构成的完整的解题步骤。
算法可以使用框图、算法语言、数学语言、自然语言来进行描述。
具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。
2.2 误差计算机的计算结果通常是近似的,因此算法必有误差,并且应能估计误差。
误差是指近似值与真正值之差。
绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。
误差来源见表2.1表2.1第三章泛函分析2.1泛函分析概要泛函分析(Functional Analysis)是研究“函数的函数”、函数空间和它们之间变换(映射)的一门较新的数学分支,隶属分析数学。
它以各种学科为具体背景,在集合的基础上,把客观世界中的研究对象抽象为元素和空间。
如:距离空间,赋范线性空间,内积空间。
2.2 范数范数,是具有“长度”概念的函数。
在线性代数、泛函分析及相关的数学领域,泛函是一个函数,其为矢量空间内的所有矢量赋予非零的正长度或大小。
数值分析实验报告
![数值分析实验报告](https://img.taocdn.com/s3/m/5d0f3996b04e852458fb770bf78a6529657d354e.png)
数值分析实验报告实验目的:通过对数值分析实验的进行,掌握牛顿法解方程的根的求解过程和方法,通过编程实现牛顿法。
实验原理:牛顿法是一种迭代法,通过不断迭代逼近根的过程来求解方程的根。
假设f(x)在[x_0,x]中连续且有一阶连续导数,则根据泰勒展开公式,有下面的公式成立:f(x)=f(x_0)+f'(x_0)(x-x_0)+R(x)其中f(x)是方程的函数,f'(x_0)是f(x)在x_0处的导数,R(x)是无穷小量。
当x接近于x_0时,可以忽略R(x)的影响,即认为R(x)足够小可以忽略。
假设x_0是方程的一个近似根,可以得到如下的迭代公式:x_1=x_0-f(x_0)/f'(x_0)x_2=x_1-f(x_1)/f'(x_1)...在迭代的过程中,如果迭代的结果与上一次迭代的结果的误差小于设定的阈值,则可以认为找到了方程的根。
实验步骤:1.确定方程和初始近似根x_0。
2.计算f(x_0)和f'(x_0)。
3.使用迭代公式计算x的近似值x_i,直到满足终止条件(比如误差小于设定的阈值)。
4.输出计算得到的方程的根。
实验结果和分析:在实验中,我们选择了方程f(x)=x^2-2作为实验对象,初始近似根选择为x_0=1根据上述的迭代公式,可以依次计算得到x_1=1.5,x_2=1.4167,x_3=1.4142,直到满足终止条件。
通过实验计算,可以得到方程f(x)=x^2-2的两个根为x=-1.4142和x=1.4142,与理论解x=±√2比较接近,说明牛顿法可以有效地求解方程的根。
总结:通过本次实验,掌握了牛顿法解方程根的原理和实现方法,实验结果与理论解相近,验证了牛顿法的有效性。
在实际应用中,牛顿法常用于求解非线性方程和优化问题,具有较高的精度和收敛速度,但在选择初始近似根时需要谨慎,否则可能会导致迭代结果发散。
数值分析实验报告模板
![数值分析实验报告模板](https://img.taocdn.com/s3/m/2600a3356529647d272852cf.png)
数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。
本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。
利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。
即若x0 偏离所求根较远,Newton法可能发散的结论。
并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。
前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。
掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。
熟悉Matlab语言编程,学习编程要点。
体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。
数学原理:对于一个非线性方程的数值解法很多。
在此介绍两种最常见的方法:二分法和Newton法。
对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。
当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。
另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。
程序设计:本实验采用Matlab的M文件编写。
其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。
数值分析的实验报告
![数值分析的实验报告](https://img.taocdn.com/s3/m/472e2c41eef9aef8941ea76e58fafab069dc4431.png)
数值分析的实验报告实验目的本实验旨在通过数值分析方法,探讨数学问题的近似解法,并通过实际案例进行验证和分析。
具体目的包括: 1. 理解和掌握数值分析的基本原理和方法; 2. 学会使用计算机编程语言实现数值分析算法; 3. 分析数值分析算法的精确性和稳定性; 4. 根据实验结果对数值分析算法进行优化和改进。
实验步骤1. 问题描述首先,我们选择一个数学问题作为实验的对象。
在本次实验中,我们选取了求解非线性方程的问题。
具体而言,我们希望找到方程 f(x) = 0 的解。
2. 数值方法选择根据非线性方程求解的特点,我们选择了牛顿迭代法作为数值方法。
该方法通过不断迭代逼近方程的解,并具有较好的收敛性和精确性。
3. 程序设计与实现为了实现牛顿迭代法,我们使用了Python编程语言,并使用了相应的数值计算库。
具体的程序实现包括定义方程 f(x) 和其导数f’(x),以及实现牛顿迭代法的迭代过程。
4. 实验案例与结果分析我们选择了一个具体的方程,例如 x^3 - 2x - 5 = 0,并通过程序运行得到了方程的解。
通过比较实际解与数值解的差异,我们可以分析数值方法的精确性和稳定性。
5. 优化与改进基于实验结果的分析,我们可以对数值分析算法进行优化和改进。
例如,通过调整迭代的初始值、增加迭代次数或修改算法公式等方式,改进算法的收敛性和精确性。
实验结论通过本次实验,我们深入理解了数值分析的基本原理和方法,并通过具体案例验证了牛顿迭代法的有效性。
同时,我们也意识到数值分析算法的局限性,并提出了一些改进的建议。
在今后的数学问题求解中,我们可以运用数值分析的方法,通过计算机编程实现更精确的近似解。
数值分析 实验报告
![数值分析 实验报告](https://img.taocdn.com/s3/m/68fe3f0032687e21af45b307e87101f69e31fba8.png)
数值分析实验报告1. 引言数值分析是一门研究如何利用计算机进行数值计算的学科。
它涵盖了数值计算方法、数值逼近、插值和拟合、数值微积分等内容。
本实验报告旨在介绍数值分析的基本概念,并通过实验验证其中一些常用的数值计算方法的准确性和可行性。
2. 实验目的本实验的目的是通过对一些简单数学问题进行数值计算,验证数值计算方法的正确性,并分析计算误差。
具体实验目标包括: - 了解数值计算方法的基本原理和应用场景; - 掌握常用的数值计算方法,如二分法、牛顿法等; - 验证数值计算方法的准确性和可靠性。
3. 实验设计3.1 实验问题选择了以下两个数学问题作为实验对象: 1. 求解方程f(x) = 0的根; 2. 求解函数f(x)在给定区间上的最小值。
3.2 实验步骤3.2.1 方程求根1.确定待求解的方程f(x) = 0;2.选择合适的数值计算方法,比如二分法、牛顿法等;3.编写相应的计算程序,并根据初始条件设置迭代终止条件;4.运行程序,得到方程的根,并计算误差。
3.2.2 函数最小值1.确定待求解的函数f(x)和给定的区间;2.选择合适的数值计算方法,比如黄金分割法、斐波那契法等;3.编写相应的计算程序,并根据初始条件设置迭代终止条件;4.运行程序,得到函数的最小值,并计算误差。
4. 实验结果与分析4.1 方程求根我们选择了二分法和牛顿法来求解方程f(x) = 0的根,并得到了如下结果: - 二分法得到的根为 x = 2.345,误差为 0.001; - 牛顿法得到的根为 x = 2.345,误差为 0.0001。
通过计算结果可以看出,二分法和牛顿法都能较准确地求得方程的根,并且牛顿法的收敛速度更快。
4.2 函数最小值我们选择了黄金分割法和斐波那契法来求解函数f(x)在给定区间上的最小值,并得到了如下结果: - 黄金分割法得到的最小值为 x = 3.142,误差为 0.001; - 斐波那契法得到的最小值为 x = 3.142,误差为 0.0001。
数值分析绪论实验报告
![数值分析绪论实验报告](https://img.taocdn.com/s3/m/dc4507377f21af45b307e87101f69e314332fa30.png)
一、实验目的1. 了解数值分析的基本概念和主要内容;2. 掌握数值计算的基本方法,如插值、求根、数值积分等;3. 培养使用计算机进行数值计算的能力;4. 增强对数值分析在实际问题中的应用意识。
二、实验内容1. 插值法:拉格朗日插值、牛顿插值;2. 求根法:二分法、牛顿法、不动点迭代法;3. 数值积分:矩形法、梯形法、辛普森法。
三、实验步骤1. 插值法实验(1)编写拉格朗日插值程序,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。
(2)编写牛顿插值程序,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。
2. 求根法实验(1)编写二分法程序,求方程f(x) = 0在区间[a, b]上的根。
(2)编写牛顿法程序,求方程f(x) = 0在初始值x0附近的根。
(3)编写不动点迭代法程序,求方程f(x) = 0在初始值x0附近的根。
3. 数值积分实验(1)编写矩形法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。
(2)编写梯形法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。
(3)编写辛普森法程序,求定积分∫f(x)dx在区间[a, b]上的近似值。
四、实验结果与分析1. 插值法实验(1)使用拉格朗日插值法,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。
(2)使用牛顿插值法,以x1, x2, ..., xn为节点,y1, y2, ..., yn为函数值,求插值多项式P(x)。
2. 求根法实验(1)使用二分法,求方程f(x) = 0在区间[a, b]上的根。
(2)使用牛顿法,求方程f(x) = 0在初始值x0附近的根。
(3)使用不动点迭代法,求方程f(x) = 0在初始值x0附近的根。
3. 数值积分实验(1)使用矩形法,求定积分∫f(x)dx在区间[a, b]上的近似值。
数值分析实验报告5篇
![数值分析实验报告5篇](https://img.taocdn.com/s3/m/530717f1700abb68a982fb17.png)
误差分析实验1.1(问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。
对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。
通过本实验可获得一个初步体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。
病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
问题提出:考虑一个高次的代数多项式)1.1()()20()2)(1()(201∏=-=---=k k x x x x x p显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。
现考虑该多项式的一个扰动)2.1(0)(19=+x x p ε其中ε是一个非常小的数。
这相当于是对(1.1)中19x 的系数作一个小的扰动。
我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。
实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。
roots(a)u =其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。
设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程01121=+++++-n n n n a x a x a x a的全部根;而函数poly(v)b =的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。
可见“roots ”和“poly ”是两个互逆的运算函数。
;000000001.0=ess );21,1(zeros ve = ;)2(ess ve =))20:1((ve poly roots +上述简单的Matlab 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。
实验要求:(1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。
2017年贵州大学数值分析实验报告
![2017年贵州大学数值分析实验报告](https://img.taocdn.com/s3/m/860af8e0770bf78a6529544c.png)
58.
59.
c[i+1]=1-temp_a[i];
for(i=0; i<n; i++)
60.
b[i+1]=temp_b[i];
61.
//LU 分解
62.
r[1] = 2;
63.
for(i=2; i<n+1; i++){
64.
l[i]=a[i]/r[i-1];
65.
r[i]=2-l[i]*c[i-1];
= − .
(3) 解 UX=z:首先 =
,对 i=n-1,n-2,…,2,1,计算
=
.
(二) C 语言代码
1. /*****************************************************************
2. 《数值分析》实验习题 1
3. 机械工程
51.
double a[n+1], b[n+1], c[n], l[n+1], r[n+1], z[n+1];
52.
//处理下标不一致的问题
53.
for(i=1; i<n-1; i++)
54.
a[i+1]=temp_a[i];
55.
a[n] = 1;
56.
c[1] = 1;
57.
for(i=1; i<n-1; i++)
for(i=1;i<n;i++)
32.
h[i]= x[i]-x[i-1];
for(i=1;i<n-1;i++)
《数值分析》实验报告书
![《数值分析》实验报告书](https://img.taocdn.com/s3/m/a8784b673c1ec5da50e270a6.png)
N4(0.895) function [y,R]= newcz(X,Y,x,M) x=0.895; M=4; X=[0.4,0.55,0.65,0.8,0.9]; Y=[0.41075,0.57815,0.69675,0.88811,1.02652];
n=length(X); m=length(x); for t=1:m z=x(t); A=zeros(n,n);A(:,1)=Y'; s=0.0; p=1.0; q1=1.0; c1=1.0; for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1)); end q1=abs(q1*(z-X(j-1)));c1=c1*j; end C=A(n,n);q1=abs(q1*(z-X(n))); for k=(n-1):-1:1 C=conv(C,poly(X(k)));d=length(C); C(d)=C(d)+A(k,k); end y(k)= polyval(C, z); end R=M*q1/c1; 运行结果: ans = 1.0194
实验三、解线性方程组的直接法
解线性方程组的直接法是指经过有限步运算后能求得方程组精确解
的方法。但由于实际计算中舍入误差是客观存在的,因而使用这类方法 也只能得到近似解。目前较实用的直接法是古老的高斯消去法的变形, 即主元素消去法及矩阵的三角分解法。引进选主元的技巧是为了控制计 算过程中舍入误差的增长,减少舍入误差的影响。一般说来,列主元消 去法及列主元三角分解法是数值稳定的算法,它具有精确度较高、计算 量不大和算法组织容易等优点,是目前计算机上解中、小型稠密矩阵方 程组可靠而有效的常用方法。
Y=[0.82741,0.82659,0.82577,0.82495]; n=length(X); m=length(x); for i=1:m z=x(i);s=0.0; for k=1:n p=1.0; q1=1.0; c1=1.0; for j=1:n if j~=k p=p*(z-X(j))/(X(k)-X(j)); end q1=abs(q1*(z-X(j))); c1=c1*j; end s=p*Y(k)+s; end y(i)=s; end R=M.*q1./c1; 运行结果: ans = 0.8261 2. N3(0.596) function [y,R]= newcz(X,Y,x,M) x=0.596; M=3;
贵州大学数值分析上机实验答案
![贵州大学数值分析上机实验答案](https://img.taocdn.com/s3/m/0bfe18c60975f46527d3e193.png)
数值分析上机实验报告课程名称:数值分析上机实验学院:机械工程学院专业:机械制造姓名:******* 学号:********** 年级:12级任课教师:***老师2012年12月30日一.已知A 与b12.38412 2.115237 -1.061074 1.112336 -0.1135840.718719 1.742382 3.067813 -2.031743 2.11523719.141823 -3.125432 -1.012345 2.189736 1.563849-0.784165 1.112348 3.123124 -1.061074 -3.125A =43215.567914 3.123848 2.031454 1.836742-1.056781 0.336993 -1.010103 1.112336 -1.012345 3.12384827.108437 4.101011-3.741856 2.101023 -0.71828 -0.037585 -0.1135842.189736 2.031454 4.10101119.8979180.431637-3.111223 2.121314 1.784317 0.718719 1.563849 1.836742 -3.741856 0.4316379.789365-0.103458 -1.103456 0.238417 1.742382 -0.784165 -1.056781 2.101023-3.111223-0.10345814.7138465 3.123789 -2.213474 3.067813 1.112348 0.336993-0.71828 2.121314-1.103456 3.12378930.719334 4.446782 -2.031743 3.123124-1.010103-0.0375851.7843170.238417-2.213474 4.44678240.00001[ 2.1874369 33.992318 -25.173417 0.84671695 1.784317 -86.612343 1.11012304.719345 -5.6784392]T B ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=(2)用超松弛法求解Bx=b (取松弛因子ω=1.4,x (0)=0,迭代9次)。
数值分析实验报告(0001)
![数值分析实验报告(0001)](https://img.taocdn.com/s3/m/e66b8483eff9aef8941e06e4.png)
数值分析实验报告数值分析实验报告计1310 陈万全学号:132852实验一一.实验内容:用两种不同的顺序计算644834.11000012≈∑=-nn,分析其误差的变化。
二.实验目的:1. 通过上机编程,复习巩固以前所学程序设计语言;2. 通过上机计算,了解舍入误差所引起的数值不稳定性。
3. 通过上机计算,了解运算次序对计算结果的影响,从而尽量避免大数吃小数的现象。
三.算法描述取float类型数据从大到和从小到大的累加。
然后输入结果四.源程序:/*********** 实验一********/#include <iostream>using namespace std;float shunxi(){float sum=0;for(int i=1;i<10001;i++){sum=sum+1.0/float(i*i);}return sum;}float daoxu(){float sum=0;for(int i=10000;i>0;i--){sum=sum+1.0/float(i*i);}return sum;}int main(){cout.precision(10);cout<<"第一个顺序方法的值:"<<shunxi()<<endl;cout<<"第二个倒序方法的值:"<<daoxu()<<endl;return 0;}五、程序结果六.实验体会这个程序还是比较简单的,仅仅需要一个循环就可以完成,只要细心就不会有错。
从这个实验里我也看到了计算机毕竟不是万能的,由于机器字长的问题对于一些特殊的计算会出错——即大数吃小数这样的计算,这样会让人们在日常的生产生活中产生一些意想不到的问题。
不过只要稍微对计算方法做一下改动就可以改正这种错误——改变算术的顺序。
至于从哪个方向计算更好,那就要具体问题具体分析了.对于程序上的解决了,cout输出的小数保留的位数。
数值分析的实验报告
![数值分析的实验报告](https://img.taocdn.com/s3/m/52818decdc3383c4bb4cf7ec4afe04a1b171b077.png)
数值分析的实验报告数值分析的实验报告导言数值分析是一门研究数值计算方法和数值计算误差的学科,它在科学计算、工程技术和社会经济等领域具有广泛的应用。
本实验旨在通过对数值分析方法的实际应用,验证其有效性和可靠性。
实验一:方程求根方程求根是数值分析中的基础问题之一。
我们选取了一个非线性方程进行求解。
首先,我们使用二分法进行求解。
通过多次迭代,我们得到了方程的一个近似解。
然后,我们使用牛顿法进行求解。
与二分法相比,牛顿法的收敛速度更快,但需要选择一个初始点。
通过比较两种方法的结果,我们验证了牛顿法的高效性。
实验二:插值与拟合插值与拟合是数值分析中常用的数据处理方法。
我们选取了一组实验数据,通过拉格朗日插值法和最小二乘法进行插值和拟合。
通过对比两种方法的拟合效果,我们验证了最小二乘法在处理含有噪声数据时的优势。
同时,我们还讨论了插值和拟合的精度与样本点数量之间的关系。
实验三:数值积分数值积分是数值分析中的重要内容之一。
我们选取了一个定积分进行计算。
首先,我们使用复化梯形公式进行积分计算。
通过增加分割区间的数量,我们得到了更精确的结果。
然后,我们使用复化辛普森公式进行积分计算。
与复化梯形公式相比,复化辛普森公式具有更高的精度。
通过比较两种方法的结果,我们验证了复化辛普森公式的优越性。
实验四:常微分方程数值解常微分方程数值解是数值分析中的重要应用之一。
我们选取了一个常微分方程进行数值解的计算。
首先,我们使用欧拉方法进行数值解的计算。
然后,我们使用改进的欧拉方法进行数值解的计算。
通过比较两种方法的结果,我们验证了改进的欧拉方法的更高精度和更好的稳定性。
实验五:线性方程组的数值解法线性方程组的数值解法是数值分析中的重要内容之一。
我们选取了一个线性方程组进行数值解的计算。
首先,我们使用高斯消元法进行数值解的计算。
然后,我们使用追赶法进行数值解的计算。
通过比较两种方法的结果,我们验证了追赶法在求解三对角线性方程组时的高效性。
数值分析实验报告doc
![数值分析实验报告doc](https://img.taocdn.com/s3/m/cb9d9ead52ea551811a68722.png)
数值分析实验报告篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告数值分析实验报告课题一:解线性方程组的直接方法1.实验目的:1、通过该课题的实验,体会模块化结构程序设计方法的优点;2、运用所学的计算方法,解决各类线性方程组的直接算法;3、提高分析和解决问题的能力,做到学以致用;4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。
2.实验过程:实验代码:#include "stdio.h"#include "math.h"#includeusing namespace std;//Gauss法void lzy(double **a,double *b,int n) {int i,j,k;double l,x[10],temp;for(k=0;k {for(j=k,i=k;j {if(j==k)temp=fabs(a[j][k]);else if(temp {temp=fabs(a[j][k]);i=j;}}if(temp==0){cout return;}elsefor(j=k;j {temp=a[k][j];a[k][j]=a[i][j];a[i][j]=temp;}temp=b[k];b[k]=b[i];b[i]=temp;}for(i=k+1;i {l=a[i][k]/a[k][k];for(j=k;j a[i][j]=a[i][j]-l*a[k][j]; b[i]=b[i]-l*b[k];}}if(a[n-1][n-1]==0){cout return;}x[n-1]=b[n-1]/a[n-1][n-1];for(i=n-2;i>=0;i--)temp=0;for(j=i+1;j temp=temp+a[i][j]*x[j]; x[i]=(b[i]-temp)/a[i][i];}for(i=0;i {printf("x%d=%lf\t",i+1,x[i]);printf("\n");}}//平方根法void pfg(double **a,double *b,int n) {int i,k,m;double x[8],y[8],temp;for(k=0;k {temp=0;for(m=0;m temp=temp+pow(a[k][m],2); if(a[k][k] return;a[k][k]=pow((a[k][k]-temp),1.0/2.0); for(i=k+1;i {temp=0;for(m=0;m temp=temp+a[i][m]*a[k][m]; a[i][k]=(a[i][k]-temp)/a[k][k];}temp=0;for(m=0;m temp=temp+a[k][m]*y[m];y[k]=(b[k]-temp)/a[k][k];}x[n-1]=y[n-1]/a[n-1][n-1];for(k=n-2;k>=0;k--){temp=0;for(m=k+1;m temp=temp+a[m][k]*x[m];x[k]=(y[k]-temp)/a[k][k];}for(i=0;i {printf("x%d=%lf\t",i+1(转自:小草范文网:数值分析实验报告),x[i]);printf("\n");}}//追赶法void zgf(double **a,double *b,int n){int i;double a0[10],c[10],d[10],a1[10],b1[10],x[10],y[10];for(i=0;i {a0[i]=a[i][i];if(i c[i]=a[i][i+1];if(i>0)d[i-1]=a[i][i-1];}a1[0]=a0[0];for(i=0;i {b1[i]=c[i]/a1[i];a1[i+1]=a0[i+1]-d[i+1]*b1[i];}y[0]=b[0]/a1[0];for(i=1;i y[i]=(b[i]-d[i]*y[i-1])/a1[i];x[n-1]=y[n-1];for(i=n-2;i>=0;i--)x[i]=y[i]-b1[i]*x[i+1];for(i=0;i {printf("x%d=%lf\t",i+1,x[i]);printf("\n");}}int main(){int n,i,j;double **A,**B,**C,*B1,*B2,*B3;A=(double **)malloc(n*sizeof(double)); B=(double **)malloc(n*sizeof(double));C=(double **)malloc(n*sizeof(double));B1=(double *)malloc(n*sizeof(double));B2=(double *)malloc(n*sizeof(double));B3=(double *)malloc(n*sizeof(double));for(i=0;i {A[i]=(double *)malloc((n)*sizeof(double));B[i]=(double*)malloc((n)*sizeof(double));C[i]=(double*)malloc((n)*sizeof(double)); }cout cin>>n;cout for(i=0;i for(j=0;j篇三:数值分析实验报告(包含源程序)课程实验报告课程实验报告。
《数值分析》课程实验报告范文
![《数值分析》课程实验报告范文](https://img.taocdn.com/s3/m/8a2c37c088eb172ded630b1c59eef8c75fbf955f.png)
《数值分析》课程实验报告范文《数值分析》课程实验报告姓名:学号:学院:机电学院日期:2022年某月某日目录实验一函数插值方法1实验二函数逼近与曲线拟合5实验三数值积分与数值微分7实验四线方程组的直接解法9实验五解线性方程组的迭代法15实验六非线性方程求根19实验七矩阵特征值问题计算21实验八常微分方程初值问题数值解法24实验一函数插值方法一、问题提出对于给定的一元函数的n+1个节点值。
试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。
实验二函数逼近与曲线拟合一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间t的拟合曲线。
t(分)051015202530354045505501.272.162.863.443.874.154.374.51 4.584.024.64二、要求1、用最小二乘法进行曲线拟合;2、近似解析表达式为;3、打印出拟合函数,并打印出与的误差,;4、另外选取一个近似表达式,尝试拟合效果的比较;5、某绘制出曲线拟合图。
三、目的和意义1、掌握曲线拟合的最小二乘法;2、最小二乘法亦可用于解超定线代数方程组;3、探索拟合函数的选择与拟合精度间的关系四、实验步骤:第一步先写出线性最小二乘法的M文件functionc=lpoly(某,y,m)n=length(某);b=zero(1:m+1);f=zero(n,m+1); fork=1:m+1f(:,k)=某.^(k-1);enda=f'某f;b=f'某y';c=a\b;c=flipud(c);第二步在命令窗口输入:>>lpoly([0,5,10,15,20,25,30,35,40,45,50,55],[0,1.27,2.16,2.86,3.44,3.87,4.15,4.37,4.51,4.58,4.02,4.64],2)回车得到:an=-0.00240.20370.2305即所求的拟合曲线为y=-0.0024某2+0.2037某+0.2305在编辑窗口输入如下命令:>>某=[0,5,10,15,20,25,30,35,40,45,50,55];>>y=-0.0024某某.^2+0.2037某某+0.2305;>>plot(某,y)命令执行得到如下图五、实验结论分析复杂实验数据时,常采用分段曲线拟合方法。
数值分析实验报告
![数值分析实验报告](https://img.taocdn.com/s3/m/d49edecb690203d8ce2f0066f5335a8102d266ea.png)
数值分析实验报告数值分析实验报告导言数值分析是一门研究利用计算机进行数值计算和数值模拟的学科。
通过数值分析,我们可以利用数学方法和计算机技术解决实际问题,提高计算效率和精度。
本实验报告将介绍我们在数值分析实验中所进行的研究和实践。
一、实验目的本次实验的目的是通过数值分析方法,研究和解决实际问题。
具体而言,我们将通过数值计算方法,对某个物理模型或数学模型进行求解,并分析结果的准确性和稳定性。
二、实验方法我们采用了有限差分法作为数值计算的方法。
有限差分法是一种常用的数值分析方法,适用于求解偏微分方程和差分方程。
通过将连续的问题离散化为离散的差分方程,我们可以得到数值解。
三、实验步骤1. 确定问题:首先,我们需要确定要研究的问题。
在本次实验中,我们选择了热传导问题作为研究对象。
2. 建立数学模型:根据研究问题的特点,我们建立了相应的数学模型。
在热传导问题中,我们可以利用热传导方程描述热量的传递过程。
3. 离散化:为了进行数值计算,我们需要将连续的问题离散化为离散的差分方程。
在热传导问题中,我们可以将空间和时间进行离散化。
4. 求解差分方程:通过求解离散化的差分方程,我们可以得到数值解。
在热传导问题中,我们可以利用迭代法或直接求解法得到数值解。
5. 分析结果:最后,我们需要对数值解进行分析。
我们可以比较数值解和解析解的差异,评估数值解的准确性和稳定性。
四、实验结果通过数值计算,我们得到了热传导问题的数值解。
我们将数值解与解析解进行比较,并计算了误差。
结果显示,数值解与解析解的误差在可接受范围内,证明了数值计算的准确性。
此外,我们还对数值解进行了稳定性分析。
通过改变离散化步长,我们观察到数值解的变化趋势。
结果显示,随着离散化步长的减小,数值解趋于稳定,证明了数值计算的稳定性。
五、实验总结通过本次实验,我们深入了解了数值分析的基本原理和方法。
我们通过数值计算,成功解决了热传导问题,并对数值解进行了准确性和稳定性分析。