迭代——方程求解(mathematica数学实验报告)

迭代——方程求解(mathematica数学实验报告)
迭代——方程求解(mathematica数学实验报告)

Mathematica数学实验——随机变量的概率分布

教师指导实验7 实验名称:随机变量的概率分布 一、问题:求二项分布、几何分布、正态分布在给定区间上的概率。 二、实验目的: 学会使用Mathematica求二项分布、几何分布、正态分布在给定区间上的概率及期望和方差。 三、预备知识:本实验所用的Mathematica命令提示 1、BinomialDistribution[n,p] 二项分布; GeometricDistribution[p] 几何分布; NormalDistribution[μ,σ] 正态分布; 2、Domain[dist] 求分布dist的定义域; PDF[dist,x] 求点x处的分布dist的密度值; CDF[dist,x] 求点x处的分布dist的函数值; Mean[dist] 求分布dist的期望;Quantile[dist,x] 求x,使CDF[dist,x]=q Variance[dist] 求分布dist的方差;StandardVariance[dist] 求分布dist的标准差; 四、实验的内容和要求: 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; 2、对以上数据绘制样本频率分布直方图; 3、data1={1, 3, 4, 5, 3.5, 3}, data2={3, 2, 5, 3},在同一图表中绘制data1和data2的条形图,并作一定的修饰。 五、操作提示 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; In[1]:=<

MAAB计算方法迭代法牛顿法二分法实验报告

