实验二 数值积分实验

实验二 数值积分实验
实验二 数值积分实验

实验二数值积分实验

一. 实验目的

(1)熟悉数值积分与数值微分方法的基本思想,加深对数值积分与数值微分方法的理解。

(2)熟悉Matlab编程环境,利用Matlab实现具体的数值积分与数值微分方法。

二. 实验要求

用Matlab软件实现复化梯形方法、复化辛甫生方法、龙贝格方法和高斯公式的

相应算法,并用实例在计算机上计算。

三.实验内容

1. 实验题目

已知x

(-

+

=的数据表

)

1

x

e

f x4

sin Array

分别编写用复化梯形法、复化辛甫生公法、龙贝格法、三点高斯法求积分?=10)(dx

f

I

x

近似值的计算机程序。

2. 设计思想

1.复化Simpson公式:

设计Simpson公式,即为设计含有3个节点(即为3阶精度)的Newton-Cotes 公式。将区间划分为3等份,选取等分点作为求积节点构造求积公式,具有三阶精度的Simpson公式。

将区间[a,b]划分为n等分,步长为h=(b-a)/n,等分点xi=a+i*h,i=0,1,2,3…。

设计复化求积法,先用低阶求积公式求得每个子段上的积分值,然后再将它们累加求和,用各段积分之和作为所求积分的近似值。

即设计出复化Simpson公式。

2.复化梯形公式:

将区间[a,b]划分为n等分,步长为h=(b-a)/n,等分点xi=a+i*h,i=0,1,2,3…。

设计复化求积法,先用低阶求积公式求得每个子段上的积分值,然后再将它们累加求和,用各段积分之和作为所求积分的近似值。

再根据梯形公式即可设计出复化梯形公式。

3.Romberg公式:

再加工Cotes值。将积分区间[a,b]划分为8等份,等分点xi=a+i*(b-a)/8,

i=0,1,2…,8,则二分前后的Cotes值可求,再对求得的Cotes公式进行松弛,提高精度,设计出Romberg公式。

4.三点Gauss公式:

根据Newton-Cotes公式,但对求积节点自由选择,适当选取待定参数使公式具有高精度,即设计出Gauss公式。而设计出具有5阶精度即为3点Gauss公式。

3. 对应程序

1.复化Simpson公式:

Simpson.m:

function S=FSimpson(f,a,b,N)

%f表示被积函数句柄

%a,b表示被积区间[a,b]的端点

%N表示区间个数

%S用复化Simpson公式求得的积分值

h=(b-a)/N;

fa=feval(f,a);

fb=feval(f,b);

S=fa+fb;

x=a;

for i=1:N

x=x+h/2;

fx=feval(f,x);

S=S+4*fx;

x=x+h/2;

fx=feval(f,x);

S=S+2*fx;

end

S=h*S/6;

f1.m:

function f=f1(x)

f=1+exp(-x)*sin(4*x);

2.复化梯形公式:

function [T,n]=fhtx(f,a,b,eps)

%f表示被积函数句柄

%a,b表示被积区间[a,b]的端点

%eps表示精度

%T是用变步长梯形法求得的积分值

%n表示二分区间的次数

h=b-a;

fa=feval(f,a);

fb=feval(f,b);

T1=h*(fa+fb)/2;

T2=T1/2+h*feval(f,a+h/2)/2;

n=1;

while abs(T2-T1)>=eps;

h=h/2;

T1=T2;

S=0;

x=a+h/2;

while x

fx=feval(f,x);

S=S+fx;

x=x+h;

end

T2=T1/2+S*h/2;

n=n+1;

end

T=T2;

f1.m:

function f=f1(x)

f=1+exp(-x)*sin(4*x);

3.Romberg公式:

function [quad,R]=Romberg(f,a,b,eps)

%f表示被积函数句柄

%a,b表示积分区间[a,b]的端点

%eps表示精度

%quad是用Romberg算法求得的积分值%R表示Romberg表

%err表示误差的估计

h=b-a;

R(1,1)=h*(feval(f,a)+feval(f,b))/2;

M=1;J=0;err=1;

while err>eps

J=J+1;

h=h/2;

S=0;

for p=1:M

x=a+h*(2*p-1);

S=S+feval(f,x);

end

R(J+1,1)=R(J,1)/2+h*S;

M=2*M;

for k=1:J

R(J+1,k+1)=R(J+1,k)+(R(J+1,k)-R(J,k))/(4^k-1);

end

err=abs(R(J+1,J)-R(J+1,J+1));

end

quad=R(J+1,J+1);

f1.m:

function f=f1(x)

f=1+exp(-x)*sin(4*x);

4.三点Gauss公式:

function G=TGauss(f,a,b)

%f表示被积函数句柄

%a,b表示被积区间[a,b]的端点

%G是用三点Gauss公式求得的积分值

x1=(a+b)/2-sqrt(3/5)*(b-a)/2;

x2=(a+b)/2+sqrt(3/5)*(b-a)/2;

G=(b-a)*(5*feval(f,x1)/9+8*feval(f,(a+b)/2)/9+5*feval(f,x2)/9)/2;

f1.m:

function f=f1(x)

f=1+exp(-x)*sin(4*x);

4. 实验结果

1.复化Simpson公式:

2.复化梯形公式:

3.Romberg公式:

4.三点Gauss公式:

四.实验体会

通过这次数值积分实验,我更加深入的掌握了复化Simpson公式、复化梯形公式、Romberg公式以及三点Gauss公式,知道了每种算法的关键设计要点,了解了每种算法设计的注意事项。并且更加熟练的应用matlab进行编程,同时对上述各种算法的精度有了很深刻的认识。

对于每种算法的具体设计方法在前面已有详细记述,在此主要对比每种算法的精度。复化Simpson公式求积,区间越小,求得的精度越高,但整体的效果并不是太好,有待进一步改进。复化梯形公式求解积分效果较好,算法简单,但精度低,收敛速度慢,绝对误差较小,复合梯形公式的误差限的系数为-(b-a)/12,而且后面是h平方级还有f的二次导数,而辛普森的系数是-(b-a)/(180*16),后面h是四次方级的,f的导数为四次导数,显然辛普森的误差限更加小而复化梯形公式公式是对代数精度的方面有着更加好的结果。Romberg算法可以经过较少的计算就能达到很高的精度。三点Gauss 公式求得的积分值比复化Simpson精度还高,求积节点的选取对数值求积精度的影响非常大。

对于数值积分来说,选择合适的算法非常重要。

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值积分实验报告

数值分析实验报告 实验四数值积分 一、用复合辛普森和龙贝格算法计算: 复合辛普森主函数xps: function xps(a,b,eps) n=0;Sd=0; S=(f(a)+f(b))*(b-a)/2; while abs(Sd-S)>eps Sd=S; n=n+1; h=(b-a)/n; for i=1:n+1 x(i)=a+(i-1)*h; end S1=f(x(1))+f(x(n+1)); S2=0; S3=0; for i=2:n S2=S2+f(x(i)); end S2=2*S2; for i=1:n S3=S3+f((x(i)+x(i+1))/2); end S3=4*S3; S=(S1+S2+S3)*h/6; end fprintf('%.15f\n',S); 龙贝格主函数romberg2: function romberg2 (a,b,eps) %a,b为区间,eps为精度 Rd=0; R=(b-a)/2*(f(a)+f(b)); N=0; while abs(Rd-R)>eps Rd=R; N=N+1; for k=1:2 if k==1 n=N*2;

else; n=N; end h=(b-a)/n; for i=1:n+1 x(i)=a+(i-1)*h; end C=0; for i=1:n C1=7*f(x(i))+32*f(x(i)+1/4*h)+12*f(x(i)+2/4*h)+32*f(x(i)+3/4*h)+7*f(x(i+1)); C=C+C1*h/90; end if k==1 R=C*64/63; else R=R-C/63; end end end fprintf('结果为:%.15f',R); 1、建立被积函数文件f.m function y=f(x) y=exp(-x^2); 2、调用xps.m、romberg2.m求定积分. >> xps(0,0.5,0.0000001) 0.461281071728228 >>romberg2 (0,0.5,0.0000001) 结果为: 0.461281006413932

实验3-组合逻辑电路数据选择器实验

南通大学计算机科学与技术学院计算机数字逻辑设计 实验报告书 实验名组合逻辑电路数据选择器实验 班级_____计嵌151_______________ 姓名_____张耀_____________________ 指导教师顾晖 日期 2016-11-03

目录 实验一组合逻辑电路数据选择器实验 (1) 1.实验目的 (1) 2.实验用器件和仪表 (1) 3.实验内容 (1) 4.电路原理图 (1) 5.实验过程及数据记录 (2) 6.实验数据分析与小结 (9) 7.实验心得体会 (9)

实验三组合逻辑电路数据选择器实验 1 实验目的 1. 熟悉集成数据选择器的逻辑功能及测试方法。 2. 学会用集成数据选择器进行逻辑设计。 2 实验用器件和仪表 1、8 选 1 数据选择器 74HC251 1 片 3 实验内容 1、基本组合逻辑电路的搭建与测量 2、数据选择器的使用 3、利用两个 74HC251 芯片(或 74HC151 芯片)和其他辅助元件,设计搭建 16 路选 1 的电路。 4 电路原理图 1、基本组合逻辑电路的搭建与测量 2、数据选择器的使用

3、利用两个 74HC251 芯片(或 74HC151 芯片)和其他辅助元件,设计搭建 16 路选 1 的 电路。 5 实验过程及数据记录 1、基本组合逻辑电路的搭建与测量 用 2 片 74LS00 组成图 3.1 所示逻辑电路。为便于接线和检查,在图中要注明芯片编号及各引脚对应的编号。

图 3.1 组合逻辑电路 (2)先按图 3.1 写出 Y1、Y2 的逻辑表达式并化简。 Y1==A·B ·A =A + A·B=A + B Y2=B·C ·B·A = A · B+ B ·C (3)图中 A、B、C 接逻辑开关,Y1,Y2 接发光管或逻辑终端电平显示。(4)改变 A、B、C 输入的状态,观测并填表写出 Y1,Y2 的输出状态。 表 3.1 组合电路记录

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

计算方法-数值积分实验

实验二数值积分实验 一. 实验目的 (1)熟悉数值积分与数值微分方法的基本思想,加深对数值积分与数值微分方法的理解。 (2)熟悉Matlab编程环境,利用Matlab实现具体的数值积分与数值微分方法。 二. 实验要求 用Matlab软件实现复化梯形方法、复化辛甫生方法、龙贝格方法和高斯公式的相应算法,并用实例在计算机上计算。 三.实验内容 1. 实验题目 已知x e x f x4 sin 1 ) (- + =的数据表 分别编写用复化梯形法、复化辛甫生公法、龙贝格法、三点高斯法求积分?=1 ) (dx x f I 近似值的计算机程序。 A.复化梯形法: a.编写文件Trapezoid.m,代码如下所示:

b.编写文件f2.m: c.运行: B.复化辛甫生公法 a.编写文件FSimpson.m,代码如下所示:

b.编写文件f2.m: function f=f2(x) f=1+exp(-x).*sin(4*x); c.运行: C.龙贝格法

a.编写文件Romberg.m,代码如下所示: b.运行:

D.三点高斯法 a.编写文件TGauss.m文件,如下所示:

b.运行: 2. 设计思想 要求针对上述题目,详细分析每种算法的设计思想。 总体的思想是化复杂为简单的重复 A.复化梯形法使用直接法,通过递归,缩减规模; B.复化辛甫生也是使用直接法,根据公式直接进行编程,通过递归缩减规模; C.龙贝格算法应该在做了的几个中最体现了“化复杂为简单的重复”的思想,多个循环通过变量的适当递增,和一个for循环语句来实现,循环主体只有一句话,但确是整个程序中的亮点和难点; D.三点高斯法直接通过一条简单的公式来编写程序,难度不大; 四.实验体会 对实验过程进行分析总结,对比不同方法的精度,指出每种算法的设计要点及应注意的事项,以及自己通过实验所获得的对数值积分方法的理解。

数字电路实验报告——数据选择器

第八次实验报告 实验六 数据选择器 一、实验目的要求 1、 熟悉中规模集成电路数据选择器的工作原理与逻辑功能 2、 掌握数据选择器的应用 二、实验仪器、设备 直流稳压电源、电子电路调试器、T4153、CC4011 三、实验线路、原理框图 (一)数据选择器的基本原理 数据选择器是常用的组合逻辑部件之一,它有若干个输入端,若干个控制输入端及一个输出端。 数据选择器的地址变量一般的选择方式是: (1) 选用逻辑表达式各乘积项中出现次数最多的变量(包括原变量与反变量),以简 化数据输入端的附加电路。 (2) 选择一组具有一定物理意义的量。 (二)T4153的逻辑符号、逻辑功能及管脚排列图 (1)T4153是一个双4选1数据选择器,其逻辑符号如图1: 图1 (2) T4153的功能表如下表 其中D0、D1、D2、D3为4个数据输入端;Y 为输出端;S 是使能端,在S 是使能端,在 原SJ 符号

S =0时使能,在S =1时Y=0;A1、A0是器件中两个选择器公用的地址输入端。该器件的 逻辑表达式为: Y=S (1A 0A 0D +101D A A +201D A A +301A A A ) (3) T4153的管脚排列图如图2 图2 (三)利用T4153四选一数据选择器设计一个一位二进制全减器的实验原理和实验线路 (1)一位二进制全减器的逻辑功能表见下表: n D =n A n B 1-n C +n A n B 1-n C +n A n B 1-n C +n A n B 1-n C n C =n A n B 1-n C +n A n B 1-n C +n A n B 1-n C +n A n B 1-n C =n A n B 1-n C +n A n B +n A n B 1-n C (3)根据全减器的逻辑功能表设计出的实验线路图为图3: S 11D 3 1D 2 1D 1 1D 0 1Y

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

数值分析实验指导 - 7 积分

数值分析实验指导 潘志斌 2014年3月

实验七 数值积分 数值实验综述:通过数值积分实验掌握数值积分的实现,理解各种数值积分公式的特性,并能用数值积分求解积分方程和微分方程。 基础实验 7.1 Newton-cotes 型求积公式 实验目的:学会Newton-cotes 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? π cos xdx e x 实验要求:选择等分份数n ,用复化Simpson 求积公式求上述定积分的误差不超过810-的近似值,用MATLAB 中的内部函数int 求此定积分的准确值,与利用复化Simpson 求积公式计算的近似值进行比较。 7.2 Romberg 算法 实验目的:学会数值求积的Romberg 算法,并应用该算法于实际问题. 实验内容:求定积分 ? 1 5 .0dx x 实验要求: (1)要求程序不断加密对积分区间的等分,自动地控制Romberg 算法中的加速收敛过程,直到定积分近似值的误差不超过610-为止,输出求得的定积分近似值。 (2)可用MATLAB 中的内部函数int 求得此定积分的准确值与Romberg 算法计算的近似值进行比较。 7.3 Gauss 型求积公式 实验目的:学会Gauss 型求积公式,并应用该算法于实际问题. 实验内容:求定积分 ? -+4 42 1x dx 实验要求: (1)把Gauss 点的表格存入计算机,以Gauss-Legendre 求积公式作为本实验的例子,要求程序可以根据不同的阶数n ,自动地用n 阶Gauss-Legendre 求积

公式计算上述定积分的近似值.体会Gauss型求积公式是具有尽可能高的代数精度的数值求积公式。 (2)可用MATLAB中的内部函数int求得此定积分的准确值与Gauss型求积公式求得的值进行比较。

实验三_数据选择器

深圳大学实验报告 课程名称数字电路与逻辑设计 实验名称数据选择器 学院信息工程学院 专业 指导教师周小安 报告人李城权学号 2015130156 实验时间 2016-10-26 提交时间 2016-11-9 教务处制

一、实验目的与要求 1.了解和正确使用MSI组合逻辑部件; 2.掌握一般组合逻辑电路的特点及分析、设计方法; 3.学会对所设计的电路进行静态功能测试的方法; 4.观察组合逻辑电路的竞争冒险现象。 二、实验内容与方法 数据选择器是常用的组合逻辑电路之一。它有若干个数据输入端,若干个数据控制端和一个输出端。在控制输入端加上适当的信号,即可从多个数据输入源中将所需要的数据信号选择出来,送到输出端。使用时也可以在控制输入端加上一组二进制编码器程序的信号,使电路按要求输出一串信号,所以它也是一钟可编程序的逻辑部件,也可以用来构造逻辑函数发生器。 如74LS153的逻辑表达式为 Y=A A D+A A D+A A D+A A D 1010 00112103 所以任意给定的三输入变量的逻辑函数军可用4选1数据选择器来实现。 用数据选择器实现单输出函数的方法主要有比较法和图表法。 比较法设计步骤如下: (1)选择接到数据选择端的函数变量。 (2)写出数据选择器输出的逻辑表达式。 (3)将要实现的逻辑函数转换为标准与或表达式。 (4)对照数据选择器输出表达式和待实现函数的表达式,确定数据输入端的值。 (5)连接电路。 图表法设计步骤如下: (1)选择接到数据选择端的函数变量。 (2)画出逻辑函数和数据选择器的真值表。 (3)确定各个数据输入端的值。 (4)连接电路。 三、实验步骤与过程 实验仪器: (1)RXB-1B数字电路实验箱; (2)集成电路74LS00(四2输入与非门)1片、74LS153(双4选1数据选择器)1片。

数字电路实验二

实验2 数据选择器功能测试及设计应用 王玉通信工程 2012117266 一、实验目的 1.掌握中规模集成数据选择器的逻辑功能及测试方法。 2.掌握数据选择器的工作原理及使用方法。 二、实验仪器设备与主要器件 试验箱一个;双踪示波器一台;稳压电源一台。 双4选1数据选择器74LS153;8选1数据选择器74LS151和75LS251. 三、实验原理 能够实现从多路数据中选择一路进行传输的电路叫做数据选择器。数据选择器又称多路选择器,是中规模集成电路中应用非常广泛的组合逻辑部件之一。它是一种与分配器过程相反的器件。它有若干个数据输入端,D0,D1,D2,……,若干个控制输入端A0,A1……和一个或两个输出端Q(或Q非)。当控制输入码A0,A1……具有不同数据组合时,将选择组合码所对应的二进制数Dx输出。由于控制输入端的作用是选择数据输入端的地址,故又称为地址码输入端。 目前常用的数据选择器有2选1、4选1、8选1等多种类型。本实验主要熟悉4选1和8选1数据选择器。 四、实验内容与结果 1.测试74LS153的逻辑功能。 电路如下图: 测试结果为: A0 A1 s1s2Q1 Q2 * * 1 1 0 0 0 0 0 0 1D0 2D0 0 1 0 0 1D1 2D1 1 0 0 0 1D 2 2D2 1 1 0 0 1D3 2D3 2.用多路选择器设计实现一个8421-CD非法码检测电路。使得当输入端为非法码组合时输出1,否则为0.二进制数与BCD码的对应关系如下。写出函数Y的表达式,并进行化简,然后画出电路图,接线调试电路,用发光二极管显示输出结果,观察是否与表2-2-5相符。设

数值分析实验报告模板

数值分析实验报告模板 篇一:数值分析实验报告(一)(完整) 数值分析实验报告 1 2 3 4 5 篇二:数值分析实验报告 实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和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);

