计算方法、实验题目

合集下载

标准加入法的计算例题

标准加入法的计算例题

标准加入法的计算例题在化学实验中,我们经常会遇到需要计算溶液的浓度或者稀释比例的情况。

而标准加入法是一种常用的溶液配制方法,通过这种方法可以准确地确定溶液的浓度和配制的比例。

下面,我们通过几个具体的计算例题来详细介绍标准加入法的计算步骤。

例题一:某化学实验需要配制0.1mol/L的硫酸溶液,现有浓度为2mol/L的硫酸溶液,问应该取多少毫升的2mol/L硫酸溶液加入到容器中,并加入适量的水,才能得到0.1mol/L的硫酸溶液?解题步骤:1. 根据标准加入法的原理,我们可以利用下面的公式来计算:C1V1 + C2V2 = C3V3。

其中,C1为原始溶液的浓度,V1为原始溶液的体积,C2为加入的溶液的浓度,V2为加入的溶液的体积,C3为最终溶液的浓度,V3为最终溶液的体积。

2. 根据题目中的条件,我们可以列出方程:2mol/L V1 + 0mol/L V2 = 0.1mol/L V3。

3. 由于加入的是纯水,所以C2为0mol/L,V2可以取任意值,我们取V2为V3-V1。

4. 将V2代入方程中,得到:2mol/L V1 = 0.1mol/L (V3-V1)。

5. 整理方程,得到:V1 = 0.1/2 V3 0.1/2 V1。

6. 化简方程,得到:1.1 V1 = 0.1/2 V3。

7. 解方程,得到:V1 = 0.1/2.1 V3。

通过以上步骤,我们可以得到V1和V3之间的关系,从而计算出V1的值。

这样就可以确定需要取多少毫升的2mol/L硫酸溶液加入到容器中,并加入适量的水,才能得到0.1mol/L的硫酸溶液。

例题二:某化学实验需要配制100mL的0.04mol/L的盐酸溶液,现有浓度为0.1mol/L的盐酸溶液,问应该取多少毫升的0.1mol/L盐酸溶液加入到容器中,并加入适量的水,才能得到所需的盐酸溶液?解题步骤:1. 同样地,我们可以利用标准加入法的原理,利用公式C1V1 + C2V2 = C3V3来计算。

过氧化钙制备实验题目

过氧化钙制备实验题目

过氧化钙制备实验题目
过氧化钙制备实验题目可以根据实验目的、实验原理、实验步骤、实验结果与结论等角度进行设计。

以下是一个可能的题目示例:
设计性实验:制备过氧化钙并测定其纯度
一、实验目的:
1. 掌握过氧化钙的制备原理和方法。

2. 学习利用滴定法测定过氧化钙纯度的方法。

二、实验原理:
过氧化钙可用氢氧化钙、过氧化氢和氨水为原料制备,化学方程式为:
2Ca(OH)2 + 2H2O2 + 2NH3·H2O = 2CaO2·2H2O + 4H2O
三、实验步骤:
1. 在烧杯中加入适量的氢氧化钙,加入适量的水搅拌成糊状。

2. 缓慢加入过氧化氢溶液,同时搅拌,观察反应现象。

3. 当反应达到终点时,将烧杯中的混合物过滤,用少量水洗涤沉淀,然后将沉淀晾干。

4. 取少量制备得到的过氧化钙样品,用稀硫酸溶解,然后用高锰酸钾标准溶液进行滴定,根据消耗的高锰酸钾的量计算过氧化钙的纯度。

四、实验结果与结论:
根据实验结果计算过氧化钙的纯度,与理论值进行比较,分析误差原因,提高实验技能和实验水平。

五、思考题:
1. 在制备过程中,如何控制反应条件以提高过氧化钙的产率?
2. 在滴定过程中,如何保证实验结果的准确性?。

化学常见解题方法总结

化学常见解题方法总结

化学常见解题方法总结在化学学习的过程中,解题是不可避免的一项重要任务。

面对各种类型的化学问题,我们需要掌握一些常见的解题方法,以便能够高效地解决问题。

本文将总结一些常见的化学解题方法,并对其进行简要介绍和示例分析。

一、化学计算问题解题方法化学计算问题主要涉及到题目中给定的数据,要求我们根据各种已知的信息计算出所需要的结果。

常见的化学计算问题解题方法包括:1. 单位换算法:在计算中,经常需要将一个单位转换为另一个单位。

例如,将摄氏度转换为华氏度或开尔文度,或将摩尔转换为克等。

在解题时,首先要明确给定的单位和目标单位,然后利用单位之间的换算关系进行计算。

2. 平衡化学方程式法:当题目给出了化学反应的平衡化学方程式时,我们可以利用化学方程式所包含的物质的量比关系进行计算。

例如,已知一定量的反应物,要求计算生成的产物的物质的量。

3. 氧化还原反应法:在氧化还原反应中,电子的转移是核心。

通过观察反应物和产物的电荷差异,可以确定电子转移的数量,从而计算出物质的量。

此外,还需要根据氧化还原反应的平衡方程式来计算物质的量。

4. 摩尔浓度计算法:摩尔浓度是指溶液中溶质的物质的量与溶液体积的比值,通常用mol/L表示。

在计算摩尔浓度时,需要按照溶质的物质的量和溶液的体积进行计算。

5. 理想气体定律法:理想气体定律是描述理想气体行为的基本定律,包括波义尔定律、查理定律和盖-吕萨克定律。

在计算气体的性质或者气体在一定条件下的变化时,可以利用理想气体定律进行计算。

二、化学实验问题解题方法化学实验问题通常涉及到实验步骤、条件和实验结果的分析。

常见的化学实验问题解题方法包括:1. 实验方法分析法:通过分析题目中给出的实验步骤,从中找到关键点和主要步骤,根据化学原理进行推理和解答。

例如,根据实验条件和结果,判断反应类型、生成的产物以及反应机理。

2. 数据处理和分析法:在化学实验中,常常需要处理实验数据和进行数据分析。

例如,通过实验数据绘制图表、计算平均值或标准差,并进行数据比较和结果解释。

计算方法-插值方法实验

计算方法-插值方法实验

实验一插值方法一. 实验目的(1)熟悉数值插值方法的基本思想,解决某些实际插值问题,加深对数值插值方法的理解。

(2)熟悉Matlab 编程环境,利用Matlab 实现具体的插值算法,并进行可视化显示。

二. 实验要求用Matlab 软件实现Lagrange 插值、分段线性插值、三次Hermite 插值、Aitken 逐步插值算法,并用实例在计算机上计算和作图。

三. 实验内容1. 实验题目 (1)已知概率积分dxe y xx ⎰-=22π的数据表构造适合该数据表的一次、二次和三次Lagrange 插值公式,输出公式及其图形,并计算x =0.472时的积分值。