姓名 实验报告成绩 评语: 指导教师(签名) 年 月 日 说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点 2a b x -=判断是否0)(=x f ;若是,则有根2a b x -=。否则,继续判断是否0)()(

+)(0x f 0))(('0=-x x x f 设0)('0≠x f ,则=x -0x )(') (00x f x f 。取x 作为原方程新的近似根1x ,然后将1x 作为0x 代入上式。迭代公式为:=+1 k x -0x )(')(k k x f x f 。 三、 实验设备:MATLAB 软件 四、 结果预测 (1)11x = (2)5x = (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不超 过3105.0-?。 (2)、取初值00=x ,用迭代公式=+1 k x -0x )(') (k k x f x f ,求方程0210=-+x e x 的近似根。要求误差不超过3105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误差 不超过3105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 软件,建立一个实现二分法的MATLAB 函数文件如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end

Mathematica函数及使用方法

Mathematica函数及使用方法 (来源:北峰数模) --------------------------------------------------------------------- 注:为了对Mathematica有一定了解的同学系统掌握Mathematica的强大功能,我们把它的一些资料性的东西整理了一下,希望能对大家有所帮助。 --------------------------------------------------------------------- 一、运算符及特殊符号 Line1; 执行Line,不显示结果 Line1,line2 顺次执行Line1,2,并显示结果 ?name 关于系统变量name的信息 ??name 关于系统变量name的全部信息 !command 执行Dos命令 n! N的阶乘 !!filename 显示文件内容 < Expr>> filename 打开文件写 Expr>>>filename 打开文件从文件末写 () 结合率 [] 函数 {} 一个表 <*Math Fun*> 在c语言中使用math的函数

(*Note*) 程序的注释 #n 第n个参数 ## 所有参数 rule& 把rule作用于后面的式子 % 前一次的输出 %% 倒数第二次的输出 %n 第n个输出 var::note 变量var的注释"Astring " 字符串 Context ` 上下文 a+b 加 a-b 减 a*b或a b 乘 a/b 除 a^b 乘方 base^^num 以base为进位的数 lhs&&rhs 且 lhs||rhs 或 !lha 非 ++,-- 自加1,自减1 +=,-=,*=,/= 同C语言 >,<,>=,<=,==,!= 逻辑判断(同c)

mathematica数学实验报告

高等数学实验报告 实验一 一、实验题目 1:作出各种标准二次曲面的图形 ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u ,u,0,Pi ,v,0,2Pi,P Graphics3D ParametricPlot3D u Sin v,u Cos v,u^2,u,0,2,v,0,2Pi,PlotPoints30

Graphics3D ParametricPlot3D u,v,u^2v^2,u,2,2,v,2,2,PlotPoints30 Graphics3D ParametricPlot3D Sec u Sin v,Sec u Cos v,Tan u,u,Pi4,Pi4,v,0,2

Graphics3D t1ParametricPlot3D u^21Sin v,u^21Cos v,u,u,1,5,v,0,2Pi t2ParametricPlot3D u^21Sin v,u^21Cos v,u,u,5,1,v,0,2 show t1,t2 Graphics3D

Graphics3D show Graphics3D,Graphics3D ParametricPlot3D u Cos v,u Sin v,u,u,6,6,v,0,2Pi,PlotPoints60 Graphics3D 2:作出曲面所围的图形 t1ParametricPlot3D Sin u Sin v,Sin u Cos v,Cos u, u,Pi2,pi2,v,0,2Pi,PlotPoints60 t2ParametricPlot3D0.5Cos u12,0.5Sin u, u,0,2Pi,v,0,2Pi,PlotPoints60 t3Plot3D0,PlotPoints60 show t1,t2,t3

mathematica 数学实验报告材料 实验一

数学实验报告 实 验 一 数学与统计学院 信息与计算科学(1)班 郝玉霞 201171020107

数学实验一 一、实验名:微积分基础 二、实验目的:学习使用Mathematica的一些基本功能来验证或观察得出微积分学的几个基本理论。 三、实验环境:学校机房,工具:计算机,软件:Mathematica。 四、实验的基本理论和方法:利用Mathematica作图来验证高中数学知识与大学数学容。 五、实验的容和步骤及结果 容一、验证定积分 dt t s x ?= 1 1 与自然对数 x b ln= 是相等的。 步骤1、作积分 dt t s x ?= 1 1 的图象; 语句:S[x_]:=NIntegrate[1/t,{t,1,x}] Plot[S[x],{x,0.1,10}] 实验结果如下: 图1 dt t s x ?= 1 1 的图象 步骤2、作自然对数 x b ln= 的图象 语句:Plot[Log[x],{x,0.1,10}] 实验结果如下: 2 1

图2 x b ln= 的图象 步骤3、在同一坐标系下作以上两函数的图象 语句:Plot[{Log[x],S[x]},{x,0.1,10}] 实验结果如下: 2 1 图3 dt t s x ?= 1 1 和 x b ln= 的图象 容二、观察级数与无穷乘积的一些基本规律。 (1)在同一坐标系里作出函数和它的Taylor展开式的前几项构成的多项式函数,,的图象,观察这些多项式函数的图象向的图像逼近的情况。 语句1: s[x_,n_]:=Sum[(-1)^(k-1)x^(2k-1)/((2k-1)!),{k,1,n}] Plot[{Sin[x],s[x,2]},{x,-2Pi,2Pi},PlotStyle->{RGB[0,0,1]}] 实验结果如下: 642 4 2 图4和它的二阶Taylor展开式的图象

迭代法实验报告

迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境:Cfree5.0 三. 实验时间:2013年6月20日 四. 实验地点:电子信息楼1201教室 五. 实验内容:运用编程实现迭代方法可以更好的解线性方程组,得到线性方程的解。 六. 实验理论依据: 高斯-赛德尔(Gauss-Seidel )迭代公式 我们注意到在雅可比迭代法中并没有对新算出的分量11k x +,12k x +, , 11k i x +-进行充分利用.不妨设想,在迭代收敛的条件下,我们把 (1)()()()11211331111(1)()()()22112332222(1)()()()1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++--?=---+???=---+?????=---+?? 式中第一个方程算出的11k x +立即投入到第二个方程中,代替()1k x 进行计算,当12 k x +算出后代替()2k x 马上投入到第三个方程中计算,依次进行下去,这样也许会得到 更好的收敛效果.根据这种思路建立的一种新的迭代格式,我们称为高斯-赛德尔(Gauss-Seidel )迭代公式, 高斯=赛德尔迭代法的分量形式:

(1)()()()11211331111(1)(1)()()22112332222(1)(1)(1)(1)1122,111()1(1(k k k k n n k k k k n n k k k k n n n n n n nn x a x a x a x b a x a x a x a x b a x a x a x a x b a +++++++--?=---+???=---+?????=---+?? 高斯-赛德尔迭代法的矩阵形式: (1)(),(0,1,2,)k k x Bx f k +=+= 其中 1()B D L U -=- ,1()f D L b -=- B 称为高斯-赛德尔迭代矩阵,f 称为高斯-赛德尔迭代常量.. 七. 运行代码如下: #include"stdio.h" #include"math.h" int main() { bool pan1=true; int n,n1,n2=0,k=0; double num[100][100],L[100][100],U[100][100],x[100],y[100],num1=0,b[100],D[100][100],x1[200][200],x2[200][200]; printf("\n"); printf("*******************************高斯迭代法解如下********************************"); printf("输入要输入矩阵的阶数为(按Enter 输入矩阵数字):");//

MATHEMATICA实验报告

【MATHEMATICA实验报告】 【实验目的】 1.掌握Mathematica软件的启动和退出,以及Mathematica帮助系统。 2.熟悉Mathemaic的计算其功能以及常用的数字函数。 3.掌握变量的定义,变量的操作。 4.掌握函数的定义以及运算。 【实验内容】 1.求下列积分 (1) (4sin()3cos())/(sin()2cos()) x x x x dx ++ ? 输入: y=(4 Sin[x]+3 Cos[x])/(Sin[x]+2Cos[x]); Integrate[y,x] 输出: 2 x-Log[2 Cos[x]+Sin[x]] (2) /2 (cos())^5sin(2) x x dx π ? 输入: y=Cos[x]^5 Sin[2 x] Integrate[y,{x,0,Pi/2}] 输出: Cos x5Sin2x 2 7 (3)1 /(^21)^(3/2) dx x x -+ ? 输入: y=1/(x^2-x+1)^(3/2); Integrate[y,{x,0,1}] 输出: 4 3 2.求积分 1 (1/2)*^(^2/2) e x dx π -∞ - ? 输入:y=E^(-x^2/2)/Sqrt[2*Pi]; NIntegrate[y,{x,Infinity,1}] 输出: -0.158655

3.求y=e^(x^2)在x=0的9阶泰勒公式。 输入: Series[Exp[x^2],{x,0,9}] 输出: 1x 2x 4 2x 66x 824O x 10 4.作出以下参数方程所描述的图形。 (1) 4cos {3sin x t y t ==,(0≤t ≤2π) 输入: ParametricPlot[{4 Cos[t],3 Sin[t]},{t,0,2Pi}] 输出: -4-2 24-3-2 -1 1 2 3 (2)3(cos )^3 {3(sin )^3x t y t -= 输入: ParametricPlot[{3 Cos[t]^3,3 Sin[t]^3},{t,0,2 Pi}] 输出: -3-2-1 123-3-2 -1 12 3

数学应用软件实验报告(mathematica实验程序)1

徐州工程学院数理学院数学应用软件实验报告 课程(实验序号)数学应用软件实验 1 实验地点、日期数学建模机房2011 年 2 月23 日主要仪器设备计算机 使用的软件名称Mathematica 实验类型演示性实验 验证性实验 综合性实验√设计性实验 研究性实验 班级:姓名:孙娅学号:20090402223 一、实验题目名称:函数】变量和表达式 二、实验目的: 理解变量和算式、内核与前端处理器构成的人机对话系统,了解计算的精度问题个Mathematica使用中的几个问题。熟练掌握数的表示和计算、常用数学函数,会绘制简单函数的图形。通过上机初步了解数学应用软件,Mathematica的各种界面。 三、实验内容: 练习题1 1.计算下列各式的数值: (1) Log[2,10] Log[10]/Log[2] (2) Sqrt[Pi^2+1] 1 2 (3) Log[10,3264] Log[3264]/Log[10] (4) E^E ??/2 (5) Cos[135^0] Cos[1] (6) Sin[Pi^2/2] Sin[π2/2] (7) ArcSin[1/2] π/6 (8) 200! 7886578673647905035523632139321850622951359776871732632947425332443594499634033429203042 8401198462390417721213891963883025764279024263710506192662495282993111346285727076331723 7396988943922445621451664240254033291864131227428294853277524242407573903240321257405579

牛顿迭代法实验报告

用牛顿迭代法求非线性方程的根 一、 实验题目 求方程()013=--=x x x f 在5.1附近的根。 二、 实验引言 (1)实验目的 1. 用牛顿迭代法求解方程的根 2. 了解迭代法的原理 3. 改进和修缮迭代法 (2)实验意义 牛顿迭代法就是众多解非线性方程迭代法中比较普遍的一种,求解方便实用。 三、 算法设计 (1)基本原理 给定初始值0x ,ε为根的容许误差,η为()x f 的容许误差,N 为迭代次数的容许值。 1.如果()0='x f 或迭带次数大于N ,则算法失败,结束;否则执行2. 2.计算()() 0001x f x f x x '-=. 3.若ε<-21x x 或()η<1x f ,则输出1x ,程序结束;否则执行4. 4.令10x x =,转向1. (2)流程图

四、程序设计program nndd01 implicit none real,parameter::e=0.005 real,parameter::n=9 real::x1 real::x0=1.5 integer::k real,external::f,y do k=1,9 if (y(x0)==0) then write(*,*)"失败" else x1=x0-f(x0)/y(x0) if (abs(x1-x0)

else x0=x1 end if end if end do end function f(x) implicit none real::f real::x f=x*x*x-x-1 return end function function y(x) implicit none real::y real::x y=3*x*x-1 return end function 五、求解结果 3 1.324718 4 1.324718 5 1.324718 6 1.324718 7 1.324718 8 1.324718 9 1.324718 六、算法评价及讨论 1.在求解在1.5处附近的根,不难发现在输入区间左端值为1时 需要迭代6次,而输入区间左端值为1.5时,却只要4次。初

最佳分数值逼近(mathematica数学实验报告)

姓名 ### 学院 ###### 班级 ######### 学号 ######### 实验题目 最佳分数值逼近 评分 实验目的: 1、用“连分数展开”的方法计算圆周率π的近似值; 2、通过实验来体会“连分数展开”的方法与其他方法的区别,比较各种方法的优劣; 3、尝试用“连分数展开”的方法对其他的数进行展开。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica 中常用的展开数与多项式的函数的使用; 2、计算圆周率π“连分数展开”方法,并且利用特定的函数来展开其他数。 实验内容和步骤: (一)多项式的展开与化简 多项式是表达式的一种特殊的形式,所以多项式的运算与表达式的运算基本一样,表达式中的各种输出形式也可用于多项式的输出。Mathematica 提供一组按不同形式表示代数式的函数。如: 1、 对12 x 1-进行分解,使用的函数为Factor : 2、 展开多项式 7 x+2()与5 x+y+7(),使用的函数为Expand:

3、 化简(1)^4(2)^(3)x x x +++与(1)^3(2)^4(3)^(1)x x x x +++-,使用的函数为 Pimplify: 4、 连个多项式相除,总能写成一个多项式和一个有理式相加, Mathematic 中提供两个 函数PolynomialQuotient 和PolynomialRemainder 分别返回商式和余式:

(二)π的连分数展开 π的求解方法之前我们已经有许多种,但都比较繁琐而且误差较大,如何找到误差较小的π的近似值求解方法,我们在所得整数3的基础上进行分析,有了整数3,则 π=3+1x ,其中10.141592653579...x =是3的误差,101x <<。只要能找到1x 的最佳分数逼近值,再加3就得到π的最佳分数近似值。从而我们使用一种方法“连分数展开“,其原理是: 为了寻找与1x 接近的分数,先找与11 1 7.062513305931...A x = =接近的整数,显然 是7.于是111223377 A π=+ ≈+=,这是祖冲之的效率。 在此基础上,我们可以再用上述方法,要找到比 22 7 误差更小的分数近似值,只需要找到比整数7更接近1A 的分数来作为1A 的近似值。由于127A x =+,其中 200.062513305931...1x <=<。先找22 1 15.996594406685...A x = =的最佳整数近似值,显然是16.于是1211113771616A A =+ ≈+=,从而1 2 111355 3331 1113 7716 A A π=+=+≈+ = + +,这就得到祖冲之的密度。 如果还要进一步提高精确度,就应当在考虑2A 的整数近似值16的误差 32160.003405593314...x A =-=,取33 1 293.6345910144...A x = =的整数近似值294,则可

牛顿迭代法的实验报告

牛顿迭代法实验报告 1.功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0x n+a1x n-1+…+a n-1x+a n=0(a n≠0)(1) 的在初始值x0附近的一个根。 2.使用说明 (1)函数语句 Y=NEWTON_1(A,N,X0,NN,EPS1) 调用M文件newton_1.m。 (2)参数说明 A n+1元素的一维实数组,输入参数,按升幂存放方程系数。 N整变量,输入参数,方程阶数。 X0 实变量,输入参数,初始迭代值。 NN整变量,输入参数,允许的最大迭代次数。 EPS1实变量,输入参数,控制根的精度。 3.方法简介 解非线性议程f(x)=0的牛顿法是把非线性方程线性化的一种近似方法。把f(x)在x0点附近展开成泰勒级数 f(x)=f(x0)+(x-x0)fˊ(x0)+(x-x0)2 !2) (0x f'' +… 取其线性部分,作为非线性方程f(x)=0的近似方程,则有 f(x0)+fˊ(x0)(x-x0)=0 设fˊ(x0)≠0则其解为 x1=x0-f(x0)/fˊ(x0) 再把f(x)在x1附近展开成泰勒级数,也取其线性部分作f(x)=0的近似方程。若f(x1)≠0,则得 x2=x1-f(x1)/fˊ(x1) 这样,得到牛顿法的一个迭代序列 x n+1=x n-f(x n)/fˊ(x n) 4.newton_1.m程序

function y=newton_1(a,n,x0,nn,eps1) x(1)=x0; b=1; i=1; while(abs(b)>eps1*x(i)) i=i+1; x(i)=x(i-1)-n_f(a,n,x(i-1))/n_df(a,n,x(i-1)); b=x(i)-x(i-1); if(i>nn)error(ˊnn is fullˊ); return; end end y=x(i); i 5.程序附注 (1)程序中调用n_f.m和n_df.m文件。n_f.m是待求根的实数代数方程的函数,n_df.m 是方程一阶导数的函数。由使用者自己编写。 (2)牛顿迭代法的收敛速度:如果f(x)在零点附近存在连续的二阶微商,ξ是f(x)的一个重零点,且初始值x0充分接近于ξ,那么牛顿迭代是收敛的,其收敛速度是二阶的,即平方收敛速度。 6.例题 用牛顿法求下面方程的根 f(x)=x3+2x2+10x-20 7.运行结果 >>a=[1,2,10,-20] ; >>n=3; >>x0=1; >>nn=1000; >>eps1=1e-8; >>y=newton_1(a,n,x0,nn,eps1)

MATLAB计算方法迭代法牛顿法二分法实验报告

姓名 ______________ 实验报告成绩 ________________________ 评语: 指导教师(签名) ___________________ 年月日 说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一方程求根 一、实验目的 用各种方法求任意实函数方程f(x)0在自变量区间[a,b]上,或某一点附 近的实根。并比较方法的优劣。 二、实验原理 (1)、二分法 b a x 对方程f(x)0在[a,b]内求根。将所给区间二分,在分点2判断 b a x --------- 是否f(x)0;若是,则有根2。否则,继续判断是否f(a)?f(x) 0,若是,则令b x,否 则令a x。否则令a x。重复此过程直至求出方程f(x) °在[a,b]中的近似根为止。 (2)、迭代法 将方程f(x) °等价变换为x=? ( x)形式,并建立相应的迭代公式xk 1 9( x)。 (3)、牛顿法 若已知方程的一个近似根x°,则函数在点x°附近可用一阶泰勒多项式 P l(x) f(X°) f'(X0)(X X。)来近似,因此方程f(x) °可近似表示为

if fa*fb>0 error(' 两端函数值为同号'); f (X k ) 3 不超过 0.5 10 。 六、实验步骤与实验程序 (1)二分法 第一步:在MATLAB 7.0软件,建立一个实现二分法的 MATLABS 数文件 agui_bisect.m 女口下: fun cti on x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); % 把a 端点代入函数,求fa fb=feval(fname,b); % 把b 端点代入函数,求fb f (X k ) 根X1,然后将X1作为X 。代入上式。迭代公式为: X k 1 X 0 f'(X k ) o f (X o ) f(X o ) f ' (Xo)(X X )0设f'(X o ) 0,则x X o f '(X o )。取x 作为原方程新的近似 实验设备: MATLAB 7.0 软 件 三、 四、 结果预测 (1) x n=0.09033 (2) X5=0.09052 (3) X 2 =0,09052 五、 实验内容 (1)、 在区间[0,1] 上用二分法求方程 10X 2 0的近似根,要求误差不超 过 05 103 O (2)、 x ° 似根。 取初值X0 0 ,用迭代公式Xk 1 3 要求误差不超过0.5 10。 x ° f '(Xk) ,求方程e x 10x 2 0的近 (3)、 取初值X0 0 ,用牛顿迭代法求方程 e X 10x 2 0的近似根。要求误差

mathematica数学实验报告

mathematica数学实验报告

姓名 *** 学院 数信学院 班级 ************ 学号 ************ 实验题目 素数 评分 实验目的: 1、掌握素数的判别方法,并会求解某些范围内的素数; 2、通过编程演示某些范围内的素数、深刻了解其求解过程; 3、通过上机来增强自己的动 手能力及实践创新能力。 实验环境: 学校机房,Mathematica4.0软件 实验基本理论和方法: 1、Mathematica 中常用的函数及函数调用的方法; 2、对素数的概念及特征的掌握,利用素数的特征求素数。 实验内容和步骤: 如果一个大于1的自然数只能被1及它本身整除,则该数称为素数。否则被称为合数。从数学史的黎明时期开始,数学家就一直在探索自然数的奥秘。远在古希腊时代,欧几里得就证明了每一个合数都可以分解为若干个素数的乘积,并在不计较素数的排列顺序时这种分解是唯一的,这就是所谓的算术基本定理,算术基本定理表明,素数是构造自然数的基石,正如物质的基本粒子一样。正是由于素数如此重要的地位才使得一代又一代数学家努力地探索素数的规律。首先,一个最基本的问题是 素数到底有多少个? 会不会在某一充分大的自然数以后就没有素数了呢?答案是否定的。欧几里得时代已证明了这一结论。他使用的简洁而优美的论证方法至今仍不失为数学推理的光辉典范。假设素数只有有限个,按从小到大的顺序排列为12,,...,.n p p p 。令12...1n N p p p =+,则N 不被,1,2,...,i p i n =中任何一个整除。因而,N 要么是素数,要么有比n p 大的素因子,这与n p 为最大素数相矛盾。 关于素数的下一个基本问题是:如何求出小于某一给定整数的所有素数? 1. Eratosthenes 筛法求素数 古希腊的另一位学者Eratosthenes 给出了解决这一问题的方法,这一方法被后人称为Eratosthenes 筛法。Eratosthenes 筛法的基本思想是,将自然数列从2开始按顺序排列至某一整数N 。首先,从上述数列中划去所有2的倍数(不包括2)。在剩下的数中,除2外最小的是3。接着,从数列中划去3的倍数(不包括3)。然后在剩下的数中,再划去5的倍数……。这个过程一直进行下去,则最后剩下的数就是不超过N 的所有素数。下面我们就利用筛法通过编程实现求某个数的所有素数。 利用Eratosthenes 筛法,通过计算机编程求100,500,1000,1500的所有素数,运行过程如下:

Jacobi迭代法求解线性方程组实验报告

仿真平台与工具应用实践 Jacobi迭代法求解线性方程组 实验报告 院系: 专业班级: 姓名: 学号: 指导老师:

一、 实验目的 熟悉Jacobi 迭代法原理; 学习使用Jacobi 迭代法求解线性方程组; 编程实现该方法; 二、 实验内容 应用Jacobi 迭代法解如下线性方程组: ?? ???=++--=+-=+-1552218474321321321x x x x x x x x x ,要求计算精度为710- 三、 实验过程 (1)、算法理论 Jacobi 迭代格式的引出是依据迭代法的基本思想:构造一个向量系列(){}n X ,使其收敛至某个极限*X ,则*X 就是要求的方程组的准确解。 Jacobi 迭代 将方程组: ???????=+++=+++=+++n n nn n n n n n n b x a x a x a b x a x a x a b x a x a x a 22112222212111212111 )1(

在假设0≠ii a ,改写成()??? ????++++=++++=++++=--n n n n n n n n n n n g x b x b x b x g x b x b x b x g x b x b x b x 112211223231212113132121 )2( 如果引用系数矩阵 ??????????=nn n n a a a a A 1111,??????????=0011 n n b b B 及向量??????????=n x x X 1, ???? ??????=n b b b 1,??????????=n g g g 1, 方程组(1)和(2)分别可写为:b AX =及g BX X +=,这样就得到了jacobi 迭代格式01g BX X k k +=+用jacobi 迭代解方程组b AX =时,就可任意取初值0X 带入迭代可知式g BX X k k +=+1,然后求k k X ∞ →lim 。但是,n 比较大的时候,写方程组)1(和)2(是很麻烦的,如果直接由A ,b 能直接得到B ,g 就是矩阵与向量的运算了,那么如何得到B ,g 呢?实际上,如果引进非奇异对角矩阵 ()0≠ii a ???? ??????=nn a a D 00011 将A 分解成:,D D A A +-=要求b AX =的解,实质上就有,)(DX X D A AX +-=而D 是非奇异的,所以1-D 存在,,)(X A D AX DX -+=从而有,11b D AX D X --+=我们在这里不妨令,1A D I B --=b D g 1-=就得到jacobi 迭代格式:g BX X k k +=+1

Mathematica数学实验——简单数理统计

教师指导实验6 实验名称:简单数理统计 一、问题:求样本数据的特征数字值;绘制样本的频率分布条形图和直方图。 二、实验目的: 学会使用Mathematica求求样本数据的极差、中位数、均值、方差及标准差;绘制样本的频率分布直方图并作简单的修饰。 三、预备知识:本实验所用的Mathematica命令提示 1、SampleRange[data] 求样本数据data的极差(最大数减最小数); Median[data] 求样本数据data的中位数; Mean[data] 求样本数据data的均值; 2、VarianceMLE[data] 求样本数据data的方差; StandardVarianceMLE[data] 求样本数据data的标准差; 3、BarChart[data1, data2,…] 分别绘制样本数据data1,data2,…的条形图 图形修饰选项: BarSpacing 设置两条形的总宽度,设置值是实际宽度相对于区间宽度的比值; BarGroupSpacing 设置相邻条形的宽度,设置值是条形的实际宽度相对于条形的总宽度的比值; BarStyle 条形风格设置;BarEdgeStyle 条形边界风格设置; BarLabels 条形标签设置,PlotLabel 图形名称设置, 4、Histogram[data] 绘制样本数据data的频率分布直方图 图形修饰选项: Ticks设置标记相对于条形的位置; HistogramScale 设置条形高度为频率密度,使条形的面积和为所设置的值。 四、实验的内容和要求: 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; 2、对以上数据绘制样本频率分布直方图; 3、data1={1, 3, 4, 5, 3.5, 3}, data2={3, 2, 5, 3},在同一图表中绘制data1和data2的条形图,并作一定的修饰。 五、操作提示 1、取50个在1到20的随机整数,求这组数的极差、中位数、均值、方差及标准差; In[1]:=<

迭代法解线性方程组-数值分析实验报告

数学与计算科学学院《数值分析》课程设计题目:迭代法解线性方程组 专业:信息与计算科学 学号:1309302-24 姓名:谭孜 指导教师:郭兵 成绩: 二零一六年六月二十日

一 、前言:(目的和意义) 1.实验目的 ①掌握用迭代法求解线性方程组的基本思想和步骤。 ②了解雅可比迭代法,高斯-赛德尔法和松弛法在求解方程组过程中的优缺点。 2.实验意义 迭代法是用某种极限过程去逐步逼近线性方程组精确解的方法,它是解高阶稀疏方 程组的重要方法。迭代法的基本思想是用逐次逼近的方法求解线性方程组。比较雅可比迭代法,高斯-赛德尔迭代方法和松弛法,举例子说明每种方法的试用范围和优缺点并进行比较。 二、数学原理: 设有方程组 b Ax = …① 将其转化为等价的,便于迭代的形式 f Bx x += …② (这种转化总能实现,如令b f A I B =-=,), 并由此构造迭代公式 f Bx x k k +=+)()1( …③ 式中B 称为迭代矩阵,f 称为迭代向量。对任意的初始向量)0(x ,由式③可求得 向量序列∞0)(}{k x ,若*) (lim x x k k =∞ →,则*x 就是方程①或方程②的解。此时迭代公式②是收敛的,否则称为发散的。构造的迭代公式③是否收敛,取决于迭代矩阵B 的性 1.雅可比迭代法基本原理 设有方程组 ),,3,2,1(1 n i b x a j j n j ij ==∑= …① 矩阵形式为b Ax =,设系数矩阵A 为非奇异矩阵,且),,3,2,1(,0n i a ii =≠ 从式①中第i 个方程中解出x ,得其等价形式 )(1 1 1j n j j ij ii i x a b a x ∑≠=-= …②

牛顿迭代法实验报告

材料科学与工程实验教学中心实验报告 课程名称 实验名称牛顿迭代法方程求根 专业 班级 学号 姓名 实验日期

材料科学与工程实验教学中心实验报告 一.实验目的 通过对牛顿迭代法作编程练习与上机运算,进一步体会牛顿迭代法的不同特点 二.实验原理(方法) 给定初始值x0,ε为根的容许误差,η为|f(x)|的容许误差,N为迭代次数的容许值。 ①如果f′(x0)=0或迭代次数大于N,则算法失败,结束;否则执行② ②计算x1=x0-f(x0)/f′(x0)。 ③若|x1-x0|<ε或|f(x1)|<η,则输出x1,程序结束;否则执行④ ④令x0=x1,转向① 三.实验仪器设备及操作步骤 电脑一台 操作步骤:打开电脑,打开VB程序,编辑程序

四.实验数据及处理(N-S图和程序) Private Sub Command1_Click() Dim x0, x!, eps!, k

x0 = Val(InputBox("x=0", "ê?è?3??μ", 0.5)) eps = Val(InputBox("eps=", "ê?è?epsμ??μ", 0.000005)) x = x0 - f(x0) / p(x0) k = 1 Print Do While Abs(x - x0) >= eps Print "k=" & k, "x=" & x, "f(x)" & f(x) x0 = x k = k + 1 x = x0 - f(x0) / p(x0) Loop End Sub Function f(ByVal x!) As Single f = x ^ 3 + x ^ 2 - 3 * x - 3 End Function Function p(ByVal x!) As Single p = 3 * x ^ 2 + 2 * x - 3 End Function 五.实验结果分析及结论(算例及结果) 六.思考题

Mathematica数学实验——基本代数式运算

教师指导实验2 实验名称:基本代数式运算 一、问题:代数式的展开、分解、化简等运算。 二、实验目的: 学会使用Simplify,FullSimplify 对代数式进行化简;用Collect,Factor 对代数式进行合并同类项和因式分解;能对分式进行约分、通分和分解;能用不同的函数对代数式进行展开。 三、预备知识:本实验所用的Mathematica 命令提示。 1、Simplify[expr] 化简表达式expr ,FullSimplify[expr] 更广义的化简表达式expr[ 2、Collect[expr,x] 将表达式expr 中的x 的同次幂合并,Factor[expr]分解expr[ 3、Cancel[expr] 将分式expr 约分,Together[expr] 将分式expr 通分,Apart[expr] 将分 式expr 分解为最简分式和; 4、Expand[expr] 展开表达式expr ,ExpandAll[expr] 将表达式expr 彻底展开, ExpandNumerator[expr] 只展开分式expr 的分子, ExpandDinominator[expr] 只展开分式expr 的分母。 四、实验的内容和要求: 1、用函数Simplify[expr] 和FullSimplify[expr] 化简2 2 sin 2sin cos cos x x x x ++,并 观察化简的结果; 2、依次使用Collect[expr,x] 和Factor[expr],将4223222 3 322x a x x a x a x ---+-合并 为x 的同类项,并于以因式分解; 3、对分式2222 434 1 x x x x x x x -+-+--进行约分,通分及展开为最简分式和; 4、用4个不同的代数式展开函数展开3 2 ()()a b c d +-,比较展开结果的不同。 五、操作提示 1、用函数Simplify[expr] 和FullSimplify[expr] 化简2 2 sin 2sin cos cos x x x x ++ In[1]:= Simplify [ Sin[ x ]^2 + 2 Sin[ x ] Cos[ x ] + Cos[ x ]^2 ] Out[1]= (Sin[x] + Cos[x])2 In[2]:= FullSimplify [ Sin[ x ]^2 + 2 Sin[ x ] Cos[ x ] + Cos[ x ]^2 ] Out[2]= 1 + Sin[2 x] 2、依次使用Collect[expr,x] 和Factor[expr],将4223222 3 322x a x x a x a x ---+-合并 为x 的同类项,并于以因式分解; In[3]:= Collect [x 4 – 3 a 2 – 3 x 2 – 2 x 3 + a 2 x 2 – 2 a 2 x , x ] Out[3]= - 3 a 2 -2 a 2 x + (- 3 + a 2 ) x 2 – 2 x 3 + x 4

MATLAB计算方法迭代法牛顿法二分法实验报告要点

姓名实验报告成绩 评语: 指导教师(签名) 年月日

说明:指导教师评分后,实验报告交院(系)办公室保存。 实验一 方程求根 一、 实验目的 用各种方法求任意实函数方程0)(=x f 在自变量区间[a ,b]上,或某一点附近的实根。并比较方法的优劣。 二、 实验原理 (1)、二分法 对方程0)(=x f 在[a ,b]内求根。将所给区间二分,在分点2a b x -= 判 断是否0)(=x f ;若是,则有根 2a b x -= 。否则,继续判断是否0)()(

(1)11x =0.09033 (2)5x =0.09052 (3)2x =0,09052 五、 实验内容 (1)、在区间[0,1]上用二分法求方程0210=-+x e x 的近似根,要求误差不 超过 3 105.0-?。 (2)、取初值00=x ,用迭代公式=+1k x -0x )(') (k k x f x f ,求方程0210=-+x e x 的 近似根。要求误差不超过 3 105.0-?。 (3)、取初值00=x ,用牛顿迭代法求方程0210=-+x e x 的近似根。要求误 差不超过 3 105.0-?。 六、 实验步骤与实验程序 (1) 二分法 第一步:在MATLAB 7.0软件,建立一个实现二分法的MATLAB 函数文件agui_bisect.m 如下: function x=agui_bisect(fname,a,b,e) %fname 为函数名,a,b 为区间端点,e 为精度 fa=feval(fname,a); %把a 端点代入函数,求fa fb=feval(fname,b); %把b 端点代入函数,求fb if fa*fb>0 error('两端函数值为同号'); end %如果fa*fb>0,则输出两端函数值为同号 k=0 x=(a+b)/2 while(b-a)>(2*e) %循环条件的限制

相关文档
最新文档