数值积分的matlab实现

实验10 数值积分 实验目的: 1.了解数值积分的基本原理; 2.熟练掌握数值积分的MATLAB 实现; 3.会用数值积分方法解决一些实际问题。 实验内容: 积分是数学中的一个基本概念,在实际问题中也有很广泛的应用。同微分一样,在《微积分》中,它也是通过极限定义的,由于实际问题中遇到的函数一般都以列表形式给出,所以常常不能用来直接进行积分。此外有些函数虽然有解析式,但其原函数不是初等函数,所以仍然得不到积分的精确值,如不定积分?1 0 d sin x x x 。这时我们一般考虑用数值方法计算其 近似值,称为数值积分。 10.1 数值微分简介 设函数()y f x =在* x 可导,则其导数为 h x f h x f x f h ) ()(lim )(**0* -+='→ (10.1) 如果函数()y f x =以列表形式给出(见表10-1),则其精确值无法求得,但可由下式求得其近似值 h x f h x f x f ) ()()(*** -+≈' (10.2) 表 10-1 一般的,步长h 越小,所得结果越精确。(10.2)式右端项的分子称为函数()y f x =在 *x 的差分,分母称为自变量在*x 的差分,所以右端项又称为差商。数值微分即用差商近似 代替微商。常用的差商公式为: 000()() ()2f x h f x h f x h +--'≈ (10.3) h y y y x f 243)(2 100-+-≈ ' (10.4)

h y y y x f n n n n 234)(12+-≈ '-- (10.5) 其误差均为2 ()O h ,称为统称三点公式。 10.2 数值微分的MATLAB 实现 MATLAB 提供了一个指令求解一阶向前差分,其使用格式为: dx=diff(x) 其中x 是n 维数组,dx 为1n -维数组[]21321,, ,n x x x x x x ---,这样基于两点的数值导 数可通过指令diff(x)/h 实现。对于三点公式,读者可参考例1的M 函数文件diff3.m 。 例1 用三点公式计算()y f x =在=x 1.0,1.2,1.4处的导数值,()f x 的值由下表给 解:建立三点公式的M 函数文件diff3.m 如下: function f=diff3(x,y) n=length(x);h=x(2)-x(1); f(1)=(-3*y(1)+4*y(2)-y(3))/(2*h); for j=2:n-1 f(j)=(y(j+1)-y(j-1))/(2*h); end f(n)=(y(n-2)-4*y(n-1)+3*y(n))/(2*h); 在MATLAB 指令窗中输入指令: x=[1.0,1.1,1.2,1.3,1.4];y=[0.2500,0.2268,0.2066,0.1890,0.1736];diff3(x,y) 运行得各点的导数值为:-0.2470,-0.2170,-0.1890,-0.1650,-0.0014。所以()y f x =在=x 1.0,1.2,1.4处的导数值分别为-0.2470,-0.1890和-0.0014。 对于高阶导数,MATLAB 提供了几个指令借助于样条函数进行求导,详细使用步骤如下: step1:对给定数据点(x,y ),利用指令pp=spline(x,y),获得三次样条函数数据pp ,供后面ppval 等指令使用。其中,pp 是一个分段多项式所对应的行向量,它包含此多项式的阶数、段数、节点的横坐标值和各段多项式的系数。 step2:对于上面所求的数据向量pp ,利用指令[breaks,coefs,m,n]=unmkpp(pp)进行处理,生成几个有序的分段多项式pp 。 step3:对各个分段多项式pp 的系数,利用函数ppval 生成其相应导数分段多项式的系数,再利用指令mkpp 生成相应的导数分段多项式 step4:将待求点xx 代入此导数多项式,即得样条导数值。 上述过程可建立M 函数文件ppd.m 实现如下: function dy=ppd(pp) [breaks,coefs,m]=unmkpp(pp);

实验二 数据选择器及其应用

实验二数据选择器及其应用 一、实验原理 数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器的功能类似一个多掷开关,如图4-1所示,图中有四路数据D0~D3,通过选择控制信号A1、A0(地址码)从四路数据中选中某一路数据送至输出端Q。 图4-1 4选1数据选择器示意图图4-2 74LS151引脚排列 数据选择器为目前逻辑设计中应用十分广泛的逻辑部件,它有2选1、4选1、8选1、16选1等类别。 数据选择器的电路结构一般由与或门阵列组成,也有用传输门开关和门电路混合而成的。

二、实验目的 1、掌握中规模集成数据选择器的逻辑功能及使用方法; 2、学习用数据选择器构成组合逻辑电路的方法。 三、实验设备与器件 1、+5V直流电源 2、逻辑电平开关 3、逻辑电平显示器 4、74LS151(或CC4512) 74LS153(或CC4539) 四、实验内容 1、测试数据选择器74LS151的逻辑功能。 接图4-7接线,地址端A2、A1、A0、数据端D0~D7、使能端S接逻辑开关,输出端Q接逻辑电平显示器,按74LS151功能表逐项进行测试,记录测试结果。 图4-7 74LS151逻辑功能测试

2、测试74LS153的逻辑功能。 测试方法及步骤同上,记录之。 逻辑功能见下表: 3、用8选1数据选择器74LS151设计三输入多数表决电路。 1)写出设计过程 有三个人进行表决,当其中任意两个人赞同时,输出为真,否则输出为假。真值表如下:

matlab计算方法实验报告5(数值积分)

计算方法实验报告(5) 学生姓名杨贤邦学号指导教师吴明芬实验时间2014.4.16地点综合实验大楼203 实验题目数值积分方法 实验目的●利用复化梯形、辛普森公式和龙贝格数值积分公式计算定积分的 近似植。 实验内容●梯形、辛普森、柯特斯法及其Matlab实现; ●变步长的梯形、辛普森、柯特斯法及其Matlab实现。 ●题目由同学从学习材料中任意选两题 算法分析梯形:function y=jifeng_tixing(a,b,n,fun) fa=feval(fun,a); fb=feval(fun,b); s=0; h=(b-a)/n; for k=1:n-1 xk=a+k*h; s=feval(fun,xk)+s; end y=(h/2)*(fa+fb+2*s); 辛普生:function y=jifeng_xingpu(a,b,n,fun) fa=feval(fun,a); fb=feval(fun,b); h=(b-a)/n; s=0; s2=feval(fun,a+0.5*h); for k=1:n-1 xk=a+k*h; s=feval(fun,xk)+s; s2=feval(fun,xk+(h/2))+s2; end

与源程序y=(h/6)*(fa+fb+2*s+4*s2); 龙贝格:function r2=jifeng_long(fun,a,b,e) h=b-a; t1=(h/2)*(feval(fun,a)+feval(fun,b)); k=1; r1=10; r2=0; c2=0; while abs(r2-r1)>e; s=0; x=a+h/2; while x=3 r1=r2; c2=s2+(1/15)*(s2-s1); r2=c2+(1/63)*(c2-c1); k=k+1;h=h/2; t1=t2;s1=s2; c1=c2; end end

