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

合集下载

大学数学实验报告----迭代(一)——方程求解

大学数学实验报告----迭代(一)——方程求解

Do M n , n, 2, 100
运行结果:
M n_Integer : Module y, k , m 2; k m ^ n 1 ;
x Mod k, n ;
Print n, " ", PrimeQ n , " ", x, "
", GCD m, n
Do M n , n, 2, 100
2 True 0 2 3 True 1 1 4 False 0 2 5 True 1 1 6 False 2 2 7 True 1 1 8 False 0 2 9 False 4 1 10 False 2 2 11 True 1 1 12 False 8 2 13 True 1 1 14 False 2 2 15 False 4 1 16 False 0 2 17 True 1 1 18 False 14 2 19 True 1 1 20 False 8 2 21 False 4 1 22 False 2 2 23 True 1 1 24 False 8 2 25 False 16 1 26 False 2 2 27 False 13 1 28 False 8 2 29 True 1 1 30 False 2 2 31 True 1 1 32 False 0 2 33 False 4 1 34 False 2 2 35 False 9 1 36 False 32 2 37 True 1 1 38 False 2 2 39 False 4 1 40 False 8 2
99 False 3 27 100 False 1 67 Null2
m=4 时
输入程序:
M n_Integer : Module y, k , m 4; k m ^ n 1 ; x Mod k, n ; Print n, " ", PrimeQ n , " ", GCD m, n , " ", x Do M n , n, 2, 100

《数学实验》实验报告——迭代法

《数学实验》实验报告——迭代法

3.线性方程组的迭代求解
给定一个 n 元线性方程组
a11 x1 a12 x 2 a1 n xn 0 a x a x a x 0 21 1 22 2 2n n am 1 x1 am 2 x 2 amn xn 0

观察序列,并且判断极限。 Mathematica 程序如下:
当 x0=0.1,n=10 时,运行程序得
当 x0=0.5,n=10 时,运行程序得
当 x0=0.9,n=10 时,运行程序得
当 x0=1,n=10 时,运行程序得
实验结论:
10
由以上实验可得,函数 f(x)=x/2+1/x 的极限为 1.41421
运行程序结果如下:
实验结论:
试验中假设矩阵 A 的对角元素 aii<>0,i=1,2,3,…n.令 D=diag(a11,a12,,,….ann),则可以将 方程 Ax=b 转化成 x=(U+L)x+D-1b 其中 U 为下三角阵,L 为上三角阵。如果 U+L 的行列式 最大特征值的绝对值小于 1,则线性方程组有解且唯一。
写成 Ax=b 的形式, 再将其改写成 x=M*x=f 其中 M 是 n 阶矩阵, f=(f1,f2,f3,f4….fn)T 是 n 维列向量,给定 x0,由迭代 x(n+1)=M*x^n+f,n=0,1,2,3,4…..对给定的矩阵 M 数组 f 和 初始值 x0,由 x(n+1)=M*x^n+f,n=0,1,2,3,4…..用 mathematic 可得迭代结果。 迭代程序如下:
《数学实验》实验报告
班级 实验 内容 **** 学号 **** 姓名 实验 类别 **** 成绩 实验 时间

mathematica实验报告5张西西

mathematica实验报告5张西西

mathematica实验报告5张西西Mathematica是一款强大的数学软件,可以进行各种数值计算和符号计算。

在本次实验中,我使用Mathematica进行了一些数值计算的实验,并总结了实验结果。

首先,我使用Mathematica计算了一元函数的数值积分。

通过使用内置的函数NIntegrate,我计算了函数f(x) = x^2在区间[0, 1]上的数值积分。

结果显示,该函数在该区间上的数值积分为1/3接下来,我进行了一元方程的数值求解实验。

我使用内置函数NSolve,求解了方程x^2 - 2x + 1 = 0。

结果显示,方程的解为x = 1然后,我进行了一些线性代数的实验。

首先,我使用内置函数LinearSolve,求解了线性方程组Ax = b,其中A是一个2x2的矩阵,b是一个长度为2的向量。

结果显示,方程组的解为x = {1, 2}。

接着,我使用内置函数Eigenvalues和Eigenvectors,计算了一个2x2的矩阵的特征值和特征向量。

结果显示,该矩阵的特征值为{-1, 2},特征向量为{{1, 2}, {1, -1}}。

最后,我进行了一些常微分方程的数值解实验。

我使用内置函数NDSolve,求解了一阶常微分方程dy/dx = y,初始条件为y(0) = 1、结果显示,该方程的数值解为y = Exp[x]。

综上所述,通过本次实验,我使用Mathematica进行了一些数值计算的实验,包括数值积分、方程求解、线性代数和常微分方程的数值解。

Mathematica的强大功能和简洁的语法使得这些实验变得简单而又高效。

我相信在未来的学习和工作中,Mathematica将会成为我不可或缺的工具。

实验六迭代(一)——方程求解mathmatic数学实验报告王文翰实验6++

实验六迭代(一)——方程求解mathmatic数学实验报告王文翰实验6++

实验六迭代(一)——方程求解mathmatic数学实验报告王文翰实验62010级数学云亭班数学综合实验报告——迭代(方程求解、分形、混沌、几何形状的构造)实验一:迭代(一)——方程求解一、实验的目的函数的迭代是数学研究中的一个非常重要的思想工具,本实验将探讨迭代在方程求解中的应用。

通过编程演示利用迭代求解方程(组)的近似解,深刻了解其求解过程。

还可以通过上机来增强自己的动手能力及实践创新能力。

二、实验的环境基于window系统下的Mathematica4.0软件并使用PrintScreen截图软件、Word文档、课本。