答:①一次插值公式:输入下面内容就可以得到一次插值结果 >> X=[0.47,0.48];Y=[0.4937452,0.5027498]; >> x=0.472;>> (x-X(2))/(X(1)-X(2))*Y(1)+(x-X(1))/(X(2)-X(1))*Y(2)ans =0.495546120000000>>②两次插值公式为:输入下面内容就可以得到两次插值结果>> X=[0.46,0.47,0.48];Y=[0.4846555,0.4937452,0.5027498]; >> x=0.472;>>(x-X(2))*(x-X(3))/((X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(1))*(x-X(3))/((X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(2))*(x-X(1))/((X(3)-X(2))*(X(3)-X(1)))*Y(3)i 0123x 0.46 047 0.48 0.49 y0.4846555 0.4937452 0.5027498 0.5116683ans =0.495552928000000>>③三次插值公式为:输入下面内容就可以得到三次插值结果>> X=[0.46,0.47,0.48,0.49];Y=[0.4846555,0.4937452,0.5027498,0.5116683];>> x=0.472;>>(x-X(2))*(x-X(3))*(x-X(4))/((X(1)-X(4))*(X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(4))*( x-X(1))*(x-X(3))/((X(2)-X(4))*(X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(4))*(x-X(2))*( x-X(1))/((X(3)-X(4))*(X(3)-X(2))*(X(3)-X(1)))*Y(3)+(x-X(3))*(x-X(2))*(x-X(1))/(( X(4)-X(1))*(X(4)-X(2))*(X(4)-X(3)))*Y(4)ans =0.495552960000000输入下面内容,绘出三点插值的图:>> X=[0.46,0.47,0.48,0.49];Y=[0.4846555,0.4937452,0.5027498,0.5116683];>> x=linspace(0.46,0.49);>>y=(x-X(2)).*(x-X(3)).*(x-X(4))/((X(1)-X(4))*(X(1)-X(2))*(X(1)-X(3)))*Y(1)+(x-X(4) ).*(x-X(1)).*(x-X(3))/((X(2)-X(4))*(X(2)-X(1))*(X(2)-X(3)))*Y(2)+(x-X(4)).*(x-X(2) ).*(x-X(1))/((X(3)-X(4))*(X(3)-X(2))*(X(3)-X(1)))*Y(3)+(x-X(3)).*(x-X(2)).*(x-X(1) )/((X(4)-X(1))*(X(4)-X(2))*(X(4)-X(3)))*Y(4);>>plot(x,y)(注意上面的“.*”不能用“*”替代);(2)将区间[-5,5]分为10等份,求作211)(x x f +=的分段线性插值函数,输出函数表达式及其图形,并计算x =3.3152时的函数值。

计算方法实验报告

计算方法实验报告

班级:地信11102班序号: 20姓名:任亮目录计算方法实验报告(一) (3)计算方法实验报告(二) (6)计算方法实验报告(三) (9)计算方法实验报告(四) (13)计算方法实验报告(五) (18)计算方法实验报告(六) (22)计算方法实验报告(七) (26)计算方法实验报告(八) (28)计算方法实验报告(一)一、实验题目:Gauss消去法解方程组二、实验学时: 2学时三、实验目的和要求1、掌握高斯消去法基础原理2、掌握高斯消去法法解方程组的步骤3、能用程序语言对Gauss消去法进行编程实现四、实验过程代码及结果1、实验算法及其代码模块设计(1)、建立工程,建立Gauss.h头文件,在头文件中建类,如下:class CGauss{public:CGauss();virtual ~CGauss();public:float **a; //二元数组float *x;int n;public:void OutPutX();void OutputA();void Init();void Input();void CalcuA();void CalcuX();void Calcu();};(2)、建立Gauss.cpp文件,在其中对个函数模块进行设计2-1:构造函数和析构函数设计CGauss::CGauss()//构造函数{a=NULL;x=NULL;cout<<"CGauss类的建立"<<endl;}CGauss::~CGauss()//析构函数{cout<<"CGauss类撤销"<<endl;if(a){for(int i=1;i<=n;i++)delete a[i];delete []a;}delete []x;}2-2:函数变量初始化模块void CGauss::Init()//变量的初始化{cout<<"请输入方程组的阶数n=";cin>>n;a=new float*[n+1];//二元数组初始化,表示行数for(int i=1;i<=n;i++){a[i]=new float[n+2];//表示列数}x=new float[n+1];}2-3:数据输入及输出验证函数模块void CGauss::Input()//数据的输入{cout<<"--------------start A--------------"<<endl;cout<<"A="<<endl;for(int i=1;i<=n;i++)//i表示行,j表示列{for(int j=1;j<=n+1;j++){cin>>a[i][j];}}cout<<"--------------- end --------------"<<endl;}void CGauss::OutputA()//对输入的输出验证{cout<<"-----------输出A的验证-----------"<<endl;for(int i=1;i<=n;i++){for(int j=1;j<=n+1;j++){cout<<a[i][j]<<" ";}cout<<endl;}cout<<"---------------END--------------"<<endl;}2-4:消元算法设计及实现void CGauss::CalcuA()//消元函数for(int k=1 ;k<n;k++){for(int i=k+1;i<=n;i++){double lik=a[i][k]/a[k][k];for(int j=k;j<=n+1;j++){a[i][j]-=lik*a[k][j];}a[i][k]=0; //显示消元的效果}}}2-5:回代计算算法设计及函数实现void CGauss::CalcuX()//回带函数{for(int i=n;i>=1;i--){double s=0;for(int j=i+1;j<=n;j++){s+=a[i][j]*x[j];}x[i]=(a[i][n+1]-s)/a[i][i];}}2-6:结果输出函数模块void CGauss::OutPutX()//结果输出函数{cout<<"----------------X---------------"<<endl;for(int i=1 ;i<=n;i++){cout<<"x["<<i<<"]="<<x[i]<<endl;}}(3)、“GAUSS消元法”主函数设计int main(int argc, char* argv[]){CGauss obj;obj.Init();obj.Input();obj.OutputA();obj.CalcuA();obj.OutputA();obj.CalcuX();obj.OutPutX();//obj.Calcu();return 0;2、实验运行结果计算方法实验报告(二)一、实验题目:Gauss列主元消去法解方程组二、实验学时: 2学时三、实验目的和要求1、掌握高斯列主元消去法基础原理(1)、主元素的选取(2)、代码对主元素的寻找及交换2、掌握高斯列主元消去法解方程组的步骤3、能用程序语言对Gauss列主元消去法进行编程实现四、实验过程代码及结果1、实验算法及其代码模块设计(1)、新建头文件CGuassCol.h,在实验一的基础上建立类CGauss的派生类CGuassCol公有继承类CGauss,如下:#include "Gauss.h"//包含类CGauss的头文件class CGaussCol:public CGauss{public:CGaussCol();//构造函数virtual ~CGaussCol();//析构函数public:void CalcuA();//列主元的消元函数int FindMaxIk(int k);//寻找列主元函数void Exchange(int k,int ik);//交换函数void Calcu();};(2)、建立CGaussCol.cpp文件,在其中对个函数模块进行设计2-1:头文件的声明#include "stdafx.h"#include "CGuassCol.h"#include "math.h"#include "iostream.h"2-2:派生类CGaussCol的构造函数和析构函数CGaussCol::CGaussCol()//CGaussCol类构造函数{cout<<"CGaussCol类被建立"<<endl;}CGaussCol::~CGaussCol()//CGaussCol类析构函数{cout<<"~CGaussCol类被撤销"<<endl;}2-3:高斯列主元消元函数设计及代码实现void CGaussCol::CalcuA()//{for(int k=1 ;k<n;k++){int ik=this->FindMaxIk(k);if(ik!=k)this->Exchange(k,ik);for(int i=k+1;i<=n;i++){float lik=a[i][k]/a[k][k];for(int j=k;j<=n+1;j++){a[i][j]-=lik*a[k][j];}}}}2-4:列主元寻找的代码实现int CGaussCol::FindMaxIk(int k)//寻找列主元{float max=fabs(a[k][k]);int ik=k;for(int i=k+1;i<=n;i++){if(max<fabs(a[i][k])){ik=i;max=fabs(a[i][k]);}}return ik;}2-5:主元交换的函数模块代码实现void CGaussCol::Exchange(int k,int ik)//做交换{for(int j=k;j<=n+1;j++){float t=a[k][j];a[k][j]=a[ik][j];a[ik][j]=t;}}(3)、建立主函数main.cpp文件,设计“Gauss列主元消去法”主函数模块3-1:所包含头文件声明#include "stdafx.h"#include "Gauss.h"#include "CGuassCol.h"3-2:主函数设计int main(int argc, char* argv[]){CGaussCol obj;obj.Init();//调用类Gauss的成员函数obj.Input();//调用类Gauss的成员函数obj.OutputA();//调用类Gauss的成员函数obj.CalcuA();obj.OutputA();obj.CalcuX();obj.OutPutX();return 0;}2、实验结果计算方法实验报告(三)一、实验题目:Gauss完全主元消去法解方程组二、实验学时: 2学时三、实验目的和要求1、掌握高斯完全主元消去法基础原理;2、掌握高斯完全主元消去法法解方程组的步骤;3、能用程序语言对Gauss完全主元消去法进行编程(C++)实现。

计算方法实验三 不同曲线拟合比较讲解

计算方法实验三  不同曲线拟合比较讲解

计算方法C(2014-2015-2)【不同拟合曲线的比较】实验报告学号:******* 姓名:*****8课程教师:戴克俭教学班级:无实验三 不同拟合曲线的比较实验目的:掌握曲线拟合和最小二乘法的思想,比较不同拟合曲线的精度。

实验题目:下表给出了我国1949~1984年间的一些人口数据,分别按下述方案求最小二乘拟合函数及其偏差平方和Q ,求1969年人口并预测方案I 拟合函数取如下形式的三次多项式3322101)(x a x a x a a x F +++=方案II 用离散正交多项式求三次拟合多项式)(2x F 方案III 用离散正交多项式求四次拟合多项式)(3x F 方案IV 拟合函数为如下形式的函数10sin)(4xb a x F π+=算法流程图如下:i、方案1 ii、方案2iii、方案3iv、方案4源程序清单如下:i、方案1图1:求3次多项式图2:求偏差ii、方案2图3:求3次多项式iii、方案3图4:求4次多项式图5:求sin(π*X/10)图6:nafit函数M文件图7:命令行输入运算结果如下:⑴、方案1P(X)=745181.85611415-1135.160413656X+0.576328328X^2-0.000097520X^3 P(1969)= 11.4973750142380600 亿P(2000)=14.3408021503128110亿图8 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大⑵、方案2P(X)=732370.3125-1115.615844727X+0.566389024X^2-0.000095836X^3P(1969)= 4.1277828774182126亿P(2000)= 6.7190460005076602亿图9 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据误差很大⑶、方案3P(X)=30212.5+320.9404296875X-0.5357236862X^2+0.0002799341X^3-0.000000048X^4P(1969)= 627.7665998683078200 亿P(2000)= 671.4145749998278900 亿图10 拟合曲线:蓝色线表示拟合曲线P(X),红色线表示真实数据蓝色线的数值全是上百亿与实际严重不符误差巨大⑷、方案4P(X)=0.2414+7.7753sin(π*X/10)P(1969)= 2.6441006951177228 亿P(2000)= 0.2413990828363674 亿图11 拟合曲线:蓝色线表示拟合曲线P(X),整体看该曲线具有和sin近似的周期性质,与实际数据不是很符合。

丁丽娟《数值计算方法》五章课后实验题答案(源程序很详细,且运行无误)

丁丽娟《数值计算方法》五章课后实验题答案(源程序很详细,且运行无误)

丁丽娟《数值计算方法》五章课后实验题答案(源程序都是自己写的,很详细,且保证运行无误)我做的五章数值实验作业题目如下:第二章:1、2、3、4题第三章:1、2题第四章:1、2题第六章:2、3题第八章:1、2题第二章1:(1) 对A进行列主元素三角分解:function [l u]=myfun(A) n=size(A); for k=1:n for i=k:n sum=0; m=k; for j=1:(k-1) sum=sum+A(i,j)*A(j,k); end s(i)=A(i,k)-sum; if abs(s(m))<abs(s(i)) m=i; end end for j=1:n c=A(m,j); A(m,j)=A(k,j); A(k,j)=c; end for j=k:n sum=0; for r=1:(k-1) sum=sum+A(k,r)*A(r,j); end u(k,j)=A(k,j)-sum; A(k,j)=u(k,j); end for i=1:n l(i,i)=1; end for i=(k+1):n sum=0; for r=1:(k-1) sum=sum+A(i,r)*u(r,k); end l(i,k)=(A(i,k)-sum)/u(k,k); A(i,k)=l(i,k); end end 的列主元素三角分解:求A的列主元素三角分解:>>A=[1 1 1 1 1;1 2 3 4 5;1 3 6 10 15;1 4 10 20 35;1 5 15 35 70]; >>[L,U]=myfun(A) 结果:L = 1.0000 0 0 0 0 1.0000 1.0000 0 0 0 1.0000 0.5000 1.0000 0 0 1.0000 0.7500 0.7500 1.0000 0 1.0000 0.2500 0.7500 -1.0000 1.0000 U = 1.0000 1.0000 1.0000 1.0000 1.0000 0 4.0000 14.0000 34.0000 69.0000 0 0 -2.0000 -8.0000 -20.5000 0 0 0 -0.5000 -2.3750 0 0 0 0 -0.2500 (2) 求矩阵的逆矩阵A -1: inv(A) 结果为:ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 (3)检验结果:E=diag([1 1 1 1 1]) A\E ans = 5 -10 10 -5 1 -10 30 -35 19 -4 10 -35 46 -27 6 -5 19 -27 17 -4 1 -4 6 -4 1 2: 程序:程序:function d=myfun(a,b,c,d,n) for i=2:n l(i)=a(i)/b(i-1); a(i)=l(i); u(i)=b(i)-c(i-1)*a(i); b(i)=u(i); y(i)=d(i)-a(i)*d(i-1); d(i)=y(i); end x(n)=d(n)/b(n); d(n)=x(n); for i=(n-1):-1:1 x(i)=(d(i)-c(i)*d(i+1))/b(i); d(i)=x(i); end 求各段电流量程序:求各段电流量程序:for i=2:8 a(i)=-2; end b=[2 5 5 5 5 5 5 5]; c=[-2 -2 -2 -2 -2 -2 -2]; V=220; R=27; d=[V/R 0 0 0 0 0 0 0]; n=8; I=myfun(a,b,c,d,n) 运行程序得:运行程序得:I = 8.1478 4.0737 2.0365 1.0175 0.5073 0.2506 0.1194 0.0477 3:程序:(1)求矩阵A和向量b的matlab程序:function [A b]=myfun(n) for i=1:n X(i)=1+0.1*i; end for i=1:n for j=1:n A(i,j)=X(i)^(j-1); end end for i=1:n b(i)=sum(A(i,:)); end 求n=5时A1,b1及A1的2-条件数程序运行结果如下:条件数程序运行结果如下: n=5;[A1,b1]=myfun(n) A1 = 1.0000 1.1000 1.2100 1.3310 1.4641 1.0000 1.2000 1.4400 1.7280 2.0736 1.0000 1.3000 1.6900 2.1970 2.8561 1.0000 1.4000 1.9600 2.7440 3.8416 1.0000 1.5000 2.2500 3.3750 5.0625 b1 = 6.1051 7.4416 9.0431 10.9456 13.1875 cond2=cond(A1,2)cond2 = 5.3615e+005 条件数程序运行结果如下:求n=10时A2,b2及A2的2-条件数程序运行结果如下:n=10; [A2,b2]=myfun(n) A2 = 1.0000 1.1000 1.2100 1.3310 1.4641 1.6105 1.7716 1.9487 2.1436 2.3579 1.0000 1.2000 1.4400 1.7280 2.0736 2.4883 2.9860 3.5832 4.2998 5.1598 1.0000 1.3000 1.6900 2.1970 2.8561 3.7129 4.8268 6.2749 8.1573 10.6045 1.0000 1.4000 1.9600 2.7440 3.8416 5.3782 7.5295 10.5414 14.7579 20.6610 1.0000 1.5000 2.2500 3.3750 5.0625 7.5938 11.3906 17.0859 25.6289 38.4434 1.0000 1.6000 2.5600 4.0960 6.5536 10.4858 16.7772 26.8435 42.9497 68.7195 1.0000 1.7000 2.8900 4.9130 8.3521 14.1986 24.1376 41.0339 69.7576 118.5879 1.0000 1.8000 3.2400 5.8320 10.4976 18.8957 34.0122 61.2220 110.1996 198.3593 1.0000 1.9000 3.6100 6.8590 13.0321 24.7610 47.0459 89.3872 169.8356 322.6877 1.0000 2.0000 4.0000 8.0000 16.0000 32.0000 64.0000 128.0000 256.0000 512.0000 b2 = 1.0e+003 * 0.0159 0.0260 0.0426 0.0698 0.1133 0.1816 0.2866 0.4451 0.6801 1.0230 cond2=cond(A2,2) cond2 = 8.6823e+011 条件数程序运行结果如下:求n=20时A3,b3及A3的2-条件数程序运行结果如下:n=20; [A3,b3]=myfun(n) A3 = 1.0e+009 * Columns 1 through 10 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 Columns 11 through 20 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0002 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0005 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0006 0.0013 0.0000 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0007 0.0015 0.0032 0.0000 0.0000 0.0000 0.0001 0.0001 0.0003 0.0006 0.0014 0.0032 0.0075 0.0000 0.0000 0.0000 0.0001 0.0002 0.0005 0.0012 0.0029 0.0070 0.0167 0.0000 0.0000 0.0001 0.0001 0.0004 0.0009 0.0023 0.0058 0.0146 0.0364 0.0000 0.0000 0.0001 0.0002 0.0006 0.0017 0.0044 0.0113 0.0295 0.0766 0.0000 0.0001 0.0002 0.0004 0.0011 0.0030 0.0080 0.0215 0.0581 0.1570 0.0000 0.0001 0.0002 0.0007 0.0018 0.0051 0.0143 0.0400 0.1119 0.3133 0.0000 0.0001 0.0004 0.0010 0.0030 0.0086 0.0250 0.0726 0.2105 0.6103 0.0001 0.0002 0.0005 0.0016 0.0048 0.0143 0.0430 0.1291 0.3874 1.1623 b3 = 1.0e+009 * Columns 1 through 10 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0001 0.0002 0.0004 0.0010Columns 11 through 20 0.0025 0.0059 0.0132 0.0287 0.0606 0.1246 0.2494 0.4874 0.9316 1.7434 cond2=cond(A3,2) cond2 =3.2395e+022 由上述运行结果可知:它们是病态的,而且随着n的增大,矩阵的病态变得严重。

初中溶液稀释计算题

初中溶液稀释计算题

初中溶液稀释计算题稀释是一种非常重要的实验技术,几乎每一个分析中都需要使用,稀释技术也是学习实验手段的重要内容,使学生们能够更好地理解稀释的基本原理和计算方法。

稀释溶液计算也是初中物理课上必修的内容,然而对于新学生来说,陌生的概念和复杂的计算可能会让他们感觉极其困惑。

因此,本文将详细介绍溶液稀释的基本原理及其计算方法,希望能够为初中生掌握溶液稀释的计算技能提供一些帮助。

首先,我们要了解的是什么是溶液的稀释,稀释溶液的定义是将浓缩溶液通过加入一定量的水,改变溶液的浓度,其结果是减少溶液的浓度而不会改变溶质的量,即浓度变低而量不变。

其次,我们要了解稀释溶液的计算方法,稀释溶液的计算方法主要分为两步:第一步:求出稀释比例,即所加水的体积与原溶液的体积之比,在稀释溶液的计算中,当所加水的体积等于原溶液的体积时,稀释比例为1,即稀释率为1:1。

第二步:计算比较简单,可用以下计算公式:新浓度(C2)=原浓度×稀释比例(D)新体积(V2)=原体积 +加水量(w)其中,C2为稀释后溶液的浓度,V2为稀释后溶液的体积,D为稀释比例,w为所加水量。

最后,为了更好地帮助学生掌握稀释溶液的计算技能,本文将以几个实例来详细阐述计算过程,以下是一则典型的稀释计算题:【例1】已知一个50mL的浓硫酸溶液,浓度为2mol/L,问将该浓硫酸溶液稀释至0.4mol/L,所加水的体积为多少?解:将50mL浓硫酸溶液稀释至0.4mol/L,则所加水的体积为: V2=50mL+wC2=2mol/L×(50mL+w)/50mL=0.4mol/L经计算可得:w=30mL综上所述,稀释溶液的计算主要有两个步骤:第一步是计算稀释比例,第二步是计算稀释后溶液的浓度和体积,掌握这两个步骤和实例就可以计算任何一道稀释溶液的题目了。

稀释溶液的计算方法是初中物理课上必修的内容,但也是学习实验技术的重要内容,本文历数了溶液稀释的基本原理和计算方法,并以实例为例,详细阐述了计算的过程,希望能够为初中生掌握溶液稀释的计算技能提供一些帮助。

计算方法-解线性方程组的直接法实验报告

计算方法-解线性方程组的直接法实验报告
cout<<a[i][p]<<"\t";
cout<<endl;
for(k=i+1;k<m;k++)
{
l[k][i]=a[k][i]/a[i][i];
for(r=i;r<m+1;r++) /*化成三角阵*/
a[k][r]=a[k][r]-l[k][i]*a[i][r];
}
}
x[m-1]=a[m-1][m]/a[m-1][m-1];
{
int i,j;
float t,s1,s2;
float y[100];
for(i=1;i<=n;i++) /*第一次回代过程开始*/
{
s1=0;
for(j=1;j<i;j++)
{
t=-l[i][j];
s1=s1+t*y[j];
}
y[i]=(b[i]+s1)/l[i][i];
}
for(i=n;i>=1;i--) /*第二次回代过程开始*/
s2=s2+l[i][k]*u[k][r];
l[i][r]=(a[i][r]-s2)/u[r][r];
}
}
printf("array L:\n");/*输出矩阵L*/ for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
printf("%7.3f ",l[i][j]);
printf("\n");
{
s2=0;
for(j=n;j>i;j--)

酸碱滴定的计算试题

酸碱滴定的计算试题

酸碱滴定的计算试题酸碱滴定是化学实验中常见的一种定量分析方法,用于确定溶液中酸或碱的浓度。

为了提高学生的计算能力和理解酸碱滴定的原理,下面给出几道酸碱滴定的计算试题,供学生们进行练习。

题目一:硫酸(H2SO4)的浓度计算试管中加入10 mL未知浓度的硫酸溶液,用酚酞溶液作指示剂,滴加0.1 mol/L的苏打溶液。

滴加苏打溶液的滴数为25滴,滴定终点颜色由浅红色变为淡紫色。

已知苏打溶液的浓度为0.1 mol/L,请计算未知硫酸溶液的浓度。

解答:苏打溶液和硫酸溶液的滴定反应方程为:H2SO4 + 2NaOH -> Na2SO4 + 2H2O根据反应方程,酸碱的摩尔比为1:2,且滴定终点的颜色指示酸溶液已完全中和。

苏打溶液的摩尔数为:0.1 mol/L × (25滴/滴定反应所需的滴数) = 0.1 mol/L × (25/1) = 2.5 mol由于硫酸和苏打的摩尔比为1:2,所以硫酸的摩尔数为:2.5 mol/2 = 1.25 mol苏打溶液和硫酸的体积比为25滴,所以硫酸的体积为:(25滴/滴定反应所需的滴数) × 10 mL = 25 mL未知硫酸溶液的浓度为:1.25 mol/0.025 L = 50 mol/L因此,未知硫酸溶液的浓度为50 mol/L。

题目二:氢氧化钠(NaOH)的浓度计算试管中加入25 mL未知浓度的氢氧化钠溶液,用溴酚绿溶液作指示剂,滴加0.1 mol/L的盐酸溶液。

滴加盐酸溶液的滴数为20滴,滴定终点颜色由绿色变为黄色。

已知盐酸溶液的浓度为0.1 mol/L,请计算未知氢氧化钠溶液的浓度。

解答:盐酸溶液和氢氧化钠溶液的滴定反应方程为:HCl + NaOH -> NaCl + H2O根据反应方程,酸碱的摩尔比为1:1,且滴定终点的颜色指示酸溶液已完全中和。

盐酸溶液的摩尔数为:0.1 mol/L × (20滴/滴定反应所需的滴数) = 0.1 mol/L × (20/1) = 2 mol由于盐酸和氢氧化钠的摩尔比为1:1,所以氢氧化钠的摩尔数也为2 mol。

数学实验题目2 Romberg积分法

数学实验题目2 Romberg积分法

数学实验题目2 Romberg 积分法摘要考虑积分()()b aI f f x dx =⎰欲求其近似值,可以采用如下公式:(复化)梯形公式 110[()()]2n i i i hT f x f x -+==+∑ 2()12b a E h f η-''=- [,]a b η∈ (复化)辛卜生公式 11102[()4()()]6n i i i i hS f x f x f x -++==++∑4(4)()1802b a h E f η-⎛⎫=- ⎪⎝⎭ [,]a b η∈ (复化)柯特斯公式 111042[7()32()12()90n i i i i hC f x f x f x -++==+++∑31432()7()]i i f xf x +++6(6)2()()9454b a h E f η-⎛⎫=- ⎪⎝⎭[,]a b η∈ 这里,梯形公式显得算法简单,具有如下递推关系121021()22n n n i i h T T f x -+==+∑因此,很容易实现从低阶的计算结果推算出高阶的近似值,而只需要花费较少的附加函数计算。

但是,由于梯形公式收敛阶较低,收敛速度缓慢。

所以,如何提高收敛速度,自然是人们极为关心的课题。

为此,记0,k T 为将区间[,]a b 进行2k等份的复化梯形积分结果,1,k T 为将区间[,]a b 进行2k等份的复化辛卜生积分结果,2,k T 为将区间[,]a b 进行2k等份的复化柯特斯积分结果。

根据李查逊(Richardson )外推加速方法,可得到1,11,,0,1,2,40,1,2,41m m k m km k m k T T T m -+-=-⎛⎫=⎪=-⎝⎭可以证明,如果()f x 充分光滑,则有,lim ()m k k T I f →∞= (m 固定),0lim ()m m T I f →∞=这是一个收敛速度更快的一个数值求积公式,我们称为龙贝格积分法。

计算方法试题

计算方法试题

计算方法考试题(一) 满分70分一、选择题:(共3道小题,第1小题4分,第2、3小题3分,共10分) 1、将A 分解为U L D A --=,其中),,(2211nn a a a diag D =,若对角阵D非奇异(即),1,0n i a ii =≠,则b Ax =化为b D x U L D x 11)(--++=(1) 若记b D f U L D B 1111),(--=+= (2)则方程组(1)的迭代形式可写作)2,1,0(1)(1)1( =+=+k f x B x k k (3)则(2)、(3)称 【 】(A)、雅可比迭代。

(B)、高斯—塞德尔迭代 (C)、LU 分解 (D)、Cholesky 分解。

2、记*x x e k k -=,若0lim 1≠=+∞→c e e p k k k (其中p 为一正数)称序列}{k x 是 【 】(A)、p 阶收敛; (B)、1阶收敛; (C)、矩阵的算子范数; (D)、p 阶条件数。

3、牛顿切线法的迭代公式为 【 】(A)、)()(1k x f x f x x k k k '-=+ (B)、)()())((111--+---=k k k k k k k x f x f x x x f x x1)()()1()()()(x xf x f x f k i k i k i ∂∂+=+ (D)、)()()()1(k k k x f x x -=+ 二、填空题:(共2道小题,每个空格2分,共10分)1、设0)0(f =,16)1(f =,46)2(f =,则一阶差商,二阶差商=]1,2,0[f ,)x (f 的二次牛顿插值多项式为2、 用二分法求方程01x x )x (f 3=-+=在区间]1,0[内的根,进行第一步后根所在的区间为 ,进行第二步后根所在的区间为 。

三、计算题:(共7道小题,第1小题8分,其余每小题7分,共50分)1、表中各*x 都是对准确值x 进行四舍五入得到的近似值。

滴定分析计算练习题

滴定分析计算练习题

滴定分析计算练习题滴定分析计算练习题滴定分析是化学实验中常用的一种分析方法,通过滴定管逐滴加入一种已知浓度的溶液来测定待测物质的浓度。

滴定分析计算是滴定实验中不可或缺的一部分,它涉及到化学计算和反应平衡等知识。

下面,我们来做一些滴定分析计算的练习题,巩固自己的理论知识。

题目一:某实验室中有一瓶浓度为0.1 mol/L的硫酸溶液,需要用它来测定一瓶未知浓度的氢氧化钠溶液。

已知氢氧化钠溶液中的氢氧化钠与硫酸反应生成水和硫酸钠,反应方程式为:2NaOH + H2SO4 → Na2SO4 + 2H2O如果滴定过程中滴定液的体积为25 mL,滴定完全反应且滴定液的浓度不发生变化,那么氢氧化钠溶液的浓度是多少?解答:根据反应方程式,1 mol的氢氧化钠与1 mol的硫酸反应生成1 mol的硫酸钠。

因此,滴定液中的硫酸的摩尔数等于氢氧化钠的摩尔数。

滴定液中硫酸的摩尔数 = 浓度× 体积= 0.1 mol/L × 0.025 L = 0.0025 mol根据反应方程式,2 mol的氢氧化钠与1 mol的硫酸反应生成2 mol的硫酸钠。

因此,氢氧化钠的摩尔数等于滴定液中硫酸的摩尔数的一半。

氢氧化钠的摩尔数 = 0.0025 mol / 2 = 0.00125 mol氢氧化钠的浓度 = 摩尔数 / 体积 = 0.00125 mol / 0.025 L = 0.05 mol/L所以,氢氧化钠溶液的浓度为0.05 mol/L。

题目二:某实验室中有一瓶浓度为0.05 mol/L的硝酸溶液,需要用它来测定一瓶未知浓度的氨水溶液。

已知硝酸溶液中的硝酸与氨水反应生成水和硝酸铵,反应方程式为:NH3 + HNO3 → NH4NO3如果滴定过程中滴定液的体积为20 mL,滴定完全反应且滴定液的浓度不发生变化,那么氨水溶液的浓度是多少?解答:根据反应方程式,1 mol的硝酸与1 mol的氨水反应生成1 mol的硝酸铵。

数值计算方法实验指导(Matlab版)

数值计算方法实验指导(Matlab版)

《数值计算方法》实验指导(Matlab版)学院数学与统计学学院计算方法课程组《数值计算方法》实验1报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验1 算法设计原则验证(之相近数相减、大数吃小数和简化计算步骤) 2. 实验题目(1) 取1610=z ,计算z z -+1和)1/(1z z ++,验证两个相近的数相减会造成有效数字的损失.(2) 按不同顺序求一个较大的数(123)与1000个较小的数(15310-⨯)的和,验证大数吃小数的现象.(3) 分别用直接法和九韶算法计算多项式n n n n a x a x a x a x P ++++=--1110)(在x =1.00037处的值.验证简化计算步骤能减少运算时间.对于第(3)题中的多项式P (x ),直接逐项计算需要2112)1(+=+++-+n n n 次乘法和n 次加法,使用九韶算法n n a x a x a x a x a x P ++++=-)))((()(1210则只需要n 次乘法和n 次加法. 3. 实验目的验证数值算法需遵循的若干规则. 4. 基础理论设计数值算法时,应避免两个相近的数相减、防止大数吃小数、简化计算步骤减少运算次数以减少运算时间并降低舍入误差的积累.两相近的数相减会损失有效数字的个数,用一个大数依次加小数,小数会被大数吃掉,乘法运算次数太多会增加运算时间. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab6. 实验过程(1) 直接计算并比较;(2) 法1:大数逐个加1000个小数,法2:先把1000个小数相加再与大数加; (3) 将由高次项到低次项的系数保存到数组A[n]中,其中n 为多项式次数.7. 结果与分析 (1) 计算的z z -+1= ,)1/(1z z ++.分析:(2) 123逐次加1000个6310-⨯的和是 ,先将1000个6310-⨯相加,再用这个和与123相加得.分析:(3) 计算次的多项式:直接计算的结果是,用时;用九韶算法计算的结果是,用时.分析:8. 附录:程序清单(1) 两个相近的数相减.%*************************************************************%* 程序名:ex1_1.m *%* 程序功能:验证两个相近的数相减会损失有效数字个数 *%*************************************************************z=1e16;x,y======================================================================(2) 大数吃小数%*************************************************************%* 程序名:ex1_2.m *%* 程序功能:验证大数吃小数的现象. *%*************************************************************clc; % 清屏clear all; % 释放所有存变量format long; % 按双精度显示浮点数z=123; % 大数t=3e-15; % 小数x=z; % 大数依次加小数% 重复1000次给x中加上ty=0; % 先累加小数% 重复1000次给y中加上ty=z + y; % 再加到大数x,y======================================================================(3) 九韶算法%*************************************************************%* 程序名:ex1_3.m *%* 程序功能:验证九韶算法可节省运行时间. *%*************************************************************clc; % 清屏clear all; % 释放所有存变量format long; % 按双精度显示浮点数A=[8,4,-1,-3,6,5,3,2,1,3,2,-1,4,3,1,-2,4,6,8,9,50,-80,12,35,7,-6,42,5,6,23,74,6 5,55,80,78,77,98,56];A(10001)=0; % 扩展到10001项,后面的都是分量0% A为多项式系数,从高次项到低次项x=1.00037;n=9000; % n为多项式次数% 直接计算begintime=clock; % 开始执行的时间 % 求x的i次幂% 累加多项式的i次项endtime=clock; % 完毕执行的时间time1=etime(endtime,begintime); % 运行时间disp('直接计算');disp(['p(',num2str(x),')=',num2str(p)]);disp([' 运行时间: ',num2str(time1),'秒']);% 九韶算法计算begintime=clock; % 开始执行的时间% 累加九韶算法中的一项endtime=clock; % 完毕执行的时间time2=etime(endtime,begintime); % 运行时间disp(' ');disp('九韶算法计算');disp(['p(',num2str(x),')=',num2str(p)]);disp([' 运行时间: ',num2str(time2),'秒']);《数值计算方法》实验1报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验1 算法设计原则验证(之数值稳定性) 2. 实验题目 计算定积分⎰==-1110,1,0,d n x e xI x nn ,分别用教材例1-7推导出的算法A 和B ,其中:算法A :⎩⎨⎧≈-=-6321.0101I nI I n n 算法B :⎪⎩⎪⎨⎧≈-=-0)1(1101I I nI n n 验证算法不稳定时误差会扩大.3. 实验目的验证数值算法需遵循的若干规则. 4. 基础理论设计数值算法时,应采用数值稳定性好的算法.数值稳定的算法,误差不会放大,甚至会缩小;而数值不稳定的算法会放大误差. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab6. 实验过程分别用数组IA[ ]和IB[ ]保存两种算法计算的结果. 7. 结果与分析 运行结果:(或拷屏)8. 附录:程序清单%*************************************************************%* 程序名:ex1_4.m *%* 程序功能:验证数值稳定性算法可控制误差. *%*************************************************************clc; % 清屏clear all; % 释放所有存变量format long; % 按双精度显示浮点数I=[0.856, 0.144, 0.712, 0.865, ...0.538, 0.308, 0.154, 0.938, ...0.492, 0.662, 0.843];% 保留14位小数的精确值, …是Matlab中的续行符% 算法AIA(1) = 0.6321; % Matlab下标从1开始,所以要用IA(n+1)表示原问题中的I(n)% 算法Bdisp('n 算法A 算法B 精确值');for n=1:11fprintf('%2d %14.6f %14.6f %14.6f\n',n-1,IA(n),IB(n),I(n));end% n显示为2位整数, 其它显示为14位其中小数点后显示6位的小数《数值计算方法》实验1报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验1 算法设计原则(除数绝对值不能太小) 2. 实验题目将线性方程组增广矩阵利用初等行变换可化为⎪⎪⎭⎫⎝⎛→-⎪⎪⎭⎫ ⎝⎛→-⎪⎪⎭⎫ ⎝⎛''0'0''02221112'12221121112222211121122121121b a b a r r b a b a a r r b a a b a a a a a a由此可解得'/',/'22221111a b x a b x ==.分别解增广矩阵为161011212-⎛⎫ ⎪⎝⎭和162121011-⎛⎫⎪⎝⎭的方程组,验证除数绝对值远小于被除数绝对值的除法会导致结果失真. 3. 实验目的验证数值算法需遵循的若干规则. 4. 基础理论设计数值算法时,应避免除数绝对值远小于被除数绝对值的除法,否则绝对误差会被放大,使结果失真. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab6. 实验过程用二维数组A 和B 存放方程组的增广矩阵,利用题目所给初等行变换求解方程组. 7. 结果与分析第1种顺序的方程组的解为x =,y =;第2种顺序的方程组的解为x =,y =. 分析:8. 附录:程序清单%************************************************************* %* 程 序 名:ex1_5.m * %* 程序功能:验证除数的绝对值太小可能会放大误差. * %*************************************************************clc;A=[1e-16, 1, 1; 2, 1, 2];B=[2, 1, 2; 1e-16, 1, 1]; % 增广矩阵% 方程组A% m = - a_{21}/a_{11} 是第2行加第1行的倍数% 消去a_{21}% m = - a_{12}/a_{22} 是第1行加第2行的倍数% 消去a_{12}, 系数矩阵成对角线% 未知数x1的值% 未知数x2的值disp(['方程组A的解: x1=',num2str(A(1,3)),', x2=',num2str(A(2,3))]); disp(' ');% 方程组B% m = - b_{21}/b_{11} 是第2行加第1行的倍数% 消去b_{21}% m = - b_{12}/b_{22} 是第1行加第2行的倍数% 消去b_{12}, 系数矩阵成对角线% 未知数x1的值% 未知数x2的值disp(['方程组B的解: x1=',num2str(B(1,3)),', x2=',num2str(B(2,3))]);《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之简单迭代法) 2. 实验题目用简单迭代法求方程010423=-+x x 在区间[1,2]的一个实根,取绝对误差限为410-.3. 实验目的掌握非线性方程的简单迭代法. 4. 基础理论简单迭代法:将方程0)(=x f 改写成等价形式)(x x ϕ=,从初值0x 开始,使用迭代公式)(1k k x x ϕ=+可以得到一个数列,若该数列收敛,则其极限即为原方程的解.取数列中适当的项可作为近似解. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程7. 结果与分析8. 附录:程序清单《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之Newton 迭代法) 2. 实验题目用Newton 迭代法求方程010423=-+x x 在区间[1,2]的一个实根,取绝对误差限为410-.3. 实验目的掌握求解非线性方程的Newton 迭代法. 4. 基础理论Newton 迭代法:解方程0)(=x f 的Newton 迭代公式为)(')(1k k k k x f x f x x -=+.5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程7. 结果与分析8. 附录:程序清单《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之对分区间法) 2. 实验题目用对分区间法求方程310x x --=在区间[1, 1.5]的一个实根,取绝对误差限为410-. 3. 实验目的掌握求解非线性方程的对分区间法. 4. 基础理论对分区间法:取[a ,b ]的中点p ,若f (p ) ≈ 0或b – a < ε,则p 为方程0)(=x f 的近似解;若f (a ) f (p ) < 0,则说明根在区间取[a ,p ]中;否则,根在区间取[p ,b ]中.将新的有根区间记为 [a 1,b 1],对该区间不断重复上述步骤,即可得到方程的近似根. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程用宏定义函数f (x );为了循环方便,得到的新的有根区间始终用[a ,b ]表示;由于新的有根区间可能仍以a 为左端点,这样会反复使用函数值f (a ),为减少运算次数,将这个函数值保存在一个变量fa 中;同样在判断新的有根区间时用到函数值f (p ),若新的有根区间以p 为左端点,则下一次用到的f (a )实际上就是现在的f (p ),为减少运算次数,将这个函数值保存在一个变量fp 中.算法的伪代码描述:Input :区间端点a ,b ;精度要求(即误差限)ε;函数f (x );最大对分次数N Output :近似解或失败信息7. 结果与分析8. 附录:程序清单说明: 源程序中带有数字的空行,对应着算法描述中的行号%**********************************************************%* 程序名:Bisection.m *%* 程序功能:使用二分法求解非线性方程. *%**********************************************************f=inline('x^3-x-1'); % 定义函数f(x)a=input('有根区间左端点: a=');b=input('右端点:b=');epsilon=input('误差限:epsilona=');N=input('最大对分次数: N=');1 % 对分次数计数器n置12 % 左端点的函数值给变量fafprintf('\n k p f(p) a(k) f(a(k))'); fprintf(' b(k) b-a\n');% 显示表头fprintf('%2d%36.6f%12.6f%12.6f%12.6f\n',0,a,fa,b,b-a);% 占2位其中0位小数显示步数0, 共12位其中小数6位显示各值3% while n≤ N 4 % 取区间中点p5% 求p 点函数值给变量fpfprintf('%2d%12.6f%12.6f',n,p,fp); % 输出迭代过程中的中点信息p 和f(p)6 % 如果f(p)=0或b-a 的一半小于误差限εfprintf('\n\n 近似解为:%f\n',p);% 则输出近似根p (7)return;% 并完毕程序 (7)89 % 计数器加110% 若f(a)与f(p)同号11% 则取右半区间为新的求根区间, 即a 取作p 12 % 保存新区间左端点的函数值 13% 否则14 % 左半区间为新的求根区间, 即b 取作p 15fprintf('%12.6f%12.6f%12.6f%12.6f\n',a,fa,b,b-a); %显示新区间端点与左端函数值、区间长度 16fprintf('\n\n 经过%d 次迭代后未达到精度要求.\n',N); % 输出错误信息(行17)《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之Aitken-Steffensen 加速法) 2. 实验题目用Aitken-Steffensen 加速法求方程010423=-+x x 在区间[1,2]的一个实根,取绝对误差限为410-.3. 实验目的熟悉求解非线性方程的Aitken-Steffensen 加速法. 4. 基础理论将方程0)(=x f 改写成等价形式)(x x ϕ=,得到从初值0x 开始的迭代公式)(1k k x x ϕ=+后,基于迭代公式)(1k k x x ϕ=+的Aitken-Steffensen 加速法是通过“迭代-再迭代-加速”完成迭代的,具体过程为kk k k k k k k k k k x y z z y x x y z x y +---===+2)(),(),(21ϕϕ. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程为了验证Aitken-Steffensen 加速法可以把一些不收敛的迭代加速成迭代收敛,我们使用将方程组变形为31021x x -=,取迭代函数31021)(x x -=ϕ,并利用宏定义出迭代函数.由于不用保存迭代过程,所以用x0表示初值同时也存放前一步迭代的值,y 和z 是迭代过程中产生的y k 和z k ,x 存放新迭代的结果.算法的伪代码描述:Input :初值x 0;精度要求(即误差限)ε;迭代函数φ(x );最大迭代次数N7. 结果与分析8. 附录:程序清单%************************************************************* %* 程 序 名:Aitken_Steffensen.m * %* 程序功能:用Aitken-Steffensen 加速法求方程. * %************************************************************* clc;clear all;phi=inline('0.5 * sqrt( 10 - x^3)'); % 迭代函数x0=input('初值: x0 = ');epsilon=input('误差限: epsilon='); N=input('最大迭代次数: N=');disp(' n 迭代中间值y(n-1) 再迭代结构z(n-1) 加速后的近似值x(n)'); fprintf('%2d%54.6f\n',0,x0);% 占2位整数显示步数0, 为了对齐, 占54位小数6位显示x01 % n 是计数器2 % while n<=Ny= 3 ; % 迭代 z= 3 ; % 再迭代 x= 3 ; % 加速% x0初值与前一步的近似值, y 和z 是中间变量, x 是下一步的近似值fprintf('%2d%18.6f%18.6f%18.6f\n',n,y,z,x);%显示中间值和迭代近似值6 % 如果与上一步近似解差的绝对值不超过误差限 fprintf('\n\n 近似解 x≈x(%d)≈%f \n',n,x);% 则输出近似根 (7), 可简略为: fprintf('\n\n 近似解 x=%f',x); return; % 并完毕程序(7) 8 % 相当于endif9 % 计数器加110 % 新近似值x 作为下一次迭代的初值 11fprintf('\n 迭代%d 次还不满足误差要求.\n\n',N); %输出错误信息(12)《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之Newton 下山法) 2. 实验题目用Newton 下山法求方程010423=-+x x 在区间[1,2]的一个实根,取绝对误差限为410-.3. 实验目的熟悉非线性方程的Newton 下山法. 4. 基础理论Newton 下山法:Newton 下山法公式为)(')(1k k kk k x f x f x x λ-=+,使|)(||)(|1k k x f x f <+,其中10≤<k λ.5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程定义函数f(x)和df(x),其中df(x)是f(x)的导函数.每步迭代时先取下山因子为1,尝试迭代,判断尝试结果是否满足下山因子,若满足则作为这步的迭代结果;否则将下山因子减半,然后再尝试.为防止当前的x k 是极小值点,附近不会有满足下述条件的其它点,使尝试陷入死循环,同时计算机中能表示出的浮点数也有下界,因此我们设置了最大尝试次数.当超过最大尝试次数时,不再进行下山尝试.由于反复尝试迭代且要判断下山条件,所以f (x 0)和f ‘(x 0)会反复使用,为避免重复计算浪费运行时间,将这两个值分别保存在变量fx0和dfx0.而尝试产生的节点,判断下山条件时要用到它的函数值,若尝试成功,这个点会作为下一步的初值再使用,所以把该点的函数值也保存在变量fx 中.算法的伪代码描述:Input :初值x 0;精度要求(即误差限)ε;函数与其导函数f (x )和f’(x);最大迭代次数N ;K 下山尝试最大次数Output :近似解或失败信息7. 结果与分析8. 附录:程序清单%*************************************************************%* 程序名:NewtonDownhill.m *%* 程序功能:用Newton下山法求解非线性方程. *%*************************************************************clc;clear all;f=inline('x^3-x-1'); % 函数f(x)df=inline('3*x^2-1'); % 函数f(x)的导函数x0=input('初值: x0 = ');epsilon=input('误差限: epsilon=');N=input('最大迭代次数: N=');K=input('最大下山尝试次数: K=');1 % 迭代次数计数器2 % 存x0点函数值fprintf('\n\n n x(n) f(x(n))\n'); % 显示表头fprintf('%2d%14.6f%14.6f\n',0,x0,fx0); % 2位整数显示0, 共14位小数6位显示x0和fx03 % while n≤ Ndisp(''); % 换行显示下山尝试过程的表头disp(' 下山因子尝试x(n) 对应f(x(n)) 满足下山条件');disp('');4 % 存x0点导数值, 每次下山尝试不用重新计算ifdfx0==0 % 导数为0不能迭代disp(‘无法进行Newton迭代’);return;endlambda=1.0; % 下山因子从1开始尝试k=1; % k下山尝试次数计数器while k<=K % 下山最多尝试K次% 下山公式fx=f(x); % 函数值fprintf('%22.6f%14.6f%14.6f',lambda,x,fx); % 显示尝试结果if (abs(fx)<abs(fx0)) % 判断是否满足下山条件fprintf(' 满足\n');break; % 是, 则退出下山尝试的循环elsefprintf(' 不满足\n');endlambda=lambda/2; % 不是, 则下山因子减半k=k+1; % 计数器加1endif k>Kfprintf('\n 下山条件无法满足, 迭代失败.\n\n');return;endfprintf('%2d%14.6f%14.6f\n',n,x,fx);% 2位整数显示步数n, 共14位小数6位显示下步迭代结果22 % 达到精度要求否fprintf('\n\n 方程的近似解为: x≈%f\n\n',x); % (23)return; % 达到, 则显示结果并完毕程序(23) end % (24)% 用x0,fx0存放前一步的近似值和它的函数值, 进行循环迭代25262728fprintf('\n 迭代%d次还不满足误差要求.\n\n',N);《数值计算方法》实验2报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验2 非线性方程的迭代解法(之弦截法) 2. 实验题目用弦截法求方程010423=-+x x 在区间[1,2]的一个实根,取绝对误差限为410-. 3. 实验目的熟悉非线性方程的弦截法. 4. 基础理论将Newton 迭代法中的导数用差商代替,得到弦截法(或叫正割法)公式)()()(111k k k k k k k x f x f x f x x x x --+---=.5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程不保存迭代过程,所以始终以x 0和x 1分别存放x k -1和x k ,而x 存放新产生的迭代值x k +1,这样,下一次迭代时需要把上一步的x 1(即x k )赋值于x 0(做新的x k -1).这些点的函数值会重复用到,在迭代公式中也要用到,上一步的x 1作为下一步的x 0也会再一次用它的函数值,为减少重新计算该点函数值的运行时间,将x 1点的函数值保存在变量fx1中.算法的伪代码描述:Input :初值x 0,x 1;精度要求(即误差限)ε;函数f (x );最大迭代次数N7. 结果与分析8. 附录:程序清单%*************************************************************%* 程序名:SecantMethod.m *%* 程序功能:用弦截法求解非线性方程. *%*************************************************************clc;clear all;f=inline('2*x^3-5*x-1'); % 函数f(x)x0=input('第一初值: x0 = ');x1=input('第二初值: x1 = ');epsilon=input('误差限: epsilon=');N=input('最大迭代次数: N=');fprintf('\n n x(n)\n'); % 显示表头fprintf('%2d%14.6f\n', 0, x0); % 占2位显示步数0, 共14位其中小数6位显示x0fprintf('%2d%14.6f\n', 1, x1); % 占2位显示步数1, 共14位其中小数6位显示x11 % 存x0点函数值2 % 存x1点函数值3 % 迭代计数器4 % while n≤ N% 弦截法公式fprintf('%2d%14.6f\n', n, x); %显示迭代过程6 % 达到精度要求否fprintf('\n\n 方程的近似解为: x≈%f\n\n', x);return; % 达到, 则显示结果并完毕程序89 % 原x1做x0为前两步的近似值10 % 现x做x1为一两步的近似值11 % x0点函数值12 % 计算x1点函数值, 为下一次循环13 % 计数器加1 14fprintf('\n 迭代%d 次还不满足误差要求.\n\n',N);《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验3 解线性方程组的直接法(之Gauss 消去法) 2. 实验题目用Gauss 消去法求解线性方程组⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛--000.3000.2000.1643.5072.1000.2623.4712.3000.1000.3000.2001.0321x x x . 3. 实验目的掌握解线性方程组的Gauss 消去法. 4. 基础理论Gauss 消去法是通过对增广矩阵的初等行变换,将方程组变成上三角方程组,然后通过回代,从后到前依次求出各未知数.Gauss 消去法的第k 步(1≤k≤n -1)消元:若0≠kk a ,则依次将增广矩阵第k 行的kk ik a a /-倍加到第i 行(k+1≤i≤n),将第k 列对角线下的元素都化成0.5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程7. 结果与分析8. 附录:程序清单《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验3 解线性方程组的直接法(之Gauss 列主元消去法) 2. 实验题目用Gauss 列主元消去法求解线性方程组⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫ ⎝⎛--000.3000.2000.1643.5072.1000.2623.4712.3000.1000.3000.2001.0321x x x . 3. 实验目的掌握解线性方程组的Gauss 列主元消去法. 4. 基础理论Gauss 列主元消去法也是通过对增广矩阵的初等行变换,将方程组变成上三角方程组,然后通过回代,从后到前依次求出各未知数.Gauss 列主元消去法的第k 步(1≤k≤n -1)消元:先在nk k k kk a a a ,,,,1 +中找绝对值最大的,将它所在的行与第k 行交换,然后将第k 行的kk ik a a /-倍加到第i 行(k+1≤i≤n),将第k 列对角线下的元素都化成0. 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程7. 结果与分析8. 附录:程序清单《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验3 解线性方程组的直接法(之Doolittle 分解) 2. 实验题目对矩阵A 进行Doolittle 分解,其中⎪⎪⎪⎪⎪⎭⎫⎝⎛----=3101141101421126A .3. 实验目的掌握矩阵的Doolittle 分解. 4. 基础理论矩阵的Doolittle 分解是指将矩阵n n ij a A ⨯=)(可以分解为一个单位下三角矩阵和一个上三角矩阵的乘积.若设⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=nn n n n n n n u u u u u u u u u u U l l ll l l L000000,1010010001333223221131211321323121则可依如下顺序公式计算⎪⎪⎩⎪⎪⎨⎧++=-=+=-=∑∑-=-=1111,,2,1,/)(,,1,,k t kk tk it ik ik k r rj kr kj kj nk k i u u l a l nk k j u l a u其中k = 1,2,…,n .5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程(1)按计算公式依次计算一行u 同时计算一列l ;(2)因为计算完u ij (或l ij )后,a ij 就不再使用,为节省存储空间,将计算的u ij (和l ij )仍存放在矩阵A 中的相应位置;(3)使用L 矩阵和U 矩阵时需要根据元素所在位置取固定值或A 中相应位置的值.L 对角线上的元素为1,上三角部分为0,下三角部分为A 中对应的元素;U 的下三角部分为0,上三角部分为A 中对应的元素.算法的伪代码描述: Input :阶数n ;矩阵A7. 结果与分析8. 附录:程序清单%****************************************************% 程序名: Doolittle.m *% 程序功能: 矩阵LU分解中的Doolittle分解. *%****************************************************clc;clear all;n=4; % 矩阵阶数A=[6 2 1 -1;2 4 1 0; 1 1 4 -1; -1 0 -1 3]disp('A=');disp(A);% LU分解(Doolittle分解)for k=1:n% 计算矩阵U的元素u_{kj}% (可参照下面l_{ik}的公式填写)% 计算矩阵L的元素l_{ik}% L 在A 下三角, U 在上三角(对角线为1) enddisp('分解结果:'); disp('L='); for i=1:n for j=1:nif i>j % 在下三角部分, 则取A 对于的元素显示 fprintf(' %8.4f',A(i,j));elseif i==j % 在对角线上, 则显示1 fprintf(' %8d',1);else % 在上三角部分, 则显示0 fprintf(' %8d',0); end endfprintf('\n'); % 换行 enddisp('U='); for i=1:n for j=1:nif i<=j % 在上三角部分或对角线上, 则取A 对于的元素显示 fprintf(' %8.4f',A(i,j));else % 在下三角部分, 则显示0 fprintf(' %8d',0); end endfprintf('\n'); % 换行 end《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验3 解线性方程组的直接法(之LU 分解法) 2. 实验题目用LU 分解(Doolittle 分解)法求解线性方程组⎪⎩⎪⎨⎧=++=++=++104615631552162321321321x x x x x x x x x 3. 实验目的熟悉解线性方程组LU 分解法.4. 基础理论若将矩阵A 进行了Doolittle 分解,A = LU ,则解方程组b x A=可以分解求解两个三角方程组b y L=和y x U =.它们都可直接代入求解,其中b y L=的代入公式为∑-==-=11,,2,1,k j j kj k k n k y l b y而y x U=的代入公式为∑+=-=-=nk j kk j kjk k n n k u x uy x 11,,1,,/)( .5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程(1)Doolittle 分解过程依次计算一行u 同时计算一列l 完成,并将计算的u ij (和l ij )仍存放在矩阵A 中的相应位置;(2)求解方程组的代入公式中用到的u ij 和l ij 都直接在A 的相应位置取值即可. 算法的伪代码描述:Input :阶数n ;矩阵A ;常数项向量b7. 结果与分析8. 附录:程序清单%**************************************************** % 程序名: LinearSystemByLU.m *% 程序功能: 利用LU分解(Doolittle分解)解方程组. *%****************************************************clc;clear all;n=3; % 矩阵阶数A=[1 2 6; 2 5 15; 6 15 46];b=[1;3;10];% LU分解(Doolittle分解)for k=1:n% 计算矩阵U的元素u_{kj}% (可参照下面l_{ik}的公式填写)% 计算矩阵L的元素l_{ik}% L在A下三角, U在上三角(对角线为1) endfor k=1:n % 用代入法求解下三角方程组Ly=by(k)=b(k);3 %∑-==-=11,,2,1,kjj kjk knkylby33enddisp('方程组Ly=b的解:y=');disp(y');for k=n:-1:1 % 回代求解上三角方程组Ux=y x(k)=y(k);6 %∑+=-=-=nkjj kjk knnkxuyx11,,1,,666 enddisp('原方程组的解:x='); disp(x');《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X成绩:1. 实验名称实验3 解线性方程组的直接法(之Cholesky 分解) 2. 实验题目对矩阵A 进行Cholesky 分解,其中⎪⎪⎪⎪⎪⎭⎫⎝⎛----=3101141101421126A . 3. 实验目的理解矩阵的Cholesky 分解. 4. 基础理论矩阵的Cholesky 分解是指将矩阵n n ij a A ⨯=)(可以分解为一个下三角矩阵L 和L 转置的乘积,即A =LL T,其中L 各元素可依如下顺序公式计算⎪⎪⎩⎪⎪⎨⎧++=-=-=∑∑-=-=11112,,2,1,/)(k t kktk it ik ik k r kr kk kk nk k i l l l a l l a l其中k = 1,2,…,n .5. 实验环境操作系统:Windows xp ; 程序设计语言:VC++ 6. 实验过程(1)按计算公式依次先计算一列对角线上的元素l kk ,再计算这列其他元素l ik ,且对称位置的元素也取同一个值;(2)因为计算完l ij 后,a ij 就不再使用,为节省存储空间,将计算的l ij 仍存放在矩阵A 中的相应位置;(3)使用L 矩阵时需要根据元素所在位置取固定值或A 中相应位置的值.L 上三角部分为0,对角线和下三角部分为A 中对应的元素.算法的伪代码描述:Input :阶数n ;矩阵AOutput :矩阵L (合并存储在数组A 中)行号 伪代码注释1 for k ← 1 to n2∑-=-=112k r krkk kk l a l3 for i ← k to n4 ∑-=-=11/)(k t kk tk it ik ik l l l a l计算结果存放在a ij5 endfor6 endfor7return L输出L7. 结果与分析8. 附录:程序清单%************************************************************* %* 程 序 名:Cholesky.m * %* 程序功能:对称正定矩阵的Cholesky 分解. * %*************************************************************n=4; % 矩阵阶数 A=[6,2,1,-1; 2,4,1,0; 1,1,4,-1; -1,0,-1,3];disp('A ='); for i=1:n for j=1:nfprintf('%10.4f',A(i,j)); % 共占14位endfprintf('\n');% 一行完毕换行end% Cholesky 分解 for k=1:n % 计算对角线上的l _{kk}% 计算其他的l _{ik} % 和l _{ki}end % L 在A 下三角, L^T 在上三角disp('分解结果:'); disp('L='); for i=1:n for j=1:n if i>=j % 在下三角部分或对角线上, 则取A 对于的元素显示fprintf('%10.4f',A(i,j));else % 在上三角部分, 则显示0 fprintf('%10d',0); end endfprintf('\n'); % 换行 end《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X成绩:1. 实验名称实验3 解线性方程组的直接法(之改进的Cholesky 分解) 2. 实验题目对矩阵A 进行改进的Cholesky 分解,其中⎪⎪⎪⎪⎪⎭⎫⎝⎛----=3101141101421126A .3. 实验目的理解矩阵改进的Cholesky 分解. 4. 基础理论矩阵的改进的Cholesky 分解是指将矩阵n n ij a A ⨯=)(可以分解为一个单位下三角矩阵L 和对角矩阵D 与L 转置的乘积,即A =LDL T,其中L 和D 各元素可依如下顺序公式计算⎪⎪⎩⎪⎪⎨⎧++=-=-=∑∑-=-=11112,,2,1,/)(k t k kt it t ik ik k r kr r kk k nk k i d l l d a l l d a d其中k = 1,2,…,n .5. 实验环境操作系统:Windows xp ; 程序设计语言:VC++ 6. 实验过程(1)按计算公式依次先计算D 的一个元素d k ,再计算L 中这列的元素l ik ,且对称位置的元素也取同一个值;(2)因为计算完d k 和l ij 后,a kk 或a ij 就不再使用,为节省存储空间,将计算的a kk 或l ij 仍存放在矩阵A 中的相应位置;(3)使用L 矩阵时需要根据元素所在位置取固定值或A 中相应位置的值.L 对角线和上三角部分为0,下三角部分为A 中对应的元素;D 对角线为A 中对应的元素,其余都是0.算法的伪代码描述: Input :阶数n ;矩阵AOutput :矩阵L (合并存储在数组A 中)7. 结果与分析8. 附录:程序清单%************************************************************* %* 程 序 名:ImprovedCholesky.m * %* 程序功能:对称正定矩阵的改进的Cholesky 分解. * %*************************************************************n=4; % 矩阵阶数A=[6,2,1,-1; 2,4,1,0; 1,1,4,-1; -1,0,-1,3];disp('A =');for i=1:nfor j=1:nfprintf('%10.4f',A(i,j)); % 共占14位endfprintf('\n'); % 一行完毕换行end% Cholesky分解for k=1:n% 计算D对角线上的u_{kk}% 计算L的元素l_{ik}% 和L转置的元素l_{ki} end % L在A下三角, D在对角线disp('分解结果:');disp('L=');for i=1:nfor j=1:nif i>j % 在下三角部分, 则取A对于的元素显示fprintf('%10.4f',A(i,j));elseif i==j % 在对角线上, 则显示1fprintf('%10d',1);else % 在上三角部分, 则显示0fprintf('%10d',0);endendfprintf('\n'); % 换行enddisp('D='); for i=1:n for j=1:n if i==j % 在对角线上, 则取A 对于的元素显示fprintf('%10.4f',A(i,j));else % 其余显示0fprintf('%10d',0); end endfprintf('\n'); % 换行 end《数值计算方法》实验3报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验3 解线性方程组的直接法(之追赶法) 2. 实验题目用追赶法求解线性方程组⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-----101053001210023100124321x x x x 3. 实验目的熟悉解线性方程组的追赶法. 4. 基础理论对于系数矩阵为三对角矩阵的方程组,其Crout 分解可分解为⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=------11111211122111122211n n nn n n nn n n t t t s a s a s a s b a c b a c b a c b A这样,解方程组可以由如下2步完成:“追”:,,,3,2,/)(,,/,/,1111111111n i s y a f y t a b s s c t s f y b s i i i i i i i i i i i i =-=-====-----其中:Tn f f ),,(1 为方程组的常数项,n t 没用;“赶”:.1,,2,1,,1 --=-==+n n i x t y x y x i i i i n n5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程在“追”的过程中,向量s 和y 都有n 个元素,t 只有n -1个元素,又1s 和1y 的计算公式与其它i s 和i y 不同,所以先单独计算1s 和1y ,然后在一个n -1次循环中,求其它i s 和i y 以与i t .由于在“追”的过程中,i b ,i c 和i f 在分别计算完对应的i s ,i t 和i y 后就不再使用,所以借用数组b ,c 和f 存储向量s ,t 和y ;同样在“赶”的过程中,i y 在计算完对应的i x 后就不再使用,所以再一次借用数组f 存储向量x .追赶法算法的伪代码描述:Input :阶数n ;三对角矩阵的三条对角线向量a ,b ,c ,常数项向量f Output :方程组的解x改进的追赶法算法的伪代码描述:Input :阶数n ;三对角矩阵的三条对角线向量a ,b ,c ,常数项向量f Output :方程组的解x7. 结果与分析8. 附录:程序清单%*************************************************************%* 程序名:ChaseAfter.m *%* 程序功能:用追赶法求解三对角线性方程组. *%*************************************************************clc;clear all;n=4;a=[0,-1,-1,-3];b=[2, 3, 2, 5];c=[-1, -2, -1, 0];f=[0, 1, 0, 1];% "追"s(1) = b(1);y(1) = f(1); % 先单独求s_1和y_1 for k = 1 : n-1% 再求t_i(i=1,2,…,n-1)% s_i(i=2,3,…,n)% y_i(i=2,3,…,n)end% "赶"x(n) = y(n); % 先单独求x_nfor k = n-1 : -1 : 1% 再求x_i(i=n-1,n-2, (1)endx=x' % 输出解向量-------------------------------------------------------------------------------------------------------------------改进的程序:%*************************************************************%* 程序名:ChaseAfter.m *%* 程序功能:用追赶法求解三对角线性方程组. *%*************************************************************clc;clear all;n=4;a=[0,-1,-1,-3];b=[2, 3, 2, 5];c=[-1, -2, -1, 0];f=[0, 1, 0, 1];% "追"% b(1)=b(1); % s_1仍在b_1中,不用重新计算y(1)=f(1)/b(1); % 先单独y_1for k=1:n-1% 再求t_i(i=1,2,…,n-1)% s_i(i=2,3,…,n)% y_i(i=2,3,…,n)end% "赶"% f(n)=f(n); % x_n等于y_n仍在f_n中for k=n-1:-1:1% 再求x_i(i=n-1,n-2, (1)endx=f' % 输出解向量《数值计算方法》实验4报告班级:20##级####x班学号:20##2409####:##X 成绩:1. 实验名称实验4 解线性方程组的迭代法(之Jacobi迭代)2. 实验题目用Jacobi迭代法求解线性方程组1231231232251223x x x x x x x x x +-=⎧⎪++=⎪⎨++=⎪⎪⎩任取3. 实验目的掌握解线性方程组的Jacobi 迭代法. 4. 基础理论将第i (n i ≤≤1)个方程i n in i i b x a x a x a =+++ 2211移项后得到等价方程ii n in i i i i i i i i i a x a x a x a x a b x /)(11,11,11------=++--便可构造出Jacobi 迭代公式,1,0,/)()()(11,)(11,)(11)1(=------=++--+k a x a x a x a x a b x ii k n in k i i i k i i i k i i k i . 5. 实验环境操作系统:Windows xp ; 程序设计语言:Matlab 6. 实验过程7. 结果与分析8. 附录:程序清单《数值计算方法》实验4报告班级: 20##级####x 班 学号: 20##2409#### : ##X 成绩:1. 实验名称实验4 解线性方程组的迭代法(之Gauss-Seidel 迭代) 2. 实验题目用Gauss-Seidel 迭代法求解线性方程组。

计算方法实验报告

计算方法实验报告

2019年计算方法(B)实验报告姓名:学号:专业:课程:计算方法(B)目录一、实验综述 (1)二、实验内容 (1)2.1 实验一 (1)2.2 实验二 (2)2.3 实验三 (3)2.4 实验四 (4)2.5 实验五 (6)三、思考总结 (7)附件A1 (8)附件A2 (9)附件A3 (10)附件A4 (12)附件A5 (14)一、实验综述计算方法在工程实践中得到了广泛的应用,是理工类研究生必备的知识技能。

按照2019年计算方法课程学习要求,本文对计算方法上机题目进行了算法设计、分析,利用matlab 2019b版本对算法进行实现,最终形成了实验报告。

以下为本次实验报告具体内容,包括五个实验部分和一个思考总结部分。

二、实验内容2.1 实验一2.1.1 实验题目用Jacobi迭代和Gauss-Seidel迭代解电流方程组,使各部分电流的误差均小于10-3。

2.1.2 算法分析a)首先列出方程组的系数矩阵A以及等式右端的矩阵b,A=[28,-3,0,0,0;-3,38,-10,0,-5;0,-10,25,-15,0;0,0,-15,45,0;0,-5,0,0,30 ];b=[10;0;0;0;0];为了验证A是否收敛,我们通过判断系数矩阵A是否为严格对角占优矩阵进行确定。

如果是,则可以进行Jacobi迭代和Gauss-Seidel迭代(利用matlab程序验证后,证明了矩阵A为严格对角占优矩阵);如果不是,则需要采用其他方法进行判断迭代是否收敛。

b)对矩阵A分裂成三部分,,其中D为A的对角矩阵,E为A的下三角矩阵的相反数,F为A的上三角矩阵的相反数。