实验三选数据选择器实验报告

实验三选数据选择器实 验报告 集团公司文件内部编码:(TTT-UUTT-MMYB-URTTY-ITTLTY-

实验三、八选一数据选择器 一、实验目的: 1.熟悉Quartus II6.0软件的使用和FPGA设计流程 2.用VHDL语言进行八选一数据选择器的设计 二、实验步骤: 一.建立文件夹:在D盘“xingming”的文件夹下建立一个名为“choice8”的文件夹。 二.建立新工程 1.双击桌面上Quartus II6.0 的图标,启动该软件。 2.通过File => New Project Wizard… 菜单命令启动新项目向导。在 随后弹出的对话框上点击Next按钮,在 What is the working directory for this project 栏目中设定新项目所使用的路径:D:\xingming\choice8;在 What is the name of this project 栏目中输入新项目的名字:choice8,点击 Next 按钮。在下一个出现的对话框中继续点击Next,跳过这步。 3.为本项目指定目标器件:选择器件系列为ACEX1K ,选择具体器件为 EP1K30TC144-3 1728 24576 ,再点击Next。在弹出的下一对话框中继续点击Next ,最后确认相关设置,点击Finish按钮,完成新项目创建。 三.设计输入 1.建立一个VHDL文件。通过 File => New 菜单命令,在随后弹出的对 话框中选择 VHDL File选项,点击 OK 按钮。通过 File => Save As 命令,将其保存,并加入到项目中。 2.在VHDL界面输入8选1数据选择器程序,然后通过File => Save

数值计算实验报告

2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:安元龙 学号:2012060501 成绩:

数值计算方法与算法实验报告 学期: 2014 至___2015 第 1 学期 2014年 10月26日课程名称:__数值计算方法与算法 __ 专业:信息与计算科学 12级5班实验编号: 1实验项目Neton插值多项式指导教师__孙峪怀姓名:安元龙学号: 2012060501 实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页) 1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)/(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp/*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)*/ Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. #include #define MAX_N 20 typedef struct tagPOINT { double x; double y; }POINT; int main() { int n; int i,j; POINT points[MAX_N+1];double diff[MAX_N+1]; double x,tmp,newton=0;

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数值积分与数值微分实验报告

实验三 数值积分程序设计算法 1)实验目的 通过本次实验熟悉并掌握各种数值积分算法及如何在matlab 中通过设计程序实现这些算法,从而更好地解决实际中的问题。 2)实验题目 给出积分 dx x I ? -= 3 2 2 1 1 1.用Simpson 公式和N=8的复合Simpson 公式求积分的近似值. 2.用复合梯形公式、复合抛物线公式、龙贝格公式求定积分,要求绝对误差为 7 10*2 1-= ε,将计算结果与精确解做比较,并对计算结果进行分析。 3)实验原理与理论基础 Simpson 公式 )]()2 ( 4)([6 b f b a f a f a b S +++-= 复化梯形公式 将定积分? = b a dx x f I )(的积分区间],[b a 分隔为n 等分,各节点为 n j jh a x j ,,1,0, =+= n a b h -= 复合梯形(Trapz)公式为 ])()(2)([21 1 ∑-=++-= n j j n b f x f a f n a b T 如果将],[b a 分隔为2n 等分,而n a b h /)(-=不变, 则 )]()(2)(2)([41 2 111 2b f x f x f a f n a b T n j j n j j n +++-= ∑∑-=+-= 其中 h j a h x x j j )2 1(2 12 1+ +=+ =+ ,)]()(2)(2)([41 2 11 1 2b f x f x f a f n a b T n j j n j j n +++-= ∑∑-=+ -= ∑ -=-++-+ =1 )2) 12((22 1n j n n a b j a f n a b T n=1时,a b h -=,则)]()([2 1b f a f a b T +-= )0(0T = )2 1(2 2 112h a f a b T T + -+ =)1(0T = 若12-=k n ,记)1(0-=k T T n , ,2,1=k 1 2 --= k a b h jh a x j +=1 2 --+=k a b j a h x x j j 2 12 1+ =+ k a b j a 2 ) 12(-++=,则可得如下递推公式

数电 实验四 数据选择器及其应用 实验报告

实验四数据选择器及其应用 一、实验目的 1.掌握中规模集成数据选择器的逻辑功能及使用方法 2.学习用数据选择器构成组合逻辑电路的方法 二、实验设备与器件 1.+5V直流电源 2.逻辑电平开关 3.逻辑电平显示器 4.74LS151 三、实验原理 数据选择器又叫“多路开关”。数据选择器在地址码(或叫选择控制)电位的控制下,从几个数据输入中选择一个并将其送到一个公共的输出端。数据选择器的功能类似一个多掷开关,如图7-1所示,图中有四路数据D0~D3,通过选择控制信号A1、A0(地址码)从四路数据中选中某一路数据送至输出端Q。 数据选择器为目前逻辑设计中应用十分广泛的逻辑部件,它有2选1、4选1、8选1、16选1等类别。 数据选择器的电路结构一般由与或门阵列组成,也有用传输们开关和门电路混合而成的。 八选一数据选择器74LS151 74LS151为互补输出的8选1数据选择器,引脚排列如图4-2,功能如表4-1。 选择控制端(地址端)为A2~A0,按二进制姨妈,从8个输入数据D0~D7中,选择一个需要的数据送到输出端A, S为使能端,低电平有效。

1)使能端?S=1时,无论A2~A0状态如何,均无输出(Q=0,?Q=1),多路开关被禁止。2)使能端S=0时,多路开关正常工作。根据地址码A1、A2、A3的状态选择D0~D7中某一个通道的数据输送到输出端Q。 此处以A2A1A0=010为例,则选择D2数据到输出端,即Q=D2。 D2为0,?Q亮。D2为1,Q亮。 使能端为1,D2为1,?Q亮。使能端为1,D2变为0,?Q仍然亮。