三、实验的基本理论方法使用Mathematica4.0编写程序语言并求出结果。

四、实验的内容和步骤及得到的结果和结果分析实验1.1:给定初值,迭代n次产生相应的序列。

实验内容:给定初值,迭代10次产生的序实验步骤:在Mathematica4.0输入语句如下:实验结果:结果分析:从实验结果可以看出给定初值迭代10次产生的序列结果收敛于1.41421。

)产生的迭代序列。

实验内容:取初值实验步骤:在Mathematica4.0输入语句如下:实验结果:结果分析:从实验结果可以看出给定初值利用迭代公式(5)的形式迭代10次产生的序列结果收敛于1.25992104989487316。

我们还可以发现,使用改进的迭代公式求方程的解,它的收敛速度比其他的迭代公式要快,而且随着迭代次数的增加,迭代值趋于稳定。

实验1.3:对给定的矩阵M,数组给出的迭代结果。

实验内容:不妨取,由迭代(9)迭代20次求出的迭代结果。

实验步骤:在Mathematica4.0输入语句如下:实验结果:结果分析:从实验结果可以看出,由迭代(9)给出的迭代向量列不收敛。

实验1.4:由迭代(10)()产生的迭代向量列。

实验内容:取,利用迭代(10)迭代10次产生的迭代向量列。

实验步骤:在Mathematica4.0输入语句如下:实验结果:,利用迭代(10)迭代10次产生的迭代向量列收敛于(-3.0000000000000,3.00000000000000,1.00000000000000)实验1.5:由迭代(11)()产生的迭代向量列。

mathematica实验报告

mathematica实验报告

mathematica实验报告Mathematica 实验报告一、实验目的本实验旨在深入了解和掌握 Mathematica 软件的基本功能和操作方法,通过实际的案例和问题解决,提升运用 Mathematica 进行数学计算、数据分析、图形绘制以及编程的能力。

二、实验环境操作系统:Windows 10Mathematica 版本:121三、实验内容与步骤(一)数学计算1、基本运算在 Mathematica 中,直接输入数学表达式进行计算,例如:计算 2+ 3 4 的结果,输入`2 + 3 4` ,得到结果 14。

2、函数计算使用内置函数进行复杂的数学运算,如计算正弦函数`SinPi / 6`的值,结果为 05。

(二)数据分析1、数据导入通过`Import` 函数导入外部数据文件,如 CSV 格式的数据文件。

假设我们有一个名为`datacsv` 的文件,包含两列数据`x` 和`y` ,使用`data = Import"datacsv"`即可将数据导入。

2、数据处理对导入的数据进行处理,如计算平均值、方差等统计量。

可以使用`Meandata` 计算平均值,`Variancedata` 计算方差。

(三)图形绘制1、二维图形绘制简单的函数图形,如`PlotSinx, {x, 0, 2 Pi}`绘制正弦函数在`0` 到`2 Pi` 区间的图形。

2、三维图形绘制三维图形,如`Plot3Dx^2 + y^2, {x, -2, 2},{y, -2, 2}`绘制一个抛物面。

(四)编程实践1、定义函数使用`Function` 关键字定义自己的函数,例如定义一个计算阶乘的函数`factorialn_ := Ifn == 0, 1, n factorialn 1` 。

2、循环结构使用`For` 循环和`While` 循环实现重复操作,例如使用`For`循环计算 1 到 10 的和,`sum = 0; Fori = 1, i <= 10, i++, sum += i; sum` 。

数学实验综合实验报告

数学实验综合实验报告

一、实验目的:1、初步认识迭代,体会迭代思想的重要性。

2、通过在mathematica 环境下编写程序,利用迭代的方法求解方程的根、线性方程组的解、非线性方程组的解。

3、了解分形的的基本特性及利用mathematica 编程生成分形图形的基本方法, 在欣赏由mathematica 生成的美丽的分形图案的同时对分形几何这门学科有一个直观的了解。

从哲理的高度理解这门学科诞生的必然性,激发读者探寻科学真理的兴趣。

4、从一个简单的二次函数的迭代出发,利用mathematica 认识混沌现象及其所 蕴涵的规律。

5、.进一步熟悉Mathematic 软件的使用,复习总结Mathematic 在数学作图中的应用,为便于研究数学图像问题提供方便,使我们从一个新的视角去理解数学问题以及问题的实际意义。

6、在学习和运用迭代法求解过程中,体会各种迭代方法在解决问题的收敛速度上的异同点。