c) Jacobi迭代。

取x得初始向量为x=[0;0;0;0;0],利用迭代公式进行循环计算,当的无穷范数小于10-3,即,停止循环。

d) Gauss-Seidel迭代。

取x得初始向量为x=[0;0;0;0;0],利用迭代公式进行循环计算,当的无穷范数小于10-3,即,停止循环。

计算操作例题

计算操作例题

计算操作例题
以下是一个简单的计算操作例题:
问题:某工厂生产了1000个零件,其中不合格的零件有10个。

如果工厂想要将不合格率降低到1%,那么工厂需要生产多少个零件?
首先,我们需要计算不合格率。

根据题目,不合格的零件数量是10,总零件数量是1000,所以不合格率是10/1000 = 1%。

然后,我们需要计算工厂需要生产的零件数量。

假设工厂需要生产的零件数量为x,那么不合格率就是10/x。

工厂希望这个比例降低到1%,所以我们可以建立方程:10/x = 1%。

解这个方程,我们可以找到x的值。

计算结果为:x = 1000
所以,工厂需要生产1000个零件才能将不合格率降低到1%。

数通ie实验题

数通ie实验题

数通ie实验题1. 实验题目:比较不同国家的GDP增长率。

实验方法:收集不同国家在过去十年内的GDP数据,计算每个国家的年均增长率。