74LS151功能测试结果表4-1 实现逻辑函数F(AB)=A?B+?AB+A B 设计过程:逻辑表

MATLAB数值积分求值实验报告

3 学号班级统计1001 姓名指导教师易昆南实验题目用多种方法计算数值积分评分 1、设计(实习)目的: 1.了解MATLAB在实际问题中的应用 2.通过实践加深对这门语言中M文件的了解 3.熟悉简单程序结构,如循环结构(for循环、while循环)选择结构(if-else-if)、分支语句(switch-case-otherwise)。 2、实验内容: (1).分别用左、右矩形法,梯形法,复化辛普森公式计算y=x^2在[0,1]上的定积分;(2).用蒙特卡罗随机投点法计算y=1/(1+x^2)在[0,1]上的定积分,并求出pi的近似值;(3).用蒙特卡罗均值估计法计算y=x^2在[0,1]上的定积分。 3.详细设计: 一.左、右矩形法和梯形法: h=1/200; x=0:h:1; y=x.^2; z1=sum(y(1:200))*h %左矩形法 z2=sum(y(2:201))*h%右矩形法 z=cumsum(y); z11=z(200)*h; %等同z1 z12=(z(201)-z(1))*h; %等同z2 z3=trapz(x,y) %梯形法,等同于z3=trapz(y)*h 二.复化辛普森公式法: y=inline('x.^2'); z1=quad(y,0,1,100) %simpleson公式 z2=quadl(y,0,1,100) %复化simpleson公式 z3=quad8(y,0,1,100,trace(10))%simpleson8阶公式法 三.蒙特卡罗随机投点法: n=100000; k=0; for i=1:n x=rand; %产生(0,1)区间的随机数 y=rand; if y<=1/(1+x^2); %对y=1/(1+x^2)面积投点 k=k+1; end end z=k/n pi=4*k/n %由积分pi/4=k/n而来,前者是概率,后者是频率

