数值分析第一次实验报告
数值分析第一次上机练习实验报告
数值分析第一次上机练习实验报告一、实验目的本次实验旨在通过上机练习,加深对数值分析方法的理解,并掌握实际应用中的数值计算方法。
二、实验内容1. 数值计算的基本概念和方法在本次实验中,我们首先回顾了数值计算的基本概念和方法。
数值计算是一种通过计算机进行数值近似的方法,其包括近似解的计算、误差分析和稳定性分析等内容。
2. 方程求解的数值方法接下来,我们学习了方程求解的数值方法。
方程求解是数值分析中非常重要的一部分,其目的是找到方程的实数或复数解。
我们学习了二分法、牛顿法和割线法等常用的数值求解方法,并对它们的原理和步骤进行了理论学习。
3. 插值和拟合插值和拟合是数值分析中常用的数值逼近方法。
在本次实验中,我们学习了插值和拟合的基本原理,并介绍了常见的插值方法,如拉格朗日插值和牛顿插值。
我们还学习了最小二乘拟合方法,如线性拟合和多项式拟合方法。
4. 数值积分和数值微分数值积分和数值微分是数值分析中的两个重要内容。
在本次实验中,我们学习了数值积分和数值微分的基本原理,并介绍了常用的数值积分方法,如梯形法和辛卜生公式。
我们还学习了数值微分的数值方法,如差商法和牛顿插值法。
5. 常微分方程的数值解法常微分方程是物理和工程问题中常见的数学模型,在本次实验中,我们学习了常微分方程的数值解法,包括欧拉法和四阶龙格-库塔法。
我们学习了这些方法的步骤和原理,并通过具体的实例进行了演示。
三、实验结果及分析通过本次实验,我们深入理解了数值分析的基本原理和方法。
我们通过实际操作,掌握了方程求解、插值和拟合、数值积分和数值微分以及常微分方程的数值解法等数值计算方法。
实验结果表明,在使用数值计算方法时,我们要注意误差的控制和结果的稳定性。
根据实验结果,我们可以对计算结果进行误差分析,并选择适当的数值方法和参数来提高计算的精度和稳定性。
此外,在实际应用中,我们还需要根据具体问题的特点和条件选择合适的数值方法和算法。
四、实验总结通过本次实验,我们对数值分析的基本原理和方法有了更加深入的了解。
数值分析实验报告
数值分析实验报告
一、实验背景
本实验主要介绍了数值分析的各种方法。
在科学计算中,为了求解一
组常微分方程或一些极限问题,数值分析是一种有用的方法。
数值分析是
一种运用计算机技术对复杂模型的问题进行数学分析的重要手段,它利用
数学模型和计算机程序来解决复杂的数学和科学问题。
二、实验内容
本实验通过MATLAB软件,展示了以下几种数值分析方法:
(1)拉格朗日插值法:拉格朗日插值法是由法国数学家拉格朗日发
明的一种插值方法,它可以用来插值一组数据,我们使用拉格朗日插值法
对给定的点进行插值,得到相应的拉格朗日多项式,从而计算出任意一个
点的函数值。
(2)最小二乘法:最小二乘法是一种常用的数据拟合方法,它可以
用来拟合满足一定函数的点的数据,它的主要思想是使得数据点到拟合曲
线之间的距离的平方和最小。
(3)牛顿插值法:牛顿插值法是一种基于差商的插值方法,它可以
用来插值一组数据,可以求得一组数据的插值函数。
(4)三次样条插值:三次样条插值是一种基于三次样条的插值方法,它可以用来对一组数据进行插值,可以求得一组数据的插值函数。
三、实验步骤
1.首先启动MATLAB软件。
数值分析实验报告 第一次
华中科技大学本科实验报告课程名称:数值分析姓名:姜福鑫学号:U201310044专业班级:应数1302指导老师:黄乘明实验题目:线性方程组的迭代解法日期:2015-4-9实验成绩:1.实验目的通过上机实验,理解利用计算机迭代求解线性方程组的整个过程,加深对所学计算方法的理论及算法特点的理解。
2.实验题目2.1利用算法2.1(Jacobi迭代法),编制MATLAB程序,求线性方程组。
(1)14x+42x+43x+44x=-414x+142x+43x+44x=1614x+42x+143x+44x=3614x+42x+43x+144x=561(2)10.9x+1.22x+2.13x+0.94x=-7.011.2x+11.22x+1.53x+2.54x=5.312.1x+1.52x+9.83x+1.34x=10.310.9x+2.52x+1.33x+12.34x=24.61的近似解,取初值x=T)0,0,0,0(2.2利用算法2.2(Gauss-Seidel迭代法),编制MATLAB程序,求线性方程组。
(1)6x-22x-3x-4x=-161-2x+122x-3x-4x=61-x-2x+63x-24x=81-x-2x-3x+124x=541(2)0.78x-0.022x-0.123x-0.144x=0.761-0.02x+0.862x-0.043x-0.064x=0.081-0.12x-0.042x+0.723x-0.084x=1.121-0.14x-0.062x-0.083x+0.744x=0.681的近似解,取初值x=T)0,0,0,0(2.3利用算法2.2(SOR法),编制MATLAB程序,求线性方程组。
(1)-4x+2x+3x+4x=11x-42x+3x+4x=11x+2x-43x+4x=11x+2x+3x-44x=11(2)x-0.253x-0.254x=0.51x-0.253x-0.254x=0.52-0.25x-0.252x+3x=0.51-0.25x-0.252x+4x=0.51的近似解,取初值x=T)0,0,0,0(3.程序文本function x=majacobi(A,b,x0,ep,N)n=length(b);if nargin<5,N=500;endif nargin<4,ep=1e-6;endif nargin<3,x0=zeros(n,1);endx=zeros(n,1);k=0;while k<Nfor i=1:nx(i)=(b(i)-A(i,[1:i-1,i+1:n])*x0([1:i-1,i+1:n]))/A(i,i);endif norm(x-x0,inf)<ep,break;endx0=x;k=k+1;endif k==N,Warning('已达到迭代次数上限');enddisp(['k=',num2str(k)])2.2function x=maseidel(A,b,x0,ep,N)n=length(b);if nargin<5,N=500;endif nargin<4,ep=1e-6;endif nargin<3,x0=zeros(n,1);endx=zeros(n,1);k=0;while k<Nfor i=1:nif i==1x(1)=(b(1)-A(1,2:n)*x0(2:n))/A(1,1);else if i==nx(n)=(b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);elsex(i)=(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);endendendif norm(x-x0,inf)<ep,break;endx0=x;k=k+1;endif k==N,Warning('已达到迭代次数上限');enddisp(['k=',num2str(k)])2.3function x=masor(A,b,omega,x0,ep,N)n=length(b);if nargin<6,N=500;endif nargin<5,ep=1e-6;endif nargin<4,x0=zeros(n,1);endif nargin<3,omega=1.5;endx=zeros(n,1);k=0;while k<Nfor i=1:nif i==1x1(1)=(b(1)-A(1,2:n)*x0(2:n))/A(1,1);else if i==nx1(n)=(b(n)-A(n,1:n-1)*x(1:n-1))/A(n,n);elsex1(i)=(b(i)-A(i,1:i-1)*x(1:i-1)-A(i,i+1:n)*x0(i+1:n))/A(i,i);endendx(i)=(1-omega)*x0(i)+omega*x1(i);endif norm(x-x0,inf)<ep,break;endx0=x;k=k+1;endif k==N,Warning('已达到迭代次数上限');enddisp(['k=',num2str(k)])4.运行结果与分析2.11.k=94x=-2.00000.00002.00004.00002.22.k=17x=-0.99860.00711.00321.96562.21.k=11 x=-1.07820.95532.88974.7306 2.22.k=8 x=1.55030.32321.99341.45392.31.k=21 x=-1.0000-1.0000-1.0000-1.0000 2.32.k=21 x= 1.00001.00001.00001.0000分析:对比三种方法,Jacobi迭代法次数较多才能到达精度要求,Gause-Seidel迭代法次数较少,SOR法次数处于两者之间。
数值分析第一次实验报告
数值分析实验报告(一)2016级数学基地班尹烁翔320160928411一、问题重述:hamming级数求和二、问题分析级数为∑1k(k+x)∞k=1易知当X=1时,φ(1)=1我们可以考虑这个新级数:φ(x)−φ(1)用这个级数可以使精度更高,误差更小且迭代次数变少。
通分易得:φ(x)−φ(1)=1k(k+x)−1k(k+1)=1−xk(k+x)(k+1)我们还可以继续算得φ(2)及φ(x)−φ(2)这样精度会继续提高,且迭代次数也会减少。
下面考虑误差:由公式可得∑1−xk(k+x)(k+1)∞k=1<1k3<∫1k3∞n−1<10−10要把误差控制在范围内,需要k即迭代次数至少70001次。
三、算法实现:#include<iostream>#include<iomanip>>using namespace std;int main(){double sum;//sum为级数和double x;//x为代入的自变量int k=1;//k为迭代次数for (x=0; x<=10; x=x+0.1)//对0到10以内进行迭代运算,每次加0.1{sum=0;//每迭代完一个x,级数归零for (k=1; k<=70001; k++)//固定x并对k进行运算{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}for (x=11; x<=290; x++)//对11到290以内进行迭代运算,每次加1{sum=0;for (k=1; k<=70001; k++)//固定x{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}for (x=290; x<=300; x=x+0.1)//对290.1到300以内进行迭代运算,每次加0.1 {sum=0;for (k=1; k<=70001; k++)//固定x{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}return 0;}四、数据结果:0.0 1.6449340667 0.1 1.5346072448 0.2 1.4408788415 0.3 1.3600825867 0.4 1.2895778007 0.5 1.2274112777 0.6 1.1721051961 0.7 1.1225193425 0.8 1.07775887270.9 1.03711091781.0 1.0000000000 1.1 0.9659560305 1.2 0.9345909181 1.3 0.9055811887 1.4 0.8786548819 1.5 0.853******* 1.6 0.8301644486 1.7 0.8082346082 1.8 0.78764591881.9 0.76827137672.0 0.7500000000 2.1 0.7327343381 2.2 0.7163884348 2.3 0.7008861540 2.4 0.6861597923 2.5 0.6721489224 2.6 0.6587994241 2.7 0.6460626684 2.8 0.63389482552.9 0.62225627673.0 0.6111111113 3.1 0.6004266954 3.2 0.5901732990 3.3 0.5803237751 3.4 0.5708532792 3.5 0.5617390263 3.6 0.5529600781 3.7 0.5444971556 3.8 0.53633247553.9 0.52844960504.0 0.5208333336 4.1 0.5134695598 4.2 0.5063451894 4.3 0.49944804604.4 0.49276679034.5 0.48629084784.6 0.48001034484.7 0.47391604974.8 0.46799932104.9 0.46225205975.0 0.45666666715.1 0.45123600545.2 0.44595336325.3 0.44081242345.4 0.43580723395.5 0.43093218145.6 0.42618196715.7 0.42155158445.8 0.41703629915.9 0.41263163046.0 0.40833333386.1 0.40413738606.2 0.40003996986.3 0.39603746096.4 0.39212641636.5 0.38830356206.6 0.38456578316.7 0.38091011406.8 0.37733372946.9 0.37383393577.0 0.37040816397.1 0.36705396157.2 0.36376898657.3 0.36055100097.4 0.35739786507.5 0.35430753177.6 0.35127804177.7 0.34830751887.8 0.34539416537.9 0.34253625788.0 0.33973214368.1 0.33698023688.2 0.33427901518.3 0.33162701648.4 0.32902283598.5 0.32646512338.6 0.32395258008.7 0.32148395698.8 0.31905805168.9 0.31667370669.0 0.31432980689.1 0.31202527809.2 0.30975908459.3 0.30753022799.4 0.30533774499.5 0.30318070609.6 0.30105821429.7 0.29896940319.8 0.29691343609.9 0.294889504210.0 0.292896826311.0 0.274534305112.0 0.258600891013.0 0.244625674714.0 0.232254453215.0 0.221215267616.0 0.211295563617.0 0.202326620618.0 0.194172672719.0 0.186723141720.0 0.179886984821.0 0.173588511822.0 0.167764240823.0 0.162360502724.0 0.157331593125.0 0.152638329626.0 0.148246914727.0 0.144128030628.0 0.140256111329.0 0.136608754530.0 0.133166240731.0 0.129911138432.0 0.126827978033.0 0.123902979834.0 0.121123826635.0 0.118479472636.0 0.115959981337.0 0.113556388138.0 0.111260583139.0 0.109065210040.0 0.106963580041.0 0.104949596342.0 0.103017690143.0 0.101162762944.0 0.099380138345.0 0.097665518246.0 0.096014944747.0 0.094424767348.0 0.092891612649.0 0.091412358750.0 0.089984111851.0 0.088604185152.0 0.087270081253.0 0.085979474654.0 0.084730197955.0 0.083520227556.0 0.082347672757.0 0.081210763958.0 0.080107843659.0 0.079037357560.0 0.077997846261.0 0.076987938262.0 0.076006343163.0 0.075051846164.0 0.074123301865.0 0.073219629966.0 0.072339810267.0 0.071482878568.0 0.070647922969.0 0.069834080070.0 0.069040532171.0 0.068266503872.0 0.067511259473.0 0.066774100374.0 0.066054362875.0 0.065351416076.0 0.064664659377.0 0.063993521278.0 0.063337457279.0 0.062695948280.0 0.062068499081.0 0.061454637382.0 0.0608539117 83.0 0.060265891284.0 0.059690163685.0 0.059126334986.0 0.058574027887.0 0.058032881288.0 0.057502549189.0 0.056982699990.0 0.056473015891.0 0.055973191792.0 0.055482935193.0 0.055001964994.0 0.054530011295.0 0.054066814696.0 0.053612125897.0 0.053165704998.0 0.052727321299.0 0.0522967526100.0 0.0518737853101.0 0.0514582132102.0 0.0510498380103.0 0.0506484683104.0 0.0502539197105.0 0.0498660140106.0 0.0494845798107.0 0.0491094512108.0 0.0487404681109.0 0.0483774760110.0 0.0480203256111.0 0.0476688725112.0 0.0473229772113.0 0.0469825047114.0 0.0466473244115.0 0.0463173100116.0 0.0459923394117.0 0.0456722940118.0 0.0453570593119.0 0.0450465242120.0 0.0447405812121.0 0.0444391259122.0 0.0441420572123.0 0.0438492771124.0 0.0435606905125.0 0.0432762052126.0 0.0429957316127.0 0.0427191829128.0 0.0424464746129.0 0.0421775249130.0 0.0419122542131.0 0.0416505852132.0 0.0413924428133.0 0.0411377539134.0 0.0408864476135.0 0.0406384549136.0 0.0403937087137.0 0.0401521437138.0 0.0399136963139.0 0.0396783048140.0 0.0394459089141.0 0.0392164502142.0 0.0389898715143.0 0.0387661174144.0 0.0385451338145.0 0.0383268679146.0 0.0381112684147.0 0.0378982853148.0 0.0376878698149.0 0.0374799743150.0 0.0372745524151.0 0.0370715590152.0 0.0368709499153.0 0.0366726822154.0 0.0364767137155.0 0.0362830036156.0 0.0360915118157.0 0.0359021994158.0 0.0357150281159.0 0.0355299609160.0 0.0353469614161.0 0.0351659940162.0 0.0349870241163.0 0.0348100178164.0 0.0346349421165.0 0.0344617645166.0 0.0342904534167.0 0.0341209780168.0 0.0339533080169.0 0.0337874138170.0 0.0336232666171.0 0.0334608381 172.0 0.0333001006 173.0 0.0331410270 174.0 0.0329835910 175.0 0.0328277666 176.0 0.0326735285 177.0 0.0325208518 178.0 0.0323697123 179.0 0.0322200861 180.0 0.0320719500 181.0 0.0319252812 182.0 0.0317800574 183.0 0.0316362566 184.0 0.0314938575 185.0 0.0313528391 186.0 0.0312131807 187.0 0.0310748622 188.0 0.0309378640 189.0 0.0308021665 190.0 0.0306677509 191.0 0.0305345985 192.0 0.0304026910 193.0 0.0302720107 194.0 0.0301425399 195.0 0.0300142615 196.0 0.029******* 197.0 0.029******* 198.0 0.029******* 199.0 0.029******* 200.0 0.029******* 201.0 0.029******* 202.0 0.029******* 203.0 0.029******* 204.0 0.028******* 205.0 0.028******* 206.0 0.028******* 207.0 0.028******* 208.0 0.028******* 209.0 0.028******* 210.0 0.028******* 211.0 0.028******* 212.0 0.028******* 213.0 0.027******* 214.0 0.027******* 215.0 0.027*******216.0 0.027*******217.0 0.027*******218.0 0.027*******219.0 0.027*******220.0 0.027*******221.0 0.027*******222.0 0.0269466153223.0 0.0268458877224.0 0.0267459700225.0 0.0266468523226.0 0.0265485248227.0 0.0264509777228.0 0.0263542015229.0 0.0262581869230.0 0.0261629247231.0 0.0260684057232.0 0.025*******233.0 0.025*******234.0 0.025*******235.0 0.025*******236.0 0.025*******237.0 0.025*******238.0 0.025*******239.0 0.025*******240.0 0.025*******241.0 0.025*******242.0 0.025*******243.0 0.024*******244.0 0.024*******245.0 0.024*******246.0 0.024*******247.0 0.024*******248.0 0.024*******249.0 0.024*******250.0 0.024*******251.0 0.024*******252.0 0.024*******253.0 0.024*******254.0 0.024*******255.0 0.024*******256.0 0.023*******257.0 0.023*******258.0 0.023*******259.0 0.023*******260.0 0.023*******261.0 0.023*******262.0 0.023*******263.0 0.023*******264.0 0.023*******265.0 0.023*******266.0 0.023*******267.0 0.023*******268.0 0.023*******269.0 0.022*******270.0 0.022*******271.0 0.022*******272.0 0.022*******273.0 0.022*******274.0 0.022*******275.0 0.022*******276.0 0.022*******277.0 0.022*******278.0 0.022*******279.0 0.022*******280.0 0.022*******281.0 0.022*******282.0 0.022*******283.0 0.021*******284.0 0.021*******285.0 0.021*******286.0 0.021*******287.0 0.021*******288.0 0.021*******289.0 0.021*******290.0 0.021*******290.1 0.021*******290.2 0.021*******290.3 0.021*******290.4 0.021*******290.5 0.021*******290.6 0.021*******290.7 0.021*******290.8 0.021*******290.9 0.021*******291.0 0.021*******291.1 0.021*******291.2 0.021*******291.3 0.021******* 291.4 0.021******* 291.5 0.021******* 291.6 0.021******* 291.7 0.021******* 291.8 0.021******* 291.9 0.021******* 292.0 0.021******* 292.1 0.021******* 292.2 0.021******* 292.3 0.021******* 292.4 0.021******* 292.5 0.021******* 292.6 0.021******* 292.7 0.021******* 292.8 0.021******* 292.9 0.021******* 293.0 0.021******* 293.1 0.021******* 293.2 0.021******* 293.3 0.021******* 293.4 0.021******* 293.5 0.021******* 293.6 0.021******* 293.7 0.021******* 293.8 0.021******* 293.9 0.021******* 294.0 0.021******* 294.1 0.021******* 294.2 0.021******* 294.3 0.021******* 294.4 0.021******* 294.5 0.021******* 294.6 0.021******* 294.7 0.021******* 294.8 0.021******* 294.9 0.021******* 295.0 0.021******* 295.1 0.021******* 295.2 0.021******* 295.3 0.021******* 295.4 0.021******* 295.5 0.021******* 295.6 0.021******* 295.7 0.021******* 295.8 0.021******* 295.9 0.021******* 296.0 0.021******* 296.1 0.021******* 296.2 0.021******* 296.3 0.021******* 296.4 0.021******* 296.5 0.021******* 296.6 0.021******* 296.7 0.021******* 296.8 0.021******* 296.9 0.021******* 297.0 0.021******* 297.1 0.021******* 297.2 0.021******* 297.3 0.021******* 297.4 0.021******* 297.5 0.021******* 297.6 0.021******* 297.7 0.021******* 297.8 0.021******* 297.9 0.021******* 298.0 0.021******* 298.1 0.021******* 298.2 0.021******* 298.3 0.021******* 298.4 0.021******* 298.5 0.021******* 298.6 0.021******* 298.7 0.021******* 298.8 0.021******* 298.9 0.021******* 299.0 0.021******* 299.1 0.020******* 299.2 0.020******* 299.3 0.020******* 299.4 0.020******* 299.5 0.020******* 299.6 0.020******* 299.7 0.020******* 299.8 0.020******* 299.9 0.020******* 300.0 0.020*******。
数值分析实验报告
数值分析实验报告篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告数值分析实验报告课题一:解线性方程组的直接方法1.实验目的:1、通过该课题的实验,体会模块化结构程序设计方法的优点;2、运用所学的计算方法,解决各类线性方程组的直接算法;3、提高分析和解决问题的能力,做到学以致用;4、通过三对角形线性方程组的解法,体会稀疏线性方程组解法的特点。
2.实验过程:实验代码:#include "stdio.h"#include "math.h"#includeiostreamusing namespace std;//Gauss法void lzy(double **a,double *b,int n) {int i,j,k;double l,x[10],temp;for(k=0;kn-1;k++){for(j=k,i=k;jn;j++){if(j==k)temp=fabs(a[j][k]);else if(tempfabs(a[j][k])){temp=fabs(a[j][k]);i=j;}}if(temp==0){cout"无解\n; return;}else{for(j=k;jn;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;in;i++) {l=a[i][k]/a[k][k];for(j=k;jn;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"无解\n;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;jn;j++)temp=temp+a[i][j]*x[j];x[i]=(b[i]-temp)/a[i][i];}for(i=0;in;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;kn;k++){temp=0;for(m=0;mk;m++)temp=temp+pow(a[k][m],2);if(a[k][k]temp)return;a[k][k]=pow((a[k][k]-temp),1.0/2.0);for(i=k+1;in;i++){temp=0;for(m=0;mk;m++)temp=temp+a[i][m]*a[k][m]; a[i][k]=(a[i][k]-temp)/a[k][k]; }temp=0;for(m=0;mk;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;mn;m++)temp=temp+a[m][k]*x[m];x[k]=(y[k]-temp)/a[k][k];}for(i=0;in;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;in;i++){a0[i]=a[i][i];if(in-1)c[i]=a[i][i+1];if(i0)d[i-1]=a[i][i-1];}a1[0]=a0[0];for(i=0;in-1;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;in;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;in;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;in;i++){A[i]=(double *)malloc((n)*sizeof(double));B[i]=(double*)malloc((n)*sizeof(double));C[i]=(double*)malloc((n)*sizeof(double)); }cout"第一题(Gauss列主元消去法):"endlendl; cout"请输入阶数n:"endl;cinn;cout"\n请输入系数矩阵:\n\n";for(i=0;in;i++)for(j=0;jn;j++){篇三:数值分析实验报告(包含源程序) 课程实验报告课程实验报告。
数值分析实验报告5篇
1.69376699767424 0.92310666706964 0.08471614569741 0.40804026409411
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
讨论:
利用这种方法进行这类实验,可以很精确的扰动敏感性的一般规律。即 当对扰动项的系数越来越小时,对其多项式扰动的结果也就越来越小, 即扰动敏感性与扰动项的系数成正比,扰动项的系数越大,对其根的扰 动敏感性就越明显,当扰动的系数一定时,扰动敏感性与扰动的项的幂 数成正比,扰动的项的幂数越高,对其根的扰动敏感性就越明显。
解线性方程组的直接方法
实验 (主元的选取与算法的稳定性) 问题提出:Gauss消去法是我们在线性代数中已经熟悉的。但由于计算 机的数值运算是在一个有限的浮点数集合上进行的,如何才能确保 Gauss消去法作为数值算法的稳定性呢?Gauss消去法从理论算法到数值 算法,其关键是主元的选择。主元的选择从数学理论上看起来平凡,它 却是数值分析中十分典型的问题。 实验内容:考虑线性方程组 编制一个能自动选取主元,又能手动选取主元的求解线性方程组的 Gauss消去过程。 实验要求: (1)取矩阵,则方程有解。取n=10计算矩阵的条件数。让程序自动选 取主元,结果如何? (2)现选择程序中手动选取主元的功能。每步消去过程总选取按模最 小或按模尽可能小的元素作为主元,观察并记录计算结果。若每步消去 过程总选取按模最大的元素作为主元,结果又如何?分析实验的结果。 (3)取矩阵阶数n=20或者更大,重复上述实验过程,观察记录并分析 不同的问题及消去过程中选择不同的主元时计算结果的差异,说明主元
数值分析实验报告
数值分析实验报告实验目的:通过对数值分析实验的进行,掌握牛顿法解方程的根的求解过程和方法,通过编程实现牛顿法。
实验原理:牛顿法是一种迭代法,通过不断迭代逼近根的过程来求解方程的根。
假设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比较接近,说明牛顿法可以有效地求解方程的根。
总结:通过本次实验,掌握了牛顿法解方程根的原理和实现方法,实验结果与理论解相近,验证了牛顿法的有效性。
在实际应用中,牛顿法常用于求解非线性方程和优化问题,具有较高的精度和收敛速度,但在选择初始近似根时需要谨慎,否则可能会导致迭代结果发散。
数值分析实验报告模板
数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告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);写成如上形式即可,下面给出主程序。
数值分析实验报告(一)(完整)
Newton插值伪代码:
/*输入参数
*x=(x0,x1….,xn),插值节点
*y=(y0,y1,…,yn);被插函数f(x)在插值节点处的函数值
*t求插值函数Pn(x)在t处的函数值
*返回值插值函数Pn(x)在t处的函数值
*/
procedureNewton
forj=0to n
d1jyj;
fori=j:n
d(i,j)=(d(i,j-1)-d(i-1,j-1))./(x0(i)-x0(i-j+1));%求差商表矩阵中各值
end
end
fork=1:m
z=x(k);
result=d(1,1);
temp=1;
fori=2:n
temp=temp*(z-x0(i-1));
result=result+d(i,i)*temp;
ifi≠j
li(t)li(t)*(t-xi)/(xi-xj);
endif
endfor
resultresult+yi*li(t) ;
endfor
returnresult;
end procedure
Lagrange插值子程序lagr1:
functiony=lagr1(x0,y0,x)%x0为插值点的向量,y0为插值点处的函数值向量,x为未知的点向量
数值分析实验报告
姓名
学号
系别
数学系
班级
09信息(2)班
主讲教师
王丹
指导教师
王丹
实验日期
专业
信息与计算科学
课程名称
数值分析
同组实验者
无
一、实验名称:
实验一、插值多项式的收敛性实验
数值分析实验报告1
p
得到m=(00)T
即M0=0 ;M1=;M2=;M3=;M4=0
则根据三次样条函数定义,可得:
S(x)=
接着,在Command Window里输入画图的程序代码,
下面是画牛顿插值以及三次样条插值图形的程序:
x=[ ];
y=[ ];
plot(x,y)
hold on
for i=1:1:5
y(i)= *(x(i)*(x(i)*(x(i)*(x(i)*(x(i)*(x(i)*(x(i)
Pn=f(x0)+f[x0,x1](x-x0)+ f[x0,x1,x2](x-x0) (x-x1)+···+ f[x0,x1,···xn](x-x0) ···(x-xn-1)
我们要知道牛顿插值多项式的系数,即均差表中得部分均差。
在MATLAB的Editor中输入程序代码,计算牛顿插值中多项式系数的程序如下:
【实验原理】
《数值分析》第二章“插值法”的相关内容,包括:牛顿多项式插值,三次样条插值,拉格朗日插值的相应算法和相关性质。
【实验环境】(使用的软硬件)
软件:
MATLAB 2012a
硬件:
电脑型号:联想 Lenovo 昭阳E46A笔记本电脑
操作系统:Windows 8 专业版
处理器:Intel(R)Core(TM)i3 CPU M 350 @
实验内容:
【实验方案设计】
第一步,将书上关于三种插值方法的内容转化成程序语言,用MATLAB实现;第二步,分别用牛顿多项式插值,三次样条插值,拉格朗日插值求解不同的问题。
【实验过程】(实验步骤、记录、数据、分析)
实验的主要步骤是:首先分析问题,根据分析设计MATLAB程序,利用程序算出问题答案,分析所得答案结果,再得出最后结论。
数值分析实习报告总结
一、实习背景数值分析是数学的一个重要分支,它研究如何用数值方法求解数学问题。
随着计算机技术的飞速发展,数值分析在各个领域得到了广泛的应用。
为了提高自己的实践能力,我选择了数值分析作为实习课题,希望通过这次实习,能够掌握数值分析的基本方法,并将其应用于实际问题中。
二、实习过程1. 实习初期在实习初期,我首先了解了数值分析的基本概念、理论和方法。
通过阅读相关教材和文献,我对数值分析有了初步的认识。
接着,我学习了数值分析的基本方法,如泰勒展开、牛顿法、高斯消元法等。
2. 实习中期在实习中期,我选择了几个实际问题进行数值计算。
首先,我使用泰勒展开法求解一个简单的微分方程。
通过编写程序,我得到了微分方程的近似解。
然后,我运用牛顿法求解一个非线性方程组。
在实际计算过程中,我遇到了一些问题,如收敛性、迭代次数过多等。
通过查阅资料和请教导师,我找到了解决方法,成功求解了方程组。
3. 实习后期在实习后期,我进一步学习了数值分析的高级方法,如复化梯形公式、复化Simpson公式、自适应梯形法等。
这些方法在解决实际问题中具有更高的精度和效率。
我选择了一个具体的工程问题,运用复化梯形公式求解定积分。
在计算过程中,我遇到了区间细分、精度控制等问题。
通过不断尝试和调整,我得到了较为精确的积分值。
三、实习收获与体会1. 理论与实践相结合通过这次实习,我深刻体会到理论与实践相结合的重要性。
在实习过程中,我不仅学习了数值分析的理论知识,还将其应用于实际问题中。
这使我更加深刻地理解了数值分析的基本方法,提高了自己的实践能力。
2. 严谨的学术态度在实习过程中,我养成了严谨的学术态度。
在编写程序、进行数值计算时,我注重细节,力求精确。
这使我更加注重学术规范,提高了自己的学术素养。
3. 团队合作精神实习过程中,我与其他同学进行了交流与合作。
在解决实际问题时,我们互相学习、互相帮助,共同完成了实习任务。
这使我更加懂得团队合作的重要性,提高了自己的团队协作能力。
数值分析—实验报告1
wc=yi-jqz
wc = 0.00487093023460 数据分析:
表:ln(0.6)
内插
外插
x
0.4
0.5
0.7
0.7
0.8
0.9
f(x) -0.916291 -0.693147 -0.356675 -0.356675 -0.223144 -0.105361
yi
-0.50660833333333
-0.693147
-0.356675
试用 Lagrange 插值多项式来计算 ln(0.6)的近似值并估计误差。
运行结果:
format long
x=[0.40 0.50 0.70];y=[-0.916291 -0.693147
-0.356675];xin=0.6;yi=lg201541110131(x,y,xin)
实验仪器:
1、支持 Intel Pentium Ⅲ及其以上 CPU,内存 256MB 以上、硬盘 1GB 以上容量的微机; 软件配
有 Windows98/2000/XP 操作系统及 MATLAB 软件等。
2、了解 MATLAB 等软件的特点及系统组成,在电脑上操作 MATLAB 等软件。
实验内容、步骤及程序: 一、Lagrange 插值函数 程序: function yi=lg201541110131(x,y,xin) n=length(x); p=zeros(1,n); for k=1:n
一阶均差
2.23144000000000 -1.83026666666667
1.68236000000000
0
0
0
二阶均差
三阶均差
-0.916291000000000
工程数学—数值分析实验报告(一)
工程数学—数值分析实验报告(一)2010年10月23日郑州轻工业学院 机电工程系制冷与低温专业 10级研究生 王哲一.实验目的通过本实验初步了解学习数值分析的课程内涵,来解决现实生活中,工程应用中的线性方程组的问题,利用高斯迭代解决线性方程组的问题,利用三角变换解决线性方程的问题等等。
主要了解掌握线性方程组的问题的消去解法、迭代解法。
掌握高斯消去法和迭代法。
培养编程与上机调试能力及应用数学软件(excel ,Matlab ,Linggo )等实现这几种方法。
二.实验内容设有线性方程组Ax = b ,其中⎪⎪⎪⎪⎪⎭⎫⎝⎛=nn n n n n a a a a a a a a a A212222111211为非奇异阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n x x x x 21⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n b bb b 21关于线性方程组的数值解法一般有两类:直接法与迭代法。
(1)直接法就是经过有限步算术运算,可求得方程组精确解的方法(若计算过程中没有舍入误差)。
但实际计算中由于舍入误差的存在和影响,这种方法也只能求得线性方程组的近似解。
(2)迭代法就是用某种极限过程去逐步逼近线性方程组精确解的方法。
迭代法具有需要计算机的存贮单元较少、程序设计简单、原始系数矩阵在计算过程中始终不变等优点,但存在收敛性及收敛速度问题。
迭代法是解大型稀疏矩阵方程组(尤其是由微分方程离散后得到的大型方程组)的重要方法。
(3)高斯(Gauss )消去法是解线性方程组最常用的方法之一。
基本思想:是通过逐步消元(行的初等变换),把方程组化为系数矩阵为三角形矩阵的同解方程组,然后用回代法解此三角形方程组(简单形式)得原方程组的解。
1.高斯消去法解线性方程组基本步骤: 1)消元将原方程组记为A (1)x =b (1),其中A (1)=(a ij (1))=(a ij ),b (1)=b ,(1)第一次消元⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=)1()1(2)1(1)1()1(2)1(1)1(2)1(22)1(21)1(1)1(12)1(11)1()1(]|[n nnn n n nb b b a a a a a a a a a b A⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⇒)2()2(2)1(1)2()2(2)2(2)2(22)1(1)1(12)1(1100n nnn n nb b b a a a a a a a]|[)2()2(b A = 其中:n i a a b b a a b b a a n j aa a aai i iii ji ijij,...,3,21,...,3,2)1(11)1(1)1(1)1(1)1(11)1(1)1()2()1(11)1(1)1(1)1(11)1(1)1()2(=⎪⎪⎭⎪⎪⎬⎫-==-=倍的减去—倍行的减去第—2)第k 次消元⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=)()()1(1)()()()()1(1)1(1)1(11)()(0]|[k n k k k nn k nkk knk kkn k k k b b b a a a a a a a b A]|[00)1()1()1()1(1)()1(1)1()1(1,)1(,1)1(1,1)()(1,)()1(1)1(11)1(1)1(11+++++++++++++++=⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⇒k k k n k k k k k nnk k n k nk k k k k kn k k k k kk n k k b A b b b b a a a a a a a a a a ank k i a a b b a a bba a k n k k j aa a a a k kkk ik k k k kk kkk ikk ik i k kk k ikk ijk kk k ik k ijk ij,...,2,1,...,2,1)()()()()()()()1()()()()()()()1(++=⎪⎪⎭⎪⎪⎬⎫-=++=-=++倍的减去—倍行的减去第—注:为减少计算量,令,)()(k kkk ik ik aa l =则n k k i bl bbn k k j a l a a k kik k i k i k ij ik k ij k ij ,...,2,1,...,2,1)()()1()()()1(++=⎭⎬⎫-=++=-=++3)当k =n –1时得⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=)()2(2)1(1)()2(2)2(22)1(1)1(12)1(11)()(]|[n n n nnn nn n b b b a a a a a a b A完成第n-1次消元后得到与原方程组等价的三角形方程组A (n)x=b (n)注:当det(A)≠0时,显然有a ii (i)≠0,(i=1,…,n),称为主元素。
数值分析实习报告
一、实习背景随着科学技术的飞速发展,数值分析在各个领域都得到了广泛的应用。
为了更好地掌握数值分析的基本理论和方法,提高自己的实践能力,我于2023年暑期参加了某科技有限公司的数值分析实习。
二、实习内容1. 数值微分在实习期间,我首先学习了数值微分的基本理论和方法。
通过实际操作,我掌握了使用中心差分法、前向差分法和后向差分法计算函数在某点的导数。
在实际应用中,我使用这些方法对工程问题中的函数进行了导数计算,为后续的数值积分和数值求解提供了基础。
2. 数值积分接下来,我学习了数值积分的基本理论和方法。
在实习过程中,我掌握了梯形法则、辛普森法则和柯特斯法则等数值积分方法。
通过实际操作,我能够对函数进行数值积分,并在实际工程问题中应用这些方法。
3. 线性方程组求解线性方程组在数值分析中具有广泛的应用。
在实习期间,我学习了高斯消元法、LU 分解法、Cholesky分解法等求解线性方程组的方法。
通过实际操作,我能够对大规模线性方程组进行求解,并在实际工程问题中应用这些方法。
4. 最优化方法最优化方法是数值分析中的重要分支。
在实习期间,我学习了梯度下降法、牛顿法、共轭梯度法等最优化方法。
通过实际操作,我能够对实际问题进行最优化求解,并在实际工程问题中应用这些方法。
5. 数值求解微分方程微分方程在科学研究和工程应用中具有重要作用。
在实习期间,我学习了欧拉法、龙格-库塔法等数值求解微分方程的方法。
通过实际操作,我能够对微分方程进行数值求解,并在实际工程问题中应用这些方法。
三、实习收获1. 提高了数值分析的理论水平。
通过实习,我对数值分析的基本理论和方法有了更深入的理解。
2. 增强了实际操作能力。
在实习过程中,我熟练掌握了各种数值分析方法的实际操作,提高了自己的动手能力。
3. 培养了团队合作精神。
在实习过程中,我与团队成员密切合作,共同完成实习任务,提高了自己的团队协作能力。
4. 了解了数值分析在工程应用中的重要性。
数值分析实验报告
南京信息工程大学数值分析实验报告(一)实验名称数值分析 实验日期 2016.5.13得分指导教师专业 数学与应用数学 年级 大二 班级 应用数学1班 姓名 丁晨 学号 20141323001一、 实验目的(1) 了解插值的基本原理(2) 了解拉格朗日插值,牛顿差值和样条差值的基本思想; 二、实验内容试用4次牛顿插值多项式P 4(x )及三次样条函数S (x )对数据进行插值。
用图给出{(x i,y i ),x i =0.2+0.08i,i=0,1,11,10}P 4(x)及S (x )2.在区间[1,1]上,取n=10,20用两组等距节点对龙格函数f(x)=22511x作三次样条差值,对每个n 分别画出差值函数和f (x )的图形。
3.三、实验求解 1.程序代码: clc;x1=[0.2 0.4 0.6 0.8 1.0];y1=[0.98 0.92 0.81 0.64 0.38]; n=length(y1); c=y1(:);for j=2:n %求差商 for i=n:-1:jc(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1)); end endsyms x df d;df(1)=1;d(1)=y1(1);for i=2:n %求牛顿差值多项式 df(i)=df(i-1)*(x-x1(i-1)); d(i)=c(i-1)*df(i); endP4=vpa(sum(d),5) %P4即为4次牛顿插值多项式,并保留小数点后5位数 pp=csape(x1,y1, 'variational');%调用三次样条函数 q=pp.coefs;q1=q(1,:)*[(x-.2)^3;(x-.2)^2;(x-.2);1]; q1=vpa(collect(q1),5)q2=q(1,:)*[(x-.4)^3;(x-.4)^2;(x-.4);1]; q2=vpa(collect(q2),5)q3=q(1,:)*[(x-.6)^3;(x-.6)^2;(x-.6);1]; q3=vpa(collect(q3),5)q4=q(1,:)*[(x-.8)^3;(x-.8)^2;(x-.8);1]; q4=vpa(collect(q4),5)%求解并化简多项式运行matlab 程序结果如下:P4 =0.98*x - 0.3*(x - 0.2)*(x - 0.4) - 0.625*(x - 0.2)*(x - 0.4)*(x - 0.6) - 0.20833*(x - 0.2)*(x - 0.4)*(x - 0.8)*(x - 0.6) + 0.784q1 =- 1.3393*x^3 + 0.80357*x^2 - 0.40714*x + 1.04q2 =- 1.3393*x^3 + 1.6071*x^2 - 0.88929*x + 1.1643q3 =- 1.3393*x^3 + 2.4107*x^2 - 1.6929*x + 1.4171q4 =- 1.3393*x^3 + 3.2143*x^2 - 2.8179*x + 1.86290.10.20.30.40.50.60.70.80.910.40.50.60.70.80.911.1所以4次牛顿差值多项式4()P x =0.98*x - 0.3*(x - 0.2)*(x - 0.4) - 0.625*(x - 0.2)*(x- 0.4)*(x - 0.6) - 0.20833*(x - 0.2)*(x - 0.4)*(x - 0.8)*(x - 0.6) + 0.784三次样条差值多项式()Q x323232321.33930.803570.40714 1.04,[0.2,0.4]1.3393 1.60710.88929 1.1643,[0.4,0.6]1.3393 2.4107 1.6929 1.4171,[0.6,0.8]1.3393 3.21432.8179 1.8629,[0.8,1.0]x x x x x x x x x x x x x x x x ⎧-+-+∈⎪-+-+∈⎪⎨-+-+∈⎪⎪-+-+∈⎩2.三次样条差值: 1.M 文件: x=-1:0.0001:1; y=1./(1+25*x.^2); x1=-1:0.2:1;y1=interp1(x,y,x1,'spline'); plot(x1,y1,'o',x,y) grid on xlabel('x') ylabel('y') y1matlab 运行结果如下: y1 =0.0385 0.0588 0.1000 0.2000 0.5000 1.0000 0.5000 0.2000 0.1000 0.05880.0385。
数值分析实习报告
一、实习背景数值分析是数学的一个重要分支,它主要研究如何利用计算机来求解数学问题。
随着计算机技术的飞速发展,数值分析在各个领域都得到了广泛的应用。
为了更好地了解数值分析在工程、科学和商业领域的应用,提高自己的实际操作能力,我参加了为期一个月的数值分析实习。
二、实习内容1. 学习数值分析基本理论实习期间,我首先系统地学习了数值分析的基本理论,包括插值、数值微分、数值积分、矩阵运算、线性方程组求解、优化方法等。
通过学习,我对数值分析有了更加全面的认识。
2. 实践操作(1)插值法:我学习了Lagrange插值、Newton插值等插值方法,并使用MATLAB进行编程实现。
通过插值,我能够根据已知数据点预测未知点,为工程、科学和商业领域提供数据支持。
(2)数值微分:我学习了有限差分法、辛普森法等数值微分方法,并使用MATLAB进行编程实现。
通过数值微分,我能够求解函数在某一点的导数,为工程、科学和商业领域提供计算支持。
(3)数值积分:我学习了梯形法、辛普森法等数值积分方法,并使用MATLAB进行编程实现。
通过数值积分,我能够求解函数在某一区间上的定积分,为工程、科学和商业领域提供计算支持。
(4)矩阵运算:我学习了矩阵的初等变换、矩阵的逆、矩阵的秩等矩阵运算方法,并使用MATLAB进行编程实现。
通过矩阵运算,我能够求解线性方程组、特征值和特征向量等问题。
(5)线性方程组求解:我学习了高斯消元法、矩阵分解法等线性方程组求解方法,并使用MATLAB进行编程实现。
通过线性方程组求解,我能够求解工程、科学和商业领域中的各种问题。
(6)优化方法:我学习了梯度下降法、牛顿法等优化方法,并使用MATLAB进行编程实现。
通过优化方法,我能够求解各种优化问题,为工程、科学和商业领域提供解决方案。
3. 项目实践在实习期间,我参与了一个实际项目——某公司产品的成本优化。
该项目要求根据产品的各项参数,计算出最优的生产方案,以降低成本。
数值分析实验报告1
数值分析实验报告1数值分析上机实验报告(注:本实验报告中所有程序均为MATLAB语⾔程序)班级:姓名:学号:⼀章1、利⽤数值积分计算n I =21n x ex e -?dx (n=0,1,2,……). ⽬的:定积分数值求解原理:梯形公式法程序:clearformat long ;k=input('k=');m=input('m=');for n=1:kh=1/m;x=0:h:1;f=x.^n.*exp(x.^2);for i=1:ms(i)=(f(i)+f(i+1))*h/2;ends=sum(s);I(n)=exp(-1)*s;endI 运⾏结果:k=9m=1000I =Columns 1 through 60.3160604988 0.2309605799 0.1839401373 0.1535601302 0.1321211422 0.1161015912Columns 7 through 90.1036390735 0.0936475974 0.08544762262、利⽤秦九韶算法计算当0a =5,n a =21n a -+3;n=100,x=0.5;n=150,x=13多项式n p (x )=n a n x +…11n n a x --…1a x +0a 的值。
⽬的:通过调整程序以简化计算步骤,减少运算次数原理:秦久韶算法程序:n=input('n=');x=input('x=');a(1)=5;for k=1:n;a(k+1)=2.*a(k)+3;ends(n+1)=a(n+1);for i=n:-1:1s(i)=x.*s(i+1)+a(i);endPnx=s(1)运⾏结果:n=100x=0.5Pnx =802.0000000n=150x=13Pnx =1.4659714820e+2133、设0Y =28,按递推公式n Y = 1n Y -100Y ,500Y ≈27.982(五位有效数字),试问计算100Y 、500Y 将有多⼤的误差。
数值分析实验报告
数值分析实验报告一、实验目的数值分析是一门研究用计算机求解数学问题的数值方法及其理论的学科。
本次实验的目的在于通过实际操作和编程实现,深入理解和掌握数值分析中的常见算法,提高运用数值方法解决实际问题的能力,并对算法的精度、稳定性和效率进行分析和比较。
二、实验环境本次实验使用的编程语言为 Python,使用的开发工具为 PyCharm。
实验所依赖的主要库包括 NumPy、Matplotlib 等。
三、实验内容(一)函数逼近与插值1、拉格朗日插值法通过给定的离散数据点,构建拉格朗日插值多项式,对未知点进行函数值的估计。
2、牛顿插值法与拉格朗日插值法类似,但采用了不同的形式和计算方式。
(二)数值积分1、梯形公式将积分区间划分为若干个梯形,通过计算梯形面积之和来近似积分值。
2、辛普森公式基于抛物线拟合的方法,提高积分近似的精度。
(三)线性方程组求解1、高斯消元法通过逐行消元将线性方程组化为上三角形式,然后回代求解。
2、 LU 分解法将系数矩阵分解为下三角矩阵 L 和上三角矩阵 U,然后通过两次前代和回代求解。
(四)非线性方程求解1、二分法通过不断将区间一分为二,逐步缩小根所在的区间,直到满足精度要求。
2、牛顿迭代法利用函数的切线来逼近根,通过迭代逐步收敛到根的近似值。
四、实验步骤(一)函数逼近与插值1、拉格朗日插值法定义计算拉格朗日基函数的函数。
根据给定的数据点和待求点,计算插值多项式的值。
输出插值结果,并与真实值进行比较。
2、牛顿插值法计算差商表。
构建牛顿插值多项式。
进行插值计算和结果分析。
(二)数值积分1、梯形公式定义积分区间和被积函数。
按照梯形公式计算积分近似值。
分析误差。
2、辛普森公式同样定义积分区间和被积函数。
运用辛普森公式计算积分近似值。
比较与梯形公式的精度差异。
(三)线性方程组求解1、高斯消元法输入系数矩阵和右端项向量。
进行消元操作。
回代求解方程。
输出解向量。
2、 LU 分解法对系数矩阵进行 LU 分解。
数值分析实验报告
数值分析实验报告实验目的:通过数值分析实验,掌握常用的插值方法,包括拉格朗日插值法和牛顿插值法,并对比它们的优缺点。
实验原理:插值法是一种在已知数据点的基础上,通过构造一个函数来逼近给定数据集以及这个函数本身。
其中,拉格朗日插值法采用一个多项式来逼近数据集,而牛顿插值法则采用一个多项式和差商来逼近。
实验步骤:1.使用拉格朗日插值法:a)根据给定的n+1个数据点,构造一个n次的插值多项式。
b)计算插值多项式在给定点x处的值。
2.使用牛顿插值法:a)根据给定的n+1个数据点,计算差商的递归表达式。
b)利用递归表达式计算插值多项式在给定点x处的值。
3.通过实验数据进行验证,并对比两种插值方法的优缺点。
实验结果与分析:以一个具体的实验数据为例,假设已知数据点为{(0,1),(1,3),(2,5)},要求在给定点x=0.5处进行插值。
1.拉格朗日插值法:a)构造插值多项式:L(x)=1*(x-1)(x-2)/(1-0)(1-2)+3*(x-0)(x-2)/(1-0)(1-2)+5*(x-0)(x-1)/(2-0)(2-1)=(x^2-3x+2)/2+(3x^2-6x)/(-1)+5x^2/2=-3x^2/2+7x/2+1b)计算L(0.5)=-3(0.5)^2/2+7(0.5)/2+1=22.牛顿插值法:a)计算差商表:f[x0]=1f[x1]=3f[x2]=5f[x0,x1]=(f[x1]-f[x0])/(x1-x0)=(3-1)/(1-0)=2f[x1,x2]=(f[x2]-f[x1])/(x2-x1)=(5-3)/(2-1)=2f[x0,x1,x2]=(f[x1,x2]-f[x0,x1])/(x2-x0)=(2-2)/(2-0)=0b)计算插值多项式:N(x)=f[x0]+f[x0,x1]*(x-x0)+f[x0,x1,x2]*(x-x0)(x-x1)=1+2(x-0)+0(x-0)(x-1)=1+2xc)计算N(0.5)=1+2(0.5)=2对比结果可得到拉格朗日插值法和牛顿插值法得到的插值点的值都为2,验证了所使用方法的正确性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析实验报告(一)2016级数学基地班尹烁翔320160928411一、问题重述:hamming级数求和二、问题分析级数为∑1k(k+x)∞k=1易知当X=1时,φ(1)=1我们可以考虑这个新级数:φ(x)−φ(1)用这个级数可以使精度更高,误差更小且迭代次数变少。
通分易得:φ(x)−φ(1)=1k(k+x)−1k(k+1)=1−xk(k+x)(k+1)我们还可以继续算得φ(2)及φ(x)−φ(2)这样精度会继续提高,且迭代次数也会减少。
下面考虑误差:由公式可得∑1−xk(k+x)(k+1)∞k=1<1k3<∫1k3∞n−1<10−10要把误差控制在范围内,需要k即迭代次数至少70001次。
三、算法实现:#include<iostream>#include<iomanip>>using namespace std;int main(){double sum;//sum为级数和double x;//x为代入的自变量int k=1;//k为迭代次数for (x=0; x<=10; x=x+0.1)//对0到10以内进行迭代运算,每次加0.1{sum=0;//每迭代完一个x,级数归零for (k=1; k<=70001; k++)//固定x并对k进行运算{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}for (x=11; x<=290; x++)//对11到290以内进行迭代运算,每次加1{sum=0;for (k=1; k<=70001; k++)//固定x{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}for (x=290; x<=300; x=x+0.1)//对290.1到300以内进行迭代运算,每次加0.1 {sum=0;for (k=1; k<=70001; k++)//固定x{sum=sum+1/(k*(k+x)*(k+1));}sum=(1-x)*sum+1.0;cout<<setiosflags(ios::fixed)<<" "<<setprecision(1)<<x;cout<<setiosflags(ios::fixed)<<" "<<setprecision(10)<<sum<<endl;}return 0;}四、数据结果:0.0 1.6449340667 0.1 1.5346072448 0.2 1.4408788415 0.3 1.3600825867 0.4 1.2895778007 0.5 1.2274112777 0.6 1.1721051961 0.7 1.1225193425 0.8 1.07775887270.9 1.03711091781.0 1.0000000000 1.1 0.9659560305 1.2 0.9345909181 1.3 0.9055811887 1.4 0.8786548819 1.5 0.853******* 1.6 0.8301644486 1.7 0.8082346082 1.8 0.78764591881.9 0.76827137672.0 0.7500000000 2.1 0.7327343381 2.2 0.7163884348 2.3 0.7008861540 2.4 0.6861597923 2.5 0.6721489224 2.6 0.6587994241 2.7 0.6460626684 2.8 0.63389482552.9 0.62225627673.0 0.6111111113 3.1 0.6004266954 3.2 0.5901732990 3.3 0.5803237751 3.4 0.5708532792 3.5 0.5617390263 3.6 0.5529600781 3.7 0.5444971556 3.8 0.53633247553.9 0.52844960504.0 0.5208333336 4.1 0.5134695598 4.2 0.5063451894 4.3 0.49944804604.4 0.49276679034.5 0.48629084784.6 0.48001034484.7 0.47391604974.8 0.46799932104.9 0.46225205975.0 0.45666666715.1 0.45123600545.2 0.44595336325.3 0.44081242345.4 0.43580723395.5 0.43093218145.6 0.42618196715.7 0.42155158445.8 0.41703629915.9 0.41263163046.0 0.40833333386.1 0.40413738606.2 0.40003996986.3 0.39603746096.4 0.39212641636.5 0.38830356206.6 0.38456578316.7 0.38091011406.8 0.37733372946.9 0.37383393577.0 0.37040816397.1 0.36705396157.2 0.36376898657.3 0.36055100097.4 0.35739786507.5 0.35430753177.6 0.35127804177.7 0.34830751887.8 0.34539416537.9 0.34253625788.0 0.33973214368.1 0.33698023688.2 0.33427901518.3 0.33162701648.4 0.32902283598.5 0.32646512338.6 0.32395258008.7 0.32148395698.8 0.31905805168.9 0.31667370669.0 0.31432980689.1 0.31202527809.2 0.30975908459.3 0.30753022799.4 0.30533774499.5 0.30318070609.6 0.30105821429.7 0.29896940319.8 0.29691343609.9 0.294889504210.0 0.292896826311.0 0.274534305112.0 0.258600891013.0 0.244625674714.0 0.232254453215.0 0.221215267616.0 0.211295563617.0 0.202326620618.0 0.194172672719.0 0.186723141720.0 0.179886984821.0 0.173588511822.0 0.167764240823.0 0.162360502724.0 0.157331593125.0 0.152638329626.0 0.148246914727.0 0.144128030628.0 0.140256111329.0 0.136608754530.0 0.133166240731.0 0.129911138432.0 0.126827978033.0 0.123902979834.0 0.121123826635.0 0.118479472636.0 0.115959981337.0 0.113556388138.0 0.111260583139.0 0.109065210040.0 0.106963580041.0 0.104949596342.0 0.103017690143.0 0.101162762944.0 0.099380138345.0 0.097665518246.0 0.096014944747.0 0.094424767348.0 0.092891612649.0 0.091412358750.0 0.089984111851.0 0.088604185152.0 0.087270081253.0 0.085979474654.0 0.084730197955.0 0.083520227556.0 0.082347672757.0 0.081210763958.0 0.080107843659.0 0.079037357560.0 0.077997846261.0 0.076987938262.0 0.076006343163.0 0.075051846164.0 0.074123301865.0 0.073219629966.0 0.072339810267.0 0.071482878568.0 0.070647922969.0 0.069834080070.0 0.069040532171.0 0.068266503872.0 0.067511259473.0 0.066774100374.0 0.066054362875.0 0.065351416076.0 0.064664659377.0 0.063993521278.0 0.063337457279.0 0.062695948280.0 0.062068499081.0 0.061454637382.0 0.0608539117 83.0 0.060265891284.0 0.059690163685.0 0.059126334986.0 0.058574027887.0 0.058032881288.0 0.057502549189.0 0.056982699990.0 0.056473015891.0 0.055973191792.0 0.055482935193.0 0.055001964994.0 0.054530011295.0 0.054066814696.0 0.053612125897.0 0.053165704998.0 0.052727321299.0 0.0522967526100.0 0.0518737853101.0 0.0514582132102.0 0.0510498380103.0 0.0506484683104.0 0.0502539197105.0 0.0498660140106.0 0.0494845798107.0 0.0491094512108.0 0.0487404681109.0 0.0483774760110.0 0.0480203256111.0 0.0476688725112.0 0.0473229772113.0 0.0469825047114.0 0.0466473244115.0 0.0463173100116.0 0.0459923394117.0 0.0456722940118.0 0.0453570593119.0 0.0450465242120.0 0.0447405812121.0 0.0444391259122.0 0.0441420572123.0 0.0438492771124.0 0.0435606905125.0 0.0432762052126.0 0.0429957316127.0 0.0427191829128.0 0.0424464746129.0 0.0421775249130.0 0.0419122542131.0 0.0416505852132.0 0.0413924428133.0 0.0411377539134.0 0.0408864476135.0 0.0406384549136.0 0.0403937087137.0 0.0401521437138.0 0.0399136963139.0 0.0396783048140.0 0.0394459089141.0 0.0392164502142.0 0.0389898715143.0 0.0387661174144.0 0.0385451338145.0 0.0383268679146.0 0.0381112684147.0 0.0378982853148.0 0.0376878698149.0 0.0374799743150.0 0.0372745524151.0 0.0370715590152.0 0.0368709499153.0 0.0366726822154.0 0.0364767137155.0 0.0362830036156.0 0.0360915118157.0 0.0359021994158.0 0.0357150281159.0 0.0355299609160.0 0.0353469614161.0 0.0351659940162.0 0.0349870241163.0 0.0348100178164.0 0.0346349421165.0 0.0344617645166.0 0.0342904534167.0 0.0341209780168.0 0.0339533080169.0 0.0337874138170.0 0.0336232666171.0 0.0334608381 172.0 0.0333001006 173.0 0.0331410270 174.0 0.0329835910 175.0 0.0328277666 176.0 0.0326735285 177.0 0.0325208518 178.0 0.0323697123 179.0 0.0322200861 180.0 0.0320719500 181.0 0.0319252812 182.0 0.0317800574 183.0 0.0316362566 184.0 0.0314938575 185.0 0.0313528391 186.0 0.0312131807 187.0 0.0310748622 188.0 0.0309378640 189.0 0.0308021665 190.0 0.0306677509 191.0 0.0305345985 192.0 0.0304026910 193.0 0.0302720107 194.0 0.0301425399 195.0 0.0300142615 196.0 0.029******* 197.0 0.029******* 198.0 0.029******* 199.0 0.029******* 200.0 0.029******* 201.0 0.029******* 202.0 0.029******* 203.0 0.029******* 204.0 0.028******* 205.0 0.028******* 206.0 0.028******* 207.0 0.028******* 208.0 0.028******* 209.0 0.028******* 210.0 0.028******* 211.0 0.028******* 212.0 0.028******* 213.0 0.027******* 214.0 0.027******* 215.0 0.027*******216.0 0.027*******217.0 0.027*******218.0 0.027*******219.0 0.027*******220.0 0.027*******221.0 0.027*******222.0 0.0269466153223.0 0.0268458877224.0 0.0267459700225.0 0.0266468523226.0 0.0265485248227.0 0.0264509777228.0 0.0263542015229.0 0.0262581869230.0 0.0261629247231.0 0.0260684057232.0 0.025*******233.0 0.025*******234.0 0.025*******235.0 0.025*******236.0 0.025*******237.0 0.025*******238.0 0.025*******239.0 0.025*******240.0 0.025*******241.0 0.025*******242.0 0.025*******243.0 0.024*******244.0 0.024*******245.0 0.024*******246.0 0.024*******247.0 0.024*******248.0 0.024*******249.0 0.024*******250.0 0.024*******251.0 0.024*******252.0 0.024*******253.0 0.024*******254.0 0.024*******255.0 0.024*******256.0 0.023*******257.0 0.023*******258.0 0.023*******259.0 0.023*******260.0 0.023*******261.0 0.023*******262.0 0.023*******263.0 0.023*******264.0 0.023*******265.0 0.023*******266.0 0.023*******267.0 0.023*******268.0 0.023*******269.0 0.022*******270.0 0.022*******271.0 0.022*******272.0 0.022*******273.0 0.022*******274.0 0.022*******275.0 0.022*******276.0 0.022*******277.0 0.022*******278.0 0.022*******279.0 0.022*******280.0 0.022*******281.0 0.022*******282.0 0.022*******283.0 0.021*******284.0 0.021*******285.0 0.021*******286.0 0.021*******287.0 0.021*******288.0 0.021*******289.0 0.021*******290.0 0.021*******290.1 0.021*******290.2 0.021*******290.3 0.021*******290.4 0.021*******290.5 0.021*******290.6 0.021*******290.7 0.021*******290.8 0.021*******290.9 0.021*******291.0 0.021*******291.1 0.021*******291.2 0.021*******291.3 0.021******* 291.4 0.021******* 291.5 0.021******* 291.6 0.021******* 291.7 0.021******* 291.8 0.021******* 291.9 0.021******* 292.0 0.021******* 292.1 0.021******* 292.2 0.021******* 292.3 0.021******* 292.4 0.021******* 292.5 0.021******* 292.6 0.021******* 292.7 0.021******* 292.8 0.021******* 292.9 0.021******* 293.0 0.021******* 293.1 0.021******* 293.2 0.021******* 293.3 0.021******* 293.4 0.021******* 293.5 0.021******* 293.6 0.021******* 293.7 0.021******* 293.8 0.021******* 293.9 0.021******* 294.0 0.021******* 294.1 0.021******* 294.2 0.021******* 294.3 0.021******* 294.4 0.021******* 294.5 0.021******* 294.6 0.021******* 294.7 0.021******* 294.8 0.021******* 294.9 0.021******* 295.0 0.021******* 295.1 0.021******* 295.2 0.021******* 295.3 0.021******* 295.4 0.021******* 295.5 0.021******* 295.6 0.021******* 295.7 0.021******* 295.8 0.021******* 295.9 0.021******* 296.0 0.021******* 296.1 0.021******* 296.2 0.021******* 296.3 0.021******* 296.4 0.021******* 296.5 0.021******* 296.6 0.021******* 296.7 0.021******* 296.8 0.021******* 296.9 0.021******* 297.0 0.021******* 297.1 0.021******* 297.2 0.021******* 297.3 0.021******* 297.4 0.021******* 297.5 0.021******* 297.6 0.021******* 297.7 0.021******* 297.8 0.021******* 297.9 0.021******* 298.0 0.021******* 298.1 0.021******* 298.2 0.021******* 298.3 0.021******* 298.4 0.021******* 298.5 0.021******* 298.6 0.021******* 298.7 0.021******* 298.8 0.021******* 298.9 0.021******* 299.0 0.021******* 299.1 0.020******* 299.2 0.020******* 299.3 0.020******* 299.4 0.020******* 299.5 0.020******* 299.6 0.020******* 299.7 0.020******* 299.8 0.020******* 299.9 0.020******* 300.0 0.020*******。