二、实验的环境:学校机房,mathematica4环境三、实验的基本理论和方法:1、迭代(一)—方程求解函数的迭代法思想:给定实数域上光滑的实值函数)(x f 以及初值0x 定义数列1()n n x f x +=, ,3,2,1,0=n , (1)n x , ,3,2,1,0=n ,称为)(x f 的一个迭代序列。

(1)方程求根给定迭代函数)(x f 以及初值0x 利用(1)迭代得到数列n x , ,3,2,1,0=n .如果数列收敛到某个*x ,则有)(**x f x =. (2)即*x 是方程)(x f x =的解。

由此启发我们用如下的方法求方程0)(=x g 的近似解。

将方程0)(=x g 改写为等价的方程)(x f x =, (3) 然后选取一初值利用(1)做迭代。

迭代数列n x 收敛的极限就是方程0)(=x g 的解。

为了使得迭代序列收敛并尽快收敛到方程0)(=x g 的某一解的条件是迭代函数)(x f 在解的附近的导数将的绝对值尽量小,因此迭代方程修订成x x f x h x )1()()(λλ-+== (4) 选取λ使得|)(|x h '在解的附近尽量小. 为此, 我们可以令,01)()(=-+'='λλx f x h得)(11x f '-=λ. 于是 1)()()(-'--=x f x x f x x h . 特别地,如果取x x g x f +=)()(, 则可得到迭代公式 .,1,0,)()(1 ='-=+n x g x g x x n n n n (5) (2)线性方程组的数值解的迭代求解理论与矩阵理论给定一个n 元线性方程组⎪⎩⎪⎨⎧=++=++,,1111111n n nn n n n b x a x a b x a x a (6)或写成矩阵的形式,b Ax = (7) 其中)(ij a A =是n 阶方阵,T n x x x x ),,(21 =及T n b b b b ),,,(21 =均为n 维列向量.熟知,当矩阵A 的行列式非零时,以上的方程组有唯一解.如何有效,快速地寻求大型的线性方程组的数值解释科学工程计算中非常重要的任务.而迭代法常常是求解这些问题的有效方法之一。

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

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

0,1称为(f、迭代法函数的迭代是数学研究中的一个非常重要的思想工具,哪怕是对一个相当简单的函数进行迭代,都可以产生异常复杂的行为,并由此而衍生了一些崭新的学科分支,如分.同时,迭代在各种数值计算算法以及其它学科领域的诸多算法中处于核心的本实验的基本理论是分形几何学程序运行如下:练习2:利用迭代公式1(),0,1,...()n n g x x x n g x +=-=' 得到()^32g x x =-的迭代序列,其中01x =,10n =,程序运行如下:练习3:对给定的矩阵M ,数组f 和初始向量0x ,由迭代公式1n n x Mx f +=+得到的迭代序列如下:练习4:利用迭代公式11()x L D A X D b --=-+将方程组⎪⎩⎪⎨⎧=++=++11111111.......................................b x a x a b x a x a n nn n n n 即Ax b =改成多种等价形式x Mx f =+做迭代,观察其收敛状况。

给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,运行结果如下:练习5:同练习4,给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,利用迭代公式111()()x I L Ux I L D b ---=-+-对方程组Ax b =做迭代。

程序运行如下:实验结果和结果分析:对于书上给出的例题程序,要实际上机亲自操作一次,从而了解不同命令的不同作用,对于相似的命令要区分明白他们的不同之处。

这一章小的命令比较多,也比较杂,需要分门别类区分开,并且分别运行一下。

书后的练习题离不开前面的例题,要在掌握好例题的情况下,多练习一些习题,加深记忆。

Mathematica 在迭代法解方程组非常方。

数学建模迭代实验报告(新)

数学建模迭代实验报告(新)

非 线 性 迭 代 实 验 报 告一、实验背景与实验目的迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。

蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。

本实验在Mathematica 平台上首先利用蛛网图和迭代数列研究不动点的类型;其次通过蛛网图和迭代数列研究Logistic 映射,探索周期点的性质、认识混沌现象;第三通过迭代数列或向量列求解方程(组)而寻求有效的求解方法;最后,利用结点迭代探索分形的性质。

二、实验材料2.1迭代序列与不动点给定实数域上光滑的实值函数)(x f 以及初值0x ,定义数列)(1n n x f x =+, ,2,1,0=n (2.2.1) }{n x 称为)(x f 的一个迭代序列。

函数的迭代是数学研究中的一个非常重要的思想工具,利用迭代序列可以研究函数)(x f 的不动点。

对函数的迭代过程,我们可以用几何图象来直观地显示它——“蜘蛛网”。

运行下列Mathematica 程序:Clear[f]f[x_] := (25*x - 85)/(x + 3); (实验时需改变函数) Solve[f[x]==x , x] (求出函数的不动点)g1=Plot[f[x], {x, -10, 20}, PlotStyle -> RGBColor[1, 0, 0], DisplayFunction -> Identity];g2=Plot[x, {x, -10, 10}, PlotStyle -> RGBColor[0, 1, 0], DisplayFunction -> Identity]; x0=5.5; r = {};r0=Graphics[{RGBColor[0, 0, 1], Line[{{x0, 0}, {x0, x0}}]}]; For[i = 1, i <= 100, i++,r=Append[r, Graphics[{RGBColor[0, 0, 1], Line[{{x0, x0},{x0, f[x0]}, {f[x0], f[x0]}}] }]]; x0=f[x0] ];Show[g1, g2, r, r0, PlotRange -> {-1, 20}, (PlotRange 控制图形上下范围) DisplayFunction -> $DisplayFunction] x[0]=x0;x[i_]:=f[x[i-1]]; (定义序列) t=Table[x[i],{i,1,10}]//N ListPlot[t] (散点图)观察蜘蛛网通过改变初值,你能得出什么结论?如果只需迭代n 次产生相应的序列,用下列Mathematica 程序: Iterate[f_,x0_,n_Integer]:=Module[{ t={},temp= x0},AppendTo[t,temp]; For[i=1,i <= n, i++,temp= f[temp]; AppendTo[t,temp]]; t ]f[x_]:= (x+ 2/x)/2; Iterate[f,0.7,10]设()x f 是一个定义在实数域上的实值函数,如果存在u 使得()u u f =,则称u 为()x f 的不动点。

Mathematica数学实验——方程和不等式的求解

Mathematica数学实验——方程和不等式的求解

M a t h e m a t i c a数学实验——方程和不等式的求解(总3页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2教师指导实验3实验名称:方程和不等式的求解一、问题:求解初等方程(组)和不等式(组)。

二、实验目的:学会使用Mathematica 求解方程(组)、不等式(组)及含参方程(组)、含参不等式(组),体会Mathematica 的强大人工智能。

三、预备知识:本实验所用的Mathematica 命令提示1、Solve[equs,vars] 求解关于变量vars 的方程或方程组equs ;2、Reduce[equs,vars] 求解关于变量vars 的方程或方程组equs ,并对参数进行讨论;3、NSolve[equs,vars] 求解关于变量vars 的方程或方程组equs 的近似解;4、FindRoot[equs,{x,x 0},{y,y 0}…] 从 (x 0,y 0) 出发找方程(组)equs 的一个解;5、Eliminate[equs,elims] 消去方程组equs 的参数elims ;6、InequalitySolve[inequs,vars] 解关于vars 的不等式(组)inequs 。

四、实验的内容和要求:1、解方程(组)223341221,x y x x a y x b⎧+=-+==⎨=+⎩;2、求方程241y x x y ⎧=⎪⎨+=⎪⎩的近似解; 3、消去方程则22x t y t=⎧⎨=⎩的参数t ; 4、解关于x 的不等式2|1|1(4)(3)0,11x x x x x x ->⎧⎪--≥⎨<<⎪⎩。

五、操作提示1、解方程(组)223341221,x y x x a y x b⎧+=-+==⎨=+⎩;In[1]:= Solve [ x 3 – 2 x + 1 == 0 , x ]3Out[1]=⎧⎫⎧⎫⎧⎫⎨⎨⎬⎨⎬⎬⎩⎭⎩⎭⎩⎭11{x →1},x →(-1-,x →(-1+22 In[2]:=== a , x ]Out[2]= ⎧⎫⎧⎫⎪⎪⎨⎨⎬⎬⎪⎪⎩⎭⎩⎭424+a x →4a In[3]:=== a , x ]Out[3]= 424+a x ==&&a ≠04a In[4]:= Solve [{ y == x + b , 3 x ^ 2 + 4 y ^ 2 == 12 } , { x , y } ]Out[4]=((⎧⎧⎫⎨⎨⎬⎩⎭⎩21x →,y →,77((⎫⎧⎫⎨⎬⎬⎩⎭⎭21x →-,y →77 2、求方程241y x x y ⎧=⎪⎨+=⎪⎩的近似解; In[5]:= NSolve [{ y == x 2 , x 4 + y == 1 } , { x , y }]Out[5]= {i i {y →-1.61803,x →1.727202},{y →-1.61803,x →-1.727202}}{y →0.618034,x →0.786151},{y →0.618034,x →-0.786151}3、消去方程则22x t y t=⎧⎨=⎩的参数t ; In[6]:= Eliminate [{ x = = 2 t , y = = t ^ 2 } , t ]Out[6]= 4 y = = x 24、解关于x 的不等式2|1|1(4)(3)0,11x x x x x x->⎧⎪--≥⎨<<⎪⎩。

迭代法求解方程问题实验报告

迭代法求解方程问题实验报告

迭代法求解方程问题实验报告姓名:殷伯旭 班级:信计0801班 学号:u200810065一. 实验目的运用数学知识与matlab 相结合,运用数学方法,建立数学模型,用matlab 软件辅助求解模型,解决实际问题。

二. 实验任务求方程1020x e x +-=的一个近似解,误差不超过410-,要求: 设计4种求解的迭代法,讨论其收敛性,并求出满足精度的近似解;三. 实验分析与求解题目要求设计四种迭代方法,我们考虑用书上的四种迭代思想:方法一:用Steffenson 迭代法,首先构造函数:2()10xe g x -=, 则迭代公式为:21(())k k k k k k kg x x x x +-=- 方法二:一般的迭代法,1210k k x e x +-=方法三:单点弦截法法,固定01()()()()0.25,f a b a f b f a a x x --==-, 其中端点120,a b ==,则迭代公式为:010()()()()k k k k k f x x x x x f x f x +=--- 方法四:双点弦截法法,迭代公式为:111()()()()k k k k k k k f x x x x x f x f x +--=--- 实验程序:function shiyan112%%%%%方法一: stefften 迭代x0=0.25;g0=(2-exp(x0))/10;gg0=(2-exp(g0))/10;x1=x0-(g0-x0)^2/(gg0-2*g0+x0);n1=0;while abs(x1-x0)>0.00001x0=x1;g0=(2-exp(x0))/10;gg0=(2-exp(g0))/10;x1=x0-(g0-x0)^2/(gg0-2*g0+x0);n1=n1+1;x(n1)=x1;endn1x0=x1%%%%%方法二: 一般迭代x20=0.25;x21=(2-exp(x20))/10;n2=0;while abs(x21-x20)>0.00001x20=x21;x21=(2-exp(x20))/10;n2=n2+1;endn2x20=x21%%%%%方法三: 单点弦截法x30=0.25;a=0;b=0.5;n3=0;fa=exp(a)+10*a-2;fb=exp(b)+10*b-2;x31=a-fa*(b-a)/(fb-fa);f30=exp(x30)+10*x30-2;f31=exp(x31)+10*x31-2;x32=x31-f31*(x31-x30)/(f31-f30); while abs(x32-x31)>0.00001x31=x32;f31=exp(x31)+10*x31-2;x32=x31-f31*(x31-x30)/(f31-f30);n3=n3+1;endn3x30=x32%%%%%%%方法四:双点弦截法x40=0.25;x41=0.5;n4=0;f40=exp(x40)+10*x40-2;f41=exp(x41)+10*x41-2;x42=x41-f41*(x41-x40)/(f41-f40);while abs(x42-x41)>0.00001x40=x41;x41=x42;f40=exp(x40)+10*x40-2;f41=exp(x41)+10*x41-2;x42=x41-f41*(x41-x40)/(f41-f40);n4=n4+1;endn4x40=x42运行结果:(1) 方法一: x =0.0905 ; 迭代次数: n1 = 2(2)方法二: x =0.0905 ; 迭代次数: n2 = 5(3) 方法三: x =0.0905 ; 迭代次数: n3 = 2(4) 方法四: x =0.0905 ; 迭代次数: n4 =33)实验总结通过自主学习matlab,编程能力有了较大提高,并将其应用于数值代数刚学的一种思想,在加深对该领域印象的同时对matlab有了更深一层的了解。

mathematica 实验报告

mathematica 实验报告

mathematica 实验报告Mathematica 实验报告引言:Mathematica 是一款强大的数学软件,它能够帮助用户进行各种数学计算、数据分析和可视化等工作。

本实验报告将介绍我在使用 Mathematica 进行实验时的一些经验和心得。

一、实验目的本次实验的目的是通过使用 Mathematica,掌握其基本操作和功能,了解其在数学计算和数据处理方面的应用。

二、实验步骤1. 安装和启动 Mathematica首先,我在官方网站下载了 Mathematica 的安装包,并按照提示完成了安装。

然后,我启动了 Mathematica 软件,进入了主界面。

2. 基本操作在主界面中,我发现 Mathematica 提供了一个强大的交互式界面,用户可以通过键入命令和运行代码来实现各种功能。

我尝试了一些基本操作,比如进行简单的数学计算、定义变量和函数等。

3. 数据处理和分析Mathematica 提供了丰富的数据处理和分析功能,使得用户可以轻松处理和分析各种数据。

我使用了一些内置的函数和工具,对一些实验数据进行了处理和分析。

例如,我使用了 ListPlot 函数绘制了一些实验数据的散点图,并使用了Fit 函数进行了数据拟合。

4. 可视化Mathematica 还提供了强大的可视化功能,用户可以通过绘制图表和图形来展示数据和结果。

我使用了 Plot 函数绘制了一些函数的图像,并使用了 Graphics 函数绘制了一些几何图形。

5. 编程和自动化Mathematica 具有强大的编程功能,用户可以编写自己的函数和程序来实现复杂的计算和操作。

我尝试了一些简单的编程,比如编写了一个计算斐波那契数列的函数。

此外,我还了解到 Mathematica 支持自动化操作,可以通过编写脚本和批处理文件来实现自动化的计算和分析。

三、实验结果与分析通过使用 Mathematica,我成功完成了实验的各项任务,并取得了一些令人满意的结果。

数学实验-迭代(方程求解)

数学实验-迭代(方程求解)

实验六 迭代(方程求解)一.实验目的:认识迭代数列,考察迭代数列的收敛性.并学会用Mathematica 系统对线性和非线性的方程组进行迭代求解.二.实验环境:计算机,Mathematica 数学软件,Word 文档,课本。

三.实验的基本理论和方法:给定迭代函数f(x)以及一个初值0x 利用1(),0,1,n n x f x n +==⋅⋅⋅迭代得到数列n x ,0,1,n =⋅⋅⋅.如果数列n x 收敛与某个*x ,则有**()x f x =.即*x 是方程()x f x =的解.由此用如下的方法求方程()0g x =的近似解。

将方程()0g x =改写为等价的方程()x f x =,然后选取一初值利用1(),0,1,n n x f x n +==⋅⋅⋅做迭代.迭代数列n x 收敛的极限就是()0g x =的解.线性方程组以及非线性方程组的求解与单变量的方程求解方法类似.实验内容和步骤四.实验内容与结果 1.线性方程组⑴编写给定初值0x 及迭代函数()f x ,迭代n 次产生相应的序列.⑵给函数()(2/)f x x x =+初值为0进行迭代80次所产生的迭代序列并显示. 输入程序:Iterate f_,x0_,n_Integer :Module t ,i,temp x0,AppendTo t,temp ;For i1,in,i ,tempf temp ;AppendTo t,temp;tf x_:x 2x2;Iterate f,1.,80运行结果得:1.,1.5,1.41667,1.41422,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421,1.41421输入程序:NTIterate g_,x0_,n_Integer :Modulei,var x0,t ,h,h x_Dt g x ,x;For i 1,i n,i ,AppendTo t,var ;If h var0,var N var g var h var ,20, Print"Divided by Zero after",i,"'s iterations.";Break ;tg x_:x^32;NTIterate g,1,40运行结果得:1,1.3333333333333333333,1.2638888888888888889,1.2599334934499769665,1.259921050017769774,1.259921049894873165,1.259921049894873165,1.259921049894873165,1.25992104989487316,1.25992104989487316,1.25992104989487316,1.2599210498948732,1.2599210498948732,1.2599210498948732,1.259921049894873,1.259921049894873,1.259921049894873,1.259921049894873,1.25992104989487,1.25992104989487,1.25992104989487,1.2599210498949,1.2599210498949,1.2599210498949,1.259921049895,1.259921049895,1.259921049895,1.259921049895,1.25992104989,1.25992104989,1.25992104989,1.2599210499,1.2599210499,1.2599210499,1.259921050,1.259921050,1.259921050,1.259921050,1.25992105, 1.259921052. 非线性方程组⑴对于给定的矩阵M ,数组f 和初始向量0x ,由迭代1n n x Mx f +=+编写迭代程序,并选择初值分别迭代20和50次所产生的序列. 迭代40次运行结果: 输入程序:LSIterate m_,f_List,f0_List,n_Integer :Modulei,var f0,t Table ,i,n,For i1,in,i,tivar;varm.varf ;t m1,0.4,0.5,1;f1,1;f00,0;LSIterate m,f,f0,40运行结果得:0,0, 1.,1., 2.4,2.5, 4.4,4.7,7.28,7.9,11.44,12.54,17.456,19.26,26.16,28.988,38.7552,43.068,56.9824,63.4456,83.3606,92.9368,121.535,135.617,176.782,197.385,256.736,286.776,372.446,416.144,539.904,603.367,782.251,874.319,1132.98,1266.44,1640.56,1833.93,2375.13,2655.21,3438.22,3843.78,4976.73,5563.88,7203.28,8053.25,10425.6,11655.9,15088.9,16869.7,21837.8,24415.1,31604.9,35335.,45739.9,51138.5,66196.3,74009.4,95801.,107109.,138645.,155010.,200650.,224334.,290385.,324660.,420250.,469854.,608192.,679980.,880185.,984077.,1.27382106,1.42417106, 1.84349106,2.06108106,2.66792106,2.98282106,3.86105106,4.31678106迭代60次运行结果输入程序:LSIterate m_,f_List,f0_List,n_Integer:Modulei,var f0,t Table,i,n,For i1,i n,i,t i var;var m.var f;tm1,0.4,0.5,1;f1,1;f00,0;LSIterate m,f,f0,60运行结果得:1,1.3333333333333333333,1.2638888888888888889,1.2599334934499769665,1.259921050017769774,1.259921049894873165,1.259921049894873165,1.259921049894873165,1.25992104989487316,1.25992104989487316,1.25992104989487316,1.2599210498948732,1.2599210498948732,1.2599210498948732,1.259921049894873,1.259921049894873,1.259921049894873,1.259921049894873,1.25992104989487,1.25992104989487,1.25992104989487,1.2599210498949,1.2599210498949,1.2599210498949,1.259921049895,1.259921049895,1.259921049895,1.259921049895,1.25992104989,1.25992104989,1.25992104989,1.2599210499,1.2599210499,1.2599210499,1.259921050,1.259921050,1.259921050,1.259921050,1.25992105,1.25992105⑵改写矩阵的等价形式,给定数组f 和初始向量0x ,运用迭代格式11()x I D A x D b --=-+编写迭代程序。

迭代——方程求解、混沌实验报告

迭代——方程求解、混沌实验报告

设计题四:求线性方程的根组员:鲁利萍章程冯山林班级:信息与计算科学081指导教师:吴梅君完成日期:12月12日目录实验二十四:迭代——方程求解、混沌 (3)一、实验指导书解读 (3)二、试验计划 (3)1、迭代序列 (3)2、方程求根 (5)3、线性方程组的迭代求解 (6)4、蜘蛛网 (6)5、Feigenbaum图 (7)6、Logistic映射 (8)7、“听一听”混沌 (8)三、实验过程与结果 (8)1、迭代序列 (8)2、方程求根 (13)3、线性方程组的迭代求解 (14)4、蜘蛛网 (15)5、Feigenbaum图 (16)6、Logistic映射 (19)7、“听一听”混沌 (20)四、实验总结: (20)实验二十四:迭代——方程求解、混沌实验报告一、实验指导书解读本实验主要做三方面的工作:一是通过若干个函数通过迭代利用计算机求函数的不动点的近似值,在有关程序中改变有关参数值、初值、函数而体会序列敛散性(速度),通过蛛网图利用函数在不动点的导数来刻画不动点的类型;二是对一个方程(组)或几个方程(组)利用迭代求根(解),观察初值对序列敛散性的影响,比较不同迭代所形成的序列的求解效果,思考或研究有效迭代的条件;三是通过Logistic迭代函数中参数a的不同取值利用计算机研究序列发散时出现的周期收敛,利用计算机进行不同次数的迭代对Feigenbaum图体会分形的层次性与自相似性。

二、试验计划1、迭代序列(1)研究函数f(x)=(25x-85)/(x+3)的蛛网图(2)给定初值1及迭代函数f(x)=x/2+1/x,迭代n次产生相应的序列(3)给定初值1,分别就f(x)=(-x+15)/(x+1),g(x)=sinx做迭代序列{Xn}实验思路改变有关参数值、初值、函数思考:观察序列的通项并判断其敛散性,通过蛛网图利用函数在不动点的导数来刻画不动点的类型。

2、方程求根用迭代序列求g(x)=x^3-2x+1的根实验思路:改变初值思考:观察实验结果,求出方程的根3、线性方程组的迭代求解对给定的矩阵M,数组f和初始向量x^0,由已知的迭代结果求出线性方程组的解实验思路改变初值思考:观察结果,求出线性方程组的解;研究矩阵M的特征值对迭代序列的收敛性有何关系。

mathematica迭代法解方程组

mathematica迭代法解方程组

mathematica迭代法解方程组Mathematica中可以使用NSolve或FindRoot来求解方程组,当然,也可以使用迭代法来解决。

下面介绍一种简单的迭代法求解方程组的方法。

假设我们要求解如下方程组:$$begin{cases}x^2-y+z=1y^2-z+x=2z^2-x+y=3end{cases}$$首先,我们需要将方程组转化为向量形式。

定义一个向量函数$F(mathbf{x})=begin{pmatrix}f_1(mathbf{x})f_2(mathbf{x})f_3 (mathbf{x})end{pmatrix}$,其中$f_i(mathbf{x})$表示第$i$个方程的左侧减去右侧所得到的值,即:$$begin{aligned}f_1(mathbf{x})&=x^2-y+z-1f_2(mathbf{x})&=y^2-z+x-2f_3(mathbf{x})&=z^2-x+y-3end{aligned}$$接下来,我们采用Jacobi迭代法求解该方程组。

具体步骤如下:1. 给定初值$mathbf{x}^{(0)}$和迭代次数$n$;2. 对于每个分量$x_i$,计算出它的下一步迭代值$x_i^{(k+1)}$:$$x_i^{(k+1)}=frac{1}{a_{ii}}left(b_i-sum_{jeq i}a_{ij}x_j^{(k)}ight)$$3. 将所有的分量合并成一个向量$mathbf{x}^{(k+1)}$;4. 如果达到了指定的迭代次数$n$,则停止迭代,输出当前的近似解$mathbf{x}^{(n)}$;否则返回第2步。

下面是Mathematica中实现该算法的代码:```(*定义向量函数*)f[x_List] := {x[[1]]^2 - x[[2]] + x[[3]] - 1,x[[2]]^2 - x[[3]] + x[[1]] - 2,x[[3]]^2 - x[[1]] + x[[2]] - 3}(*Jacobi迭代法求解方程组*)jacobi[x0_List, n_Integer] := Module[{x = x0},Do[x[[i]] = (1/Coefficient[f[x], x[[i]]])*(f[x][[i]] +Sum[Coefficient[f[x], x[[i]], 1]*x[[j]], {j, 1, 3}] - Coefficient[f[x], x[[i]], 0]),{k, 1, n}];x](*测试*)sol = jacobi[{0, 0, 0}, 10]f[sol] (*检验结果是否满足方程组*)```运行以上代码得到的结果为:```{0.592662, 1.39611, -1.90835}{0., 0., 0.} (*结果满足方程组*)```这里我们取初始值为$mathbf{x}^{(0)}=begin{pmatrix}000end{pmatrix}$,迭代10次后得到的近似解为$mathbf{x}^{(10)}approxbegin{pmatrix}0.59271.3961-1.9084end {pmatrix}$,同时检验结果发现其满足方程组。

mathematica实验六迭代法

mathematica实验六迭代法

mathematica实验六迭代法
数学实验报告实验六迭代法
实验目的:
函数的迭代是数学研究中的一个非常重要的思想工具。

首先,我们探讨利用迭代求解方程(组)的近似解。

其次,以迭代的观点介绍分形的基本特征以及生成分形图形的基本方法。

再次,从一个简单的二次函数的迭代出发,使读者认识混沌现象及其所蕴含的规律性。

实验步骤:
1、给定初值x0及迭代函数发f (x ),迭代n 次产生相应的序列。

2、由迭代公式)
()('1n n n n x g x g x x -=+,n=1,2,…。

3、对给定的矩阵M ,数组f 和初始向量0x ,由迭代f Mx x n n +=+1给出的迭代结果
4、由迭代b D X A D I x 11)(--+-=产生的迭代向量列
输出结果:
5、Koch雪花曲线
6、Minkowski香肠
输出图像:
实验总结:
通过本次实验,了解到迭代在各种数值计算算法以及其他学科领域的诸多算法中
处于核心的地位,也使我们在欣赏美丽的分形图案的同时对分形几何这门学科有一个直观的认识和了解。

《数学实验》实验报告——用Mathematica软件解微分方程

《数学实验》实验报告——用Mathematica软件解微分方程

例1
求解下列微分方程: 1)
y 2 (1 y) (2 y) 2
In[1]:= DSolve[(y[x]^2)(1-y'[x]) (2-y'[x])^2,y[x],x] Out[1]=
书中结果为: y x c 1/( x c) ,其中 c 为任意常数。 y z 2) z y In[1]:= DSolve[{y'[x] z[x],z'[x] -y[x]},{y[x],z[x]},x] Out[1]= {{y[x]C[1] Cos[x]+C[2] Sin[x],z[x]C[2] Cos[x]-C[1] Sin[x]}} 3)
中 1 2 3 为任意常数。 例 2 求常微分方程 y′= x2 + y2,满足初始条件 y(0)= 0 的数值解。 In[1]:= s1=NDSolve[{y'[x]==x^2+y[x]^2,y[0]==0},y,{x,-2,2}] Out[1]= {{yInterpolatingFunction[{{-2.,2.}},<>]}} In[2]:= y=y/.s1[[1]] Out[2]= InterpolatingFunction[{{-2.,2.}},<>] In[3]:= Plot[y[x],{x,-2,2},AspectRatioAutomatic,PlotRange{-1.5,1.5}]
例1 求解下列微分方程: 1) 2) 3)
y 2 (1 y) (2 y) 2
y z z y y 3 y 3 y y ( x 5)e x
例2 求常微分方程 y′= x2 + y2,满足初始条件 y(0)= 0 的数值解 例3 求函数 t 5 和 et sint 的拉氏变换 例 4 用拉氏变换解微分方程:

利用Mathematica解方程

利用Mathematica解方程

注: Mathematica中用 中用“ 表示相等关系 表示相等关系, 1)在Mathematica中用“=”表示相等关系,用 ==”表示方程 “== 表示方程 对于高次多项式方程, 2)对于高次多项式方程,有时系统也求不出 精确解这时可直接用DSolve求出它的数值解。 DSolve求出它的数值解 精确解这时可直接用DSolve求出它的数值解。 NSolve[x^5 x^3-6*x^2+1==0,x,20],命令 [x^5例:NSolve[x^5-x^3-6*x^2+1==0,x,20],命令 行中的20 20表示要求方程的解精确到小数点以后 行中的20表示要求方程的解精确到小数点以后 20位 可根据需要输入。 20位,可根据需要输入。
dy 3 9x = y− , y ( 0) = 1 dx 2 2y
二、应用部分 (1) 找出方程 xsinx-xcos2x=0最靠近原点的五个根 找出方程e 最靠近原点的五个根. 最靠近原点的五个根 (2)方程 方程y″+9y=0的一条积分曲线通过点 的一条积分曲线通过点(π,-1),且在该 方程 的一条积分曲线通过点 且在该 点和直线y+1=x-π相切 求这条曲线的方程 相切,求这条曲线的方程 点和直线 相切 求这条曲线的方程. (3)一垂直悬挂的弹簧 其下有一质量为 的重物 平衡 一垂直悬挂的弹簧,其下有一质量为 的重物,平衡 一垂直悬挂的弹簧 其下有一质量为m的重物 位置时弹簧伸长a,如果将物体向下拉开一段距离 如果将物体向下拉开一段距离b, 位置时弹簧伸长 如果将物体向下拉开一段距离 然后放开,物体就在平衡位置上下振动 物体就在平衡位置上下振动,求其运动规 然后放开 物体就在平衡位置上下振动 求其运动规 律x=x(t). (4)一电动机运转后 每秒钟温度升高 一电动机运转后,每秒钟温度升高 一电动机运转后 每秒钟温度升高1°C,设室内温 设室内温 度为15°C,电动机温度的冷却速率和电动机与室 度为 电动机温度的冷却速率和电动机与室 内温差成正比,求电动机的温度与时间的关系 求电动机的温度与时间的关系. 内温差成正比 求电动机的温度与时间的关系

实验四利用Mathematica解方程实验目的:学会正确使用Solve和FindRoot及

实验四利用Mathematica解方程实验目的:学会正确使用Solve和FindRoot及

注:
1)在Mathematica中用“=”表示相等关系, 用“==”表示方程
2)对于高次多项式方程,有时系统也求不出 精确解这时可直接用DSolve求出它的数值解。 例:NSolve[x^5-x^3-6*x^2+1==0,x,20], 命令行中的20表示要求方程的解精确到小数点 以后20位,可根据需要输入。
实验四 利用Mathematica解方程
实验目的:学会正确使用Solve和FindRoot及 DSolve解各类方程 预备知识:
(一)理解方程(方程组)的代数解法 (二)解方程的牛顿切线法及弦截法 (三)微分方程相关知识 (四)Mathematica中解各类方程及方程
组的相关命令
边学边做:
(一)求方程(方程组)的代数解或数值解: Solve[方程或方程组,变量或变量组], NSolve [方程或方程组,变量或变量组]
(4)一电动机运转后,每秒钟温度升高1°C,设室内温 度为15°C,电动机温度的冷却速率和电动机与室 内温差成正比,求电动机的温度与时间的关系.
实验四内容详解: 一、用Solve解代数方程、方程组,求其精确解,
数值解,复数解 1.命令格式 Solve[单个方程,未知元] Solve[{方程组},{未知元表}] 2.边学边做 Solve[a*x+b==0,x]; Solve[x^2+x+1==0,x] Solve[x^4-x^3-6*x^2+1==0,x] a=(1+2*x)^3;b=(3+2*x+y)^4; Solve[a==0,b==0,{x,y}]
(4)求微分方程
x
y
y 的co通st 解 x sin t
解 DSolve[{x’[t]+y’[t]==Cos[t],

数学实验mathematic_初步实验报告

数学实验mathematic_初步实验报告
3.循环语句
For, Do,While,If,Switch等
【实验环境】
Mathematica5
二、实验内容:
【实验方案】
1.积分的求解
2.图形的绘制
【实验过程】(实验步骤、记录、数据、分析)
1.求积分
(1)
解:
( 2)
解:
2.将 在 处和 处展成9阶泰勒公式形式
解:(1)在 处(2)在源自处3、解方程(组)Graphics
【实验结论】(结果)
用Mathematica计算出了函数不定积分和定积分;很好的掌握了解方程(组)的方法;理解和掌握把函数展成泰勒公式的方法;掌握了用Mathematica绘制一元函数、二元函数以及参数函数图形的方法。
【实验小结】(收获体会)
深刻体会到Mathematica是一个功能强大的常用数学软件。以符号计算见长,也具有高精度的数值计算功能和强大的图形功能。并掌握了Mathematica的几种基本操作命令。
(1)
解:Solve[{Log[a+x]= =5,Cos(a-x)= =0.5},{a,x}]
(2)
解:
4、做作出下列函数的图形
(1)
解:Plot[Which[x 1,2 x,0 x 1,2,x<0,Cos[x]+1],{x,-8,8}]
Graphics
(2)
SurfaceGraphics
(3)
解:ParametricPlot[{3Cos[t]^3,3 Sin[t]^3},{t,-3 ,3 }]
新乡学院数学与信息科学系
实验报告
实验项目名称mathematic初步试验
所属课程名称数学实验
实验类型基础性试验
实验日期2013-4-12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

即*
x 是方程组得解.
练习1:设 ()/22x x f x +=
,并且给定初值 01x =,做10次迭代得到序列 n x , 0,1,...n =,程序运行如下:
练习2:利用迭代公式
1(),0,1,...()
n n g x x x n g x +=-=' 得到()^32g x x =-的迭代序列,其中01x =,10n =,程序运行如下:
练习3:对给定的矩阵M ,数组f 和初始向量0x ,由迭代公式1n n x Mx f +=+得到的迭代序列如下:
练习4:利用迭代公式
11()x L D A X D b --=-+
将方程组
⎪⎩⎪⎨⎧=++=++11
111111.......................................b x a x a b x a x a n nn n n n 即
Ax b =
改成多种等价形式
x Mx f =+
做迭代,观察其收敛状况。

给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,运行结果如下:
练习5:同练习4,给定(){}1,2,2,(1,1,1),(2,2,1)A =-与(){}2,1,1,(1,1,1),(1,1,2)A =--,利
用迭代公式
111()()x I L Ux I L D b ---=-+-
对方程组
Ax b =
做迭代。

程序运行如下:
实验结果和结果分析:
对于书上给出的例题程序,要实际上机亲自操作一次,从而了解不同命令的不同作。

相关文档
最新文档