实验三译码器及其应用、数据选择器及其应用

实验三译码器及其应用、数据选择器及其应用 一、实验目的 1 ?掌握采用中规模集成器件进行组合逻辑电路设计、电路连接及测试的方法. 2 ?用实验验证所设计电路的逻辑功能. 二、实验设备与器件 1.电子学实验装置 2.集成块74LS20、74LS00、74LS138、74LS151、74LS153。 三、实验原理 中规模集成器件多数是专用的功能器件,具有某种特定的逻辑功能,采用这些功能器件实现组合逻辑函数,基本 方法是采用逻辑函数对比法. 中规模集成器件多数都带有控制端(片选端),例如译码器74LS138有三个附加控制端S B、S C和S A,当S A=1、 S B= S C =0时,译码器才被选通工作,否则,译码器被禁止,所有的输出端被封锁在高电平?利用片选可将多片连接 起来以扩展译码器的功能. 在一般情况下,使用译码器和附加的门电路实现多输出逻辑函数较方便,使用数据选择器实现单输出逻辑函数较方便,当逻辑函数输出为输入变量相加时,则采用全加器实现较为方便. 1 ?译码器 一个n变量的译码器的输出包含了n变量的所有最小项.例如3线/8线译码器(74LS138)的8个输出包含了3个变 量的全部最小项的译码?参见模拟电子技术基础教材中3线/8线译码器功能表. 用n变量译码器加上输出与非门电路,就能获得任何形式的输入变量不大于n的组合逻辑电路. 2 ?数据选择器 一个n个地址端的数据选择器, 具有2n个数据选择的功能.例如,数据选择器74LS151, n=3,可完成八选一的功能?参见附录中八选一数据选择器(74LS151)的真值表.由真值表可写出: 丫A2AA0D0 A2AA0D1A 2 Al A o D 2 A? A1A0D 3 A2A A0D 4 A2A A0D 5 A2 A A) A2AA0D7 数据选择器又称多路开关,其功能是把多路并行传输数据选通一路送到输出线上. 四、实验内容 1 ?三输入变量译码器功能测试 地址输入端AA1A0是一组三位二进制代码,其中A权最高,A o权最低,按实验电路图3-1接线,将实验结果填入