根据这些数据,比较不同国家的经济发展情况,包括发展速度、稳定性等方面。

2. 实验题目:破碎屏幕对手机电池寿命的影响。

实验方法:收集一批具有相同型号手机的手机,将其屏幕分为两组,一组破碎,另一组完好。

使用实验工具对两组手机的电池性能进行测试,记录充电时间、电池容量、使用时间等数据,并进行对比分析,以观察破碎屏幕对手机电池寿命的影响。

3. 实验题目:探究不同水质对水生生物生长的影响。

实验方法:收集三个水样,一个来自自来水管道,一个来自河流,一个为蒸馏水。

在实验设备中的三个容器中分别装入这三种水样,并将相同数量的水生生物(如小型水藻)放入容器中。

观察和记录每个容器中水生生物的生长情况,包括生长速度、生长周期、生物种群的变化等,以比较不同水质对水生生物生长的影响。

4. 实验题目:探究不同音乐类型对心率和心情的影响。

实验方法:选取不同类型的音乐,如古典音乐、摇滚音乐、舒缓音乐等,分别播放给实验参与者。

在实验过程中,使用心率监测仪记录实验参与者的心率,同时使用问卷调查或情绪评估表收集实验参与者的心情数据。

比较不同音乐类型对心率和心情的影响,以探究音乐对人的心理和生理状态的影响。

5. 实验题目:比较不同教学方法对学生学习效果的影响。

实验方法:选取两种教学方法,如传统课堂教学和互动式教学,将学生随机分为两组,分别接受不同教学方法的教学。

在教学结束后,对两组学生进行知识测试,比较两组学生的学习成绩,以评估不同教学方法对学生学习效果的影响。

同时,可以使用学生问卷调查等方式了解学生对不同教学方法的体验和反馈。

计算方法二分法实验

计算方法二分法实验

计算方法上机实验报告土木0804上机题目;利用二分法求下列方程在【5.5-6.5】的根实验目的:本实验通过二分法对方程求解,通过观察方程x1,x2随二分次数增加而起的变化,以及通过改变方程中七次项系数微小变化对方程求解的影响,加深对二分法求解方程的理解。

并锻炼C语言编程能力。

实验分析:二分法求解采用的是根的存在定理(零点定理):f(x)为[a,b]上的连续函数,若f(a)·f(b)<0,则[a,b]中至少有一个实根。

如果f(x)在[a,b]上还是单调递增或递减的,则f(x)=0仅有一个实根。

取[a,b]的中点x=(a +b)/2作为问题的近似解,那么我们可以估计出绝对误差限仅为区间长的一半,即e=(b-a)/2。

如果这个结果能满足精度要求,我们就停止进一步的计算;如果不能,就求出f(x),结果只能是下面三种情况之一:(1) f(a)·f(x)<0,此时我们有x*∈[a,x];(2) f(x)·f(b)<0,此时我们有x*∈[x,b];(3) f(x)=0,此时x即为问题的精确解。

在前两种情况下,我们可以用x分别替换原问题中的b或a,从而把求解的区间减小了一半。

这样我们又可以取新区间[a,b]的中点。

经过N次迭代后,剩下的区间长为(b- a)/2N。

这也是结果的绝对误差限。

如此继续下去就达到是有根区间逐步缩小的目的,在这一些相互包含的子区间中构造收敛的数列{}kx来逼近根*x。

实验过程:1;C语言程序# include <stdio.h># include <conio.h># include <math.h># define PRECISION 1e12double f(double c){double m,x,m1,m2,m3;x=c;m1=x*x;m2=m1*x;m3=m1*m1;m=m3*m3-36*m3*m2+546*m2*m3-4536*m3*x+22449*m3-67284*m2+118124*m1-109584*x+40320; return(m);}double Root(float a,float b){ int i;i=0;double x1,x2;x1=a;x2=b;do{printf ("\n i=%d,x1=%f,x2=%f ",i,x1,x2);if(f(x1)*f((x1+x2)/2)<0)x2=(x1+x2)/2;elsex1=(x1+x2)/2;i++;}while (i<=100);return (x1);}void main(){float x1,x2,r;printf ("\n input x1,x2: \n ") ;scanf ("%f %f",&x1,&x2);r=Root(x1,x2);printf ("\n Root x=%f",r);}2.结果分析当a7=-36是,迭代到i=21时,出现x1=x2=6.500000,不再发生变化,出现精确解 x=root=x1=6.500000,收敛速度在数列xn 越靠近根时越慢。

数值计算方法后退欧拉法,龙格库塔法(三阶,四阶方法)

数值计算方法后退欧拉法,龙格库塔法(三阶,四阶方法)

数值计算方法实验课测验作业——微分方程求解的后退欧拉法,龙格库塔法(三阶,四阶方法)日期:2011-06-17一、实验目的1.学习matlab的使用方法。

2.掌握常微分方程的几种数值解法:后退欧拉法,龙格库塔法三阶方法,龙格库塔法四阶方法。

3.比较各方法的数值解及误差,了解各方法的优缺点。

二、实验题目给定的初值问题y′=-y+x+2,0≤x≤1y(0)=-1,取精确解y(x)=exp(-x)+x按(1)后退欧拉法,步长h=0.003, h=0.1;(2)龙格库塔法三阶方法,步长h=0.1;(3)龙格库塔法四阶方法,步长h=0.1;求在节点x k=1+0.1k (k=1,2,3……10)处的数值解及误差比较各方法的优缺点。

三、实验原理1.对于后退欧拉法:利用Yn+1 = Yn + 1/2*K1 + 1/2*K2①n = 1, 2, 3……K1 = hf(Xn, Yn)②K2 = hf(Xn + h, Yn + K1)③三式可以完成计算需要将微分方程表达式和精度计算表达式作为两个函数保存在m文件里并在程序中调用:①微分方程(oulei_wf)function z=oulei_wf(x,y)z=-y+x+2end②精确解计算(ouleij_q)function z=ouleij_q(x)z=exp(-x)+xend2.对于龙哥库塔三阶:利用Yn+1 = Yn + h/6(K1 + 4K2 + K3 ) ①K1 = f(Xn, Yn)②K2 = f(Xn + 1/2*h, Yn +( h/2)*K1)③K3= f(Xn + h, Yn - K1+2*h*k2)④四式可以完成计算3.对于龙哥库塔四阶:利用Yn+1 = Yn + 1/6(K1 + 2K2 + 2K3 +K4) ①K1 = hf(Xn, Yn)②K2 = hf(Xn + 1/2*h, Yn + 1/2*K1)③K3 = hf(Xn + 1/2*h, Yn + 1/2*K2)④K4 = hf(Xn + h, Yn + K3)⑤四式可以完成计算四、实验内容由上述实验原理叙述的后退欧拉法,龙哥库塔三阶,龙哥库塔四阶几种常微分方程数值解法分别对已给定的初值问题进行求解,比较各方法的数值解及误差,了解各方法的优缺点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1 1+25x 2
,-1<=x<=1,以 0.2 为步长取等值节点, 建立插值多项式 g(x), 并计
算 g(x)在更多点的函数值。 xn=-1:0.2:1; yn=1./(1+25*xn.^2); x=-1:0.01:1; y=Lagrange(xn,yn,x); %调用了上题的Lagrange函数 y1=1./(1+25.*x.^2); plot(x,y1,'k','Linewidth',1) hold on; plot(x,y,'k--','Linewidth',1') hold off xlabel('x轴') ylabel('y轴') legend('原函数','插值函数')
2 sin 2 x x |x| 1+ 1−x 2
-11.0902 0.0902
17.9443 0.0557
y=
1−cos 2x x 1 − 1−x 2 |x|
(2)y = ln
y = ln
%%syms x %% y1=(2*(sin(x))^2)/x; x=0.000001 y2=(1-cos(2*x))/x; y1=(2*(sin(x))^2)/x y3=log(abs(x)/(1+sqrt(1-x^2))); y2=(1-cos(2*x))/x y4=log((1-sqrt(1-x^2))/abs(x)); y3=log(abs(x)/(1+sqrt(1-x^2))) limit(y1,x,0) y4=log((1-sqrt(1-x^2))/abs(x)) limit(y2,x,0) 运行结果: limit(y3,x,0) y1 =1.999999999999333e-006 limit(y4,x,0) y2 =1.999955756559757e-006 运行结果: y3 =-14.508657738523969 ans =0 ans =0 ans =-Inf ans y4 =-14.508568841893300 =-Inf 由于 y1>y2,因此 y2 的精度较高;由于 y3<y4,因此 y3 的精度较高 5、编一个通用的 Lagrange 插值程序。 (n 个点,而非具体个数,φ n 可算多个点、或数组 的值) 。 function y=Lagrange(xn,yn,x) n=length(xn); m=length(x); for i=1:m s=0; xi=x(i); for k=1:n p=1; for j=1:n if j~=k p=p*(xi-xn(j))/(xn(k)-xn(j)); else continue end end s=p*yn(k)+s; end
−������ ± ������ 2 −4������������ 2������
,其中,
-b=1017 +1=0.1x1018 +0.000000000000000001x1018 .而计算机上只能表达到小数点后 15 位,故 0.000000000000000001x1018 将不起作用,而被吃掉。.因此-b=1017x1x2=c/a 来求 x2,代码如….2…..。 运行结果为 x1 =1.000000000000000e+017 x2 = 1 2、 给定的 f(x),对不同的 h 值,用公式������’ x0 ≈ 当 f(x)为线性函数时,用公式������’ x0 ≈
y(i)=s; end 试验:过(100,10)和点(144,12)构造Lagrang插值函数计算在x=[134,151]处的值。 xn=[100,144];yn=[10,12];x=[134,151];y=Lagrange(xn,yn,x) y =11.5455 12.3182 6、Runge 现象表示。 给定函数f x =
实验题目: 2 9 9 1、 (1)类似于 x -(10 +1)x+10 =0,其中零次项该如何确定(或说问题提法) 。 (2)提供方法求得集中精度的解。 %% ……1….. %% …….2…… format long format long k=17; k=17; a=1; a=1; b=-(10^k+1); b=-(10^k+1); c=10^k; c=10^k; x1=(-b+sqrt(b^2-4*a*c))/(2*a) x1=(-b-sign(b)*sqrt(b^2-4*a*c))/(2*a) x2=(-b-sqrt(b^2-4*a*c))/(2*a) x2=c/(a*x1) 当正整数 k 取值<17 时,方程的解正确,分别为10k 和 1.当 k>=17 时,计算机的 计算结果为10k 和 0,显然不对。这是因为用 matlab 计算时,format long 只能表达到 小数点后 15 位, 按二次方程求解的公式编制程序进行计算, 因������12 =
f x 0 +h −f(x 0 ) h
误差的表现。
f x 0 +h −f(x 0 ) h
计算的结果与实际值一样,没有误
差。 任意取一个非线性函数 f(x), f(x)=x 2 +1,x0 =0.2,计算不同 h 值时������’ x0 的结果。 X0=0.2; h=[1,0.5,0.1,0.01,0.001,0.0001,0.00001,0.000001]; %h的不同取值 f=[1,0,1]; %f(x)=x^2+1 g=[2,0]; %g(x)= ������’ x =2*x a1=polyval(f,x0); a2=polyval(f,x0+h); b1=(a2-a1)./h; %b1即������’ x0 b2=polyval(g,x0); %b2即������’ x0 c=b1-b2 %c为误差 运行结果: 1.000000000000000 0.500000000000000 0.099999999999999 0.010000000000000 0.001000000000030 0.000099999999282 0.000010000007379 0.000001000006634 当 h 的值逐渐减小时,用公式计算得到的������’ x0 与������’ x0 的准确值的差别越小。 因此步长 h 取的越小,公式计算的结果越精确。 2 3、 计算φ n , n = 1,2, …其中φ 为方程 x +x-1=0 的一个根。 format long %使计算精度更高 2 p=[1,1,-1] %方程为x +x-1=0 m=roots(p) %求方程的根
format short n=1:10; k1=m(1).^n k2=m(2).^n 运行结果:m = -1.618033988749895 0.618033988749895 k1 =-1.6180 2.6180 -4.2361 6.8541 -29.0344 46.9787 -76.0132 122.9919 k2 =0.6180 0.3820 0.2361 0.1459 0.0344 0.0213 0.0132 0.0081 4、已知|x|<<1,比较下列公式的精度。 (1) y =
d=[1;5;2;-1;0]; x=c\d toc 运行结果: x = 9.666666666666663 -3.666666666666664 8.333333333333329 -1.466666666666666 5.133333333333330 Elapsed time is 0.000206 seconds. (二)追赶法 Format long a=[5,-2,-5,2,-6]; b=[1,5,2,-1,0]; A=ones(1,6); %预置空间,减少运算时间 B=ones(1,6); A(1)=-a(1)/2; B(1)=b(1)/2; for i=2:5 A(i)=-a(i)/(2+(1-a(i))*A(i-1)); B(i)=(b(i)-(1-a(i))*B(i-1))/(2+(1-a(i))*A(i-1)); end x(5)=B(5) for i=4:1:1 x(i)=A(i)*x(i+1)+B(i); end disp(x) 运行结果:x = 9.666666666666663 -3.666666666666664 8.333333333333329 -1.466666666666666 5.133333333333332 Elapsed time is 0.000191 seconds. (三)精确解 f1='2*x1+5*x2=1'; f2='3*x1+2*x2-2*x3=5'; f3='6*x2+2*x3-5*x4=2'; f4='-x3+2*x4+2*x5=-1'; f5='7*x4+2*x5=0'; [x,x2,x3,x4,x5]=solve(f1,f2,f3,f4,f5) 运行结果:x =[ 29/3, -11/3, 25/3, -22/15, 77/15] 比较解的误差可以看出: (一)的误差>(二)的误差 比较运行时间:追赶法的运行时间明显小于一般解法的运行时间。由此可知,追赶法的运行 速度较快。
由图可以看出,g(x)在原点附近能较好的逼近 f(x),在其他部位差异较大,越靠近端点 逼近的效果越差。 在 n 个节点构造的 Lagrang 插值多项式不一定收敛到相应的被插函数。 这就是 Runge 现象。为解决 Runge 现象,引入分段线性插值。 7、给一个三对角方程组,分别用 matlab 一般解法、追赶法求解,并得到 cpu 运行时间,比 较误差大小。 任意取一个三对角方程组: 2x1+5x2=1;3x1+2x2-2x3=5;6x2+2x3-5x4=2;-x3+2x4+2x5=-1;7x4+2x5=0 (一)Matlab一般解法: format long tic c=[2,5,0,0,0; 3,2,-2,0,0; 0,6,2,-5,0; 0,0,-1,2,2; 0,0,0,7,2];
相关文档
最新文档