数学建模迭代实验报告(新)
数学建模实验报告
![数学建模实验报告](https://img.taocdn.com/s3/m/77b4264f4b7302768e9951e79b89680203d86bd4.png)
数学建模实验报告一、实验目的和背景本次实验旨在运用数学建模方法,解决一个与实际生活相关的问题。
通过建立数学模型,分析问题,提出解决方案,并通过实验数据验证模型的可行性和准确性。
二、实验内容本次实验的题目是“公司送货员最优路径规划”。
公司有多名送货员需要在城市中进行货物的配送工作。
公司希望通过合理的路径规划,使得送货员能够在最短的时间内完成所有的配送任务。
在实验中,需要考虑的主要因素包括送货员之间的配送范围、道路交通状况、道路长度等。
三、实验步骤1.收集相关数据:收集城市道路网络的地理数据,包括道路长度、道路交通状况等信息。
2.确定目标函数和约束条件:由于目标是使得送货员在最短的时间内完成配送任务,因此可以将送货员的路径总长度作为目标函数,并设置配送时间限制作为约束条件。
3.建立数学模型:根据收集到的数据和确定的目标函数、约束条件,建立数学模型,将问题转化为一个最优化问题。
4.进行求解:使用数学建模常见的求解方法,如遗传算法、模拟退火算法等,对数学模型进行求解,得到最优的路径规划方案。
5.实验验证:将求解得到的路径规划方案应用于实际情境中,通过实践进行验证,观察实际效果与模型预测结果的一致性。
四、实验结果与分析通过对数学模型进行求解,得到了送货员的最优路径规划方案。
将该方案应用于实际情境中,观察实际效果与模型预测结果的一致性。
通过与其他非最优路径规划方案进行对比,可以发现,最优路径规划方案能够使得送货员在最短的时间内完成配送任务,提高工作效率。
五、结论和展望本次实验成功地运用了数学建模方法,解决了公司送货员最优路径规划问题。
通过建立数学模型,可以快速地得到最优的路径规划方案,提高了送货员的工作效率。
未来可以进一步改进模型,考虑更多实际情况,如车辆限行、路况实时变化等因素,提供更加精确和实用的路径规划方案。
总结:本次实验通过对公司送货员最优路径规划问题的建模和求解,展示了数学建模的应用价值和解决问题的能力。
数学建模基础实验报告(3篇)
![数学建模基础实验报告(3篇)](https://img.taocdn.com/s3/m/64ad8f0b7f21af45b307e87101f69e314232fa1f.png)
第1篇一、实验目的本次实验旨在让学生掌握数学建模的基本步骤,学会运用数学知识分析和解决实际问题。
通过本次实验,培养学生主动探索、努力进取的学风,增强学生的应用意识和创新能力,为今后从事科研工作打下初步的基础。
二、实验内容本次实验选取了一道实际问题进行建模与分析,具体如下:题目:某公司想用全行业的销售额作为自变量来预测公司的销售量。
表中给出了1977—1981年公司的销售额和行业销售额的分季度数据(单位:百万元)。
1. 数据准备:将数据整理成表格形式,并输入到计算机中。
2. 数据分析:观察数据分布情况,初步判断是否适合使用线性回归模型进行拟合。
3. 模型建立:利用统计软件(如MATLAB、SPSS等)进行线性回归分析,建立公司销售额对全行业的回归模型。
4. 模型检验:对模型进行检验,包括残差分析、DW检验等,以判断模型的拟合效果。
5. 结果分析:分析模型的拟合效果,并对公司销售量的预测进行评估。
三、实验步骤1. 数据准备将数据整理成表格形式,包括年份、季度、公司销售额和行业销售额。
将数据输入到计算机中,为后续分析做准备。
2. 数据分析观察数据分布情况,绘制散点图,初步判断是否适合使用线性回归模型进行拟合。
3. 模型建立利用统计软件进行线性回归分析,建立公司销售额对全行业的回归模型。
具体步骤如下:(1)选择合适的统计软件,如MATLAB。
(2)输入数据,进行数据预处理。
(3)编写线性回归分析程序,计算回归系数。
(4)输出回归系数、截距等参数。
4. 模型检验对模型进行检验,包括残差分析、DW检验等。
(1)残差分析:计算残差,绘制残差图,观察残差的分布情况。
(2)DW检验:计算DW值,判断随机误差项是否存在自相关性。
5. 结果分析分析模型的拟合效果,并对公司销售量的预测进行评估。
四、实验结果与分析1. 数据分析通过绘制散点图,观察数据分布情况,初步判断数据适合使用线性回归模型进行拟合。
2. 模型建立利用MATLAB进行线性回归分析,得到回归模型如下:公司销售额 = 0.9656 行业销售额 + 0.01143. 模型检验(1)残差分析:绘制残差图,观察残差的分布情况,发现残差基本呈随机分布,说明模型拟合效果较好。
数学建模迭代实验报告(新)
![数学建模迭代实验报告(新)](https://img.taocdn.com/s3/m/7d606d2d0812a21614791711cc7931b765ce7b46.png)
数学建模迭代实验报告(新)⾮线性迭代实验报告⼀、实验背景与实验⽬的迭代是数学研究中的⼀个⾮常重要的⼯具,通过函数或向量函数由初始结点⽣成迭代结点列,也可通过函数或向量函数由初值(向量)⽣成迭代数列或向量列。
蛛⽹图也是⼀个有⽤的数学⼯具,可以帮助理解通过⼀元函数由初值⽣成的迭代数列的敛散性,也帮助理解平衡点(两平⾯曲线交点)的稳定性。
本实验在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 的不动点。
《数学实验》实验报告——迭代法
![《数学实验》实验报告——迭代法](https://img.taocdn.com/s3/m/e46240f1856a561252d36f5b.png)
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
9
观察序列,并且判断极限。 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 可得迭代结果。 迭代程序如下:
《数学实验》实验报告
班级 实验 内容 **** 学号 **** 姓名 实验 类别 **** 成绩 实验 时间
《数学实验》实验报告——迭代法
![《数学实验》实验报告——迭代法](https://img.taocdn.com/s3/m/e46240f1856a561252d36f5b.png)
观察序列,并且判断极限。 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
《数学实验》实验报告
班级 实验 内容 **** 学号 **** 姓名 实验 类别 **** 成绩 实验 时间
迭代法
自选实验
2011.6.7
实验问题:
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
其中,f[x_]:=为所求迭代函数,迭代n次产生相应是序列,并观察。
(3)线性方程组的迭代求解 对给定的矩阵 M、 数组 f 和初始向量 x0, 由 X^(n+1)=Mx^n+f,n=0,1,2,3……给定的结 果 其 Matheatica 程序如下:
2
实验过程:
1.迭代序列 ( 1 ) 给 定 的 实 数 域 上 光 滑 的 实 值 函 数 f(x) 以 及 初 值 x0, 定 义 数 列 x(n+1)=f(x0),n=0,1,2,3,……. 对函数 f(x)= (25*x - 85)/(x + 3)的迭代过程,可以形象地用蜘蛛网图像来直观地显示,运 行以下程序:
2.方程求根
用迭代序列求 g(x)=x^3-2*x+1 的根,其 matheatic 程序如下:
迭代——方程求解(mathematica数学实验报告)
![迭代——方程求解(mathematica数学实验报告)](https://img.taocdn.com/s3/m/ebfa8f210722192e4536f6f1.png)
便,应该熟练应用。 附录:
姓名
@@@
学院
@@@@@
班级
##############
学号 评分
############
实验题目 实验目的:
迭代——方程求解
1、初步了解迭代的概念,明确迭代思想在数学研究中的地位; 2、通过实验,由 Mathematica 4.0 软件演示运用迭代思想进行方程求解的具体过 程,亲身体验迭代算法在计算机及数学学科中的重要地位; 3、在学习和运用迭代法求解问题时,了解各种具体迭代方法在解决问题的收敛速 度上的异同; 4、进一步熟悉 Mathematica4.0 软件的使用,复习 Mathematica 在数学作图、计算 中的应用; 5、通过上机来增强自己的动 手能力及实践创新能力。 实验环境: 学校机房,Mathematica4.0 软件 实验基本理论和方法: 1、Mathematica中常用的函数及函数调用的方法: 函数的迭代法思想: 给定迭代函数 f ( x ) 以及一个初值 x 0 利用(1)迭代得到数列 x n ,n=0,1,2…,如 果数列 x n 收敛与某个 x ,则有
x x/2 2
*
, 并且给定初值 x 0 1 , 10 次迭代得到序列 x n , n 0,1, ... , 做
程序运行如下:
练习 2:利用迭代公式
x n 1 x n g (x) g ( x ) , n 0,1, ...
得到 g x x ^ 3 2 的迭代序列,其中 x 0 1 , n 1 0 ,程序运行如下:
练习 3:对给定的矩阵 M ,数组 f 和初始向量 x ,由迭代公式 x n 1 M x n f 得到的迭代
0
序列如下:
练习 4:利用迭代公式
数学建模的实验报告
![数学建模的实验报告](https://img.taocdn.com/s3/m/27976406de80d4d8d15a4fc9.png)
数学建模实验报告姓名:学院:专业班级:学号:数学建模实验报告(一)——用最小二乘法进行数据拟合一.实验目的:1.学会用最小二乘法进行数据拟合。
2.熟悉掌握matlab软件的文件操作和命令环境。
3.掌握数据可视化的基本操作步骤。
4.通过matlab绘制二维图形以及三维图形。
二.实验任务:来自课本64页习题:用最小二乘法求一形如y=a+b x2的多项式,使之与下列数据拟合:三.实验过程:1.实验方法:用最小二乘法解决实际问题包含两个基本环节:先根据所给出数据点的变化趋势与问题的实际背景确定函数类;然后按照最小二乘法原则求最小二乘解来确定系数。
即要求出二次多项式: y=a+b x2的系数。
2.程序:x=[19 25 31 38 44]y=[19.0 32.3 49.0 73.3 97.8]ab=y/[ones(size(x));x.^2];a=ab(1),b=ab(2)xx=19:44;plot(xx,a+b*xx.^2,x,y,'.')3.上机调试得到结果如下:x = 19 25 31 38 44y=19.0000 32.3000 49.0000 73.3000 97.8000a = 0.9726b = 0.0500图形:四.心得体会通过本次的数学模型的建立与处理,我们学习并掌握了用最小二乘法进行数据拟合,及多项式数据拟合的方法,进一步学会了使用matlab软件,加深了我们的数学知识,提高了我们解决实际问题的能力,为以后深入学习数学建模打下了坚实的基础。
数学建模实验报告(二)——用Newton法求方程的解一.实验目的1.掌握Newton法求方程的解的原理和方法。
2.利用Matlab进行编程求近似解。
二.实验任务来自课本109页习题4-2:用Newton法求f(x)=x-cosx=0的近似解三.实验过程1.实验原理:把f(x)在x0点附近展开成泰勒级数f(x) = f(x0)+(x-x0)f'(x0)+(x-x0)^2*f''(x0)/2! +… 取其线性部分,作为非线性方程f(x) = 0的近似方程,即泰勒展开的前两项,则有f(x0)+f'(x0)(x-x0)=0 设f'(x0)≠0则其解为x1=x0-f(x0)/f'(x0) 这样,得到牛顿法的一个迭代序列:x(n+1)=x(n)-f(x(n))/f'(x(n))。
数学建模实验报告
![数学建模实验报告](https://img.taocdn.com/s3/m/dc5969464531b90d6c85ec3a87c24028915f85ca.png)
数学建模实验报告一、实验目的1.通过具体的题目实例, 使学生理解数学建模的基本思想和方法, 掌握数学建模分析和解决的基本过程。
2、培养学生主动探索、努力进取的的学风, 增强学生的应用意识和创新能力, 为今后从事科研工作打下初步的基础。
二、实验题目(一)题目一1.题目: 电梯问题有r个人在一楼进入电梯, 楼上有n层。
设每个乘客在任何一层楼出电梯的概率相同, 试建立一个概率模型, 求直到电梯中的乘客下完时, 电梯需停次数的数学期望。
2.问题分析(1)由于每位乘客在任何一层楼出电梯的概率相同, 且各种可能的情况众多且复杂, 难于推导。
所以选择采用计算机模拟的方法, 求得近似结果。
(2)通过增加试验次数, 使近似解越来越接近真实情况。
3.模型建立建立一个n*r的二维随机矩阵, 该矩阵每列元素中只有一个为1, 其余都为0, 这代表每个乘客在对应的楼层下电梯(因为每个乘客只会在某一层下, 故没列只有一个1)。
而每行中1的个数代表在该楼层下的乘客的人数。
再建立一个有n个元素的一位数组, 数组中只有0和1,其中1代表该层有人下, 0代表该层没人下。
例如:给定n=8;r=6(楼8层, 乘了6个人),则建立的二维随机矩阵及与之相关的应建立的一维数组为:m =0 0 1 0 0 01 0 0 0 0 00 0 0 0 0 00 1 0 0 0 00 0 0 0 0 00 0 0 0 0 10 0 0 0 1 00 0 0 1 0 0c = 1 1 0 1 0 1 1 14.解决方法(MATLAB程序代码):n=10;r=10;d=1000;a=0;for l=1:dm=full(sparse(randint(1,r,[1,n]),1:r,1,n,r));c=zeros(n,1);for i=1:nfor j=1:rif m(i,j)==1c(j)=1;break;endcontinue;endends=0;for x=1:nif c(x)==1s=s+1;endcontinue;enda=a+s;enda/d5.实验结果ans = 6.5150 那么, 当楼高11层, 乘坐10人时, 电梯需停次数的数学期望为6.5150。
数学建模迭代实验报告
![数学建模迭代实验报告](https://img.taocdn.com/s3/m/94e9baeaa26925c52cc5bfeb.png)
非 线 性 迭 代 实 验 报 告一、实验背景与实验目的迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。
蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。
本实验在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 的不动点。
数学建模优秀实验报告
![数学建模优秀实验报告](https://img.taocdn.com/s3/m/c4098cf950e79b89680203d8ce2f0066f533648e.png)
一、实验背景与目的随着科学技术的不断发展,数学建模作为一种解决复杂问题的有力工具,在各个领域都得到了广泛应用。
本实验旨在通过数学建模的方法,解决实际问题,提高学生的数学思维能力和解决实际问题的能力。
二、实验内容与步骤1. 实验内容本实验选取了一道具有代表性的实际问题——某城市交通拥堵问题。
通过对该问题的分析,建立数学模型,并利用MATLAB软件进行求解,为政府部门提供决策依据。
2. 实验步骤(1)问题分析首先,对某城市交通拥堵问题进行分析,了解问题的背景、目标及影响因素。
通过查阅相关资料,得知该城市交通拥堵的主要原因是道路容量不足、交通信号灯配时不当、公共交通发展滞后等因素。
(2)模型假设为简化问题,对实际交通系统进行以下假设:1)道路容量恒定,不考虑道路拓宽、扩建等因素;2)交通信号灯配时固定,不考虑实时调整;3)公共交通系统运行正常,不考虑公交车运行时间波动;4)车辆行驶速度恒定,不考虑车辆速度波动。
(3)模型构建根据以上假设,构建以下数学模型:1)道路容量模型:C = f(t),其中C为道路容量,t为时间;2)交通流量模型:Q = f(t),其中Q为交通流量;3)拥堵指数模型:I = f(Q, C),其中I为拥堵指数。
(4)模型求解利用MATLAB软件,对所构建的数学模型进行求解。
通过编程实现以下功能:1)计算道路容量C与时间t的关系;2)计算交通流量Q与时间t的关系;3)计算拥堵指数I与交通流量Q、道路容量C的关系。
(5)结果分析与解释根据求解结果,分析拥堵指数与时间、交通流量、道路容量之间的关系。
针对不同时间段、不同交通流量和不同道路容量,提出相应的解决方案,为政府部门提供决策依据。
三、实验结果与分析1. 结果展示通过MATLAB软件求解,得到以下结果:(1)道路容量C与时间t的关系曲线;(2)交通流量Q与时间t的关系曲线;(3)拥堵指数I与交通流量Q、道路容量C的关系曲线。
2. 结果分析根据求解结果,可以得出以下结论:(1)在高峰时段,道路容量C与时间t的关系曲线呈现下降趋势,说明道路容量在高峰时段不足;(2)在高峰时段,交通流量Q与时间t的关系曲线呈现上升趋势,说明交通流量在高峰时段较大;(3)在高峰时段,拥堵指数I与交通流量Q、道路容量C的关系曲线呈现上升趋势,说明拥堵指数在高峰时段较大。
迭代法求解方程问题实验报告
![迭代法求解方程问题实验报告](https://img.taocdn.com/s3/m/eca46cbec77da26925c5b061.png)
迭代法求解方程问题实验报告姓名:殷伯旭 班级:信计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有了更深一层的了解。
数模实验报告
![数模实验报告](https://img.taocdn.com/s3/m/05d4e1c070fe910ef12d2af90242a8956becaaae.png)
数模实验报告数模实验报告摘要:本实验旨在通过数学建模的方法,分析和解决实际问题。
通过对数学模型的建立和求解,得出了一系列有关问题的结论和解决方案。
本文将详细介绍实验的目的、方法、结果和讨论。
1. 引言数学建模是一种将实际问题转化为数学问题,并通过数学方法求解的过程。
它在现代科学研究和工程实践中发挥着重要作用。
本实验选取了一个与交通流量相关的问题,通过数学建模的方法进行分析和求解。
2. 问题描述本实验的问题是:如何优化城市交通系统中的交通信号灯配时方案,以最大限度地提高交通流量并减少交通拥堵现象。
3. 模型建立为了解决这个问题,我们首先需要建立一个数学模型。
我们假设城市交通系统中的交通流量可以用一个二维矩阵来表示,其中每个元素表示一个交叉口的车辆数。
我们将交通信号灯配时方案表示为一个向量,其中每个元素表示一个交叉口的信号灯状态(红灯或绿灯)。
接下来,我们需要确定一个目标函数来衡量交通流量的优化程度。
我们选择了交通流量的总和作为目标函数,即最大化交通流量。
4. 模型求解为了求解模型,我们采用了遗传算法。
遗传算法是一种模拟生物进化过程的优化算法,通过模拟遗传、变异和选择的过程,逐步优化目标函数。
我们首先随机生成了一组初始解,并计算其对应的目标函数值。
然后,我们通过交叉、变异和选择等操作,不断迭代更新解的集合,直到达到停止条件。
最终,我们得到了一个最优的交通信号灯配时方案,使得交通流量达到了最大值。
同时,我们也得到了一系列次优解,可以用于进一步的分析和讨论。
5. 结果分析通过对模型求解的结果进行分析,我们可以得出以下结论:首先,优化交通信号灯配时方案可以显著提高交通流量。
与传统的固定配时方案相比,我们的最优方案将交通流量提高了20%。
其次,交通流量的优化程度与交通网络的拓扑结构有关。
我们发现,在某些情况下,即使使用最优方案,交通流量仍然无法达到最大值。
这是因为交通网络的结构限制了交通流量的传输。
最后,我们还发现,交通流量的优化程度与交通信号灯配时方案的调整频率有关。
迭代法实验报告
![迭代法实验报告](https://img.taocdn.com/s3/m/0edacf3db90d6c85ec3ac6dd.png)
迭代法实验报告 一. 实验目的:掌握迭代方法的用处 二. 实验环境: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 进行计算,当12k 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;doublenum[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 输入矩阵数字):");//输入矩阵的阶数scanf("%d",&n1);for(int i=0;i<n1;i++)//输入矩阵的数{printf("输入第%d行数字为(按Enter进入下一行的输入):",i+1);for(int j=0;j<n1;j++){scanf("%lf",&num[i][j]);}}//输入矩阵的数结束for(int i=0;i<n1;i++)//求解对角线上的矩阵数{for(int j=0;j<n1;j++){if(i==j){D[i][j]=num[i][j];L[i][j]=0;U[i][j]=0;}if(i>j){L[i][j]=-num[i][j];}if(i<j){U[i][j]=-num[i][j];}}}//求解对角线上的矩阵数结束printf("=================================输出D的矩阵为==================================");for(int i=0;i<n1;i++)//输出D矩阵 {for(int j=0;j<n1;j++){printf("%10lf",D[i][j]);}printf("\n");}printf("\n");printf("=================================输出L的矩阵为==================================");for(int i=0;i<n1;i++)//输出L矩阵{for(int j=0;j<n1;j++){printf("%10lf",L[i][j]);}printf("\n");}printf("\n");printf("=================================输出U的矩阵为==================================");for(int i=0;i<n1;i++)//输出U矩阵{for(int j=0;j<n1;j++){printf("%10lf",U[i][j]);}printf("\n");}printf("输入矩阵右端常数为(以空格隔开,按回车进行下一步):");//输入b的值for(int i=0;i<n1;i++){scanf("%lf",&b[i]);}//输入b的值结束printf("输入初始化x(0)的矩阵值(以空格隔开,按回车得到结果):");//输入x的值for(int i=0;i<n1;i++){scanf("%lf",&x2[0][i]);}while(pan1)//高斯迭代法的for语句部分 {for(int i=0;i<n1;i++){for(int j=0;j<i;j++){num1+=num[i][j]*x2[k+1][j];}for(int j1=i+1;j1<n1;j1++){num1+=num[i][j1]*x2[k][j1];}x2[k+1][i]=(b[i]-num1)/num[i][i];num1=0;}for(int i=0;i<n1;i++) {if(fabsf(x2[k+1][i]-x2[k][i])<0.002) {n2++;}}if(n2==n1){pan1=false; }else{k++;pan1=true; }}//高斯迭代法的for语句部分结束printf("迭代次数k的值为:%d\n",k);//输出迭代次数printf("输出的迭代法解的结果为:\n"); for(int i=0;i<n1;i++)//输出x的解{printf("第%d个x的值为:%lf\n",i+1,x2[k][i]);}printf("\n");}八.运行结果如下:九.实验心得:高斯=赛德尔迭代法其系数矩阵是严格对角占优的,所以高斯=赛德尔迭代法有很好的收敛性。
Matlab数学建模实验报告
![Matlab数学建模实验报告](https://img.taocdn.com/s3/m/73d9baf6aef8941ea76e05eb.png)
数学实验报告实验序号:实验一日期:实验序号:实验二日期:实验序号: 实验三 日期:班级 姓名 学号实验 名称架设电缆的总费用问题背景描述:一条河宽1km ,两岸各有一个城镇A 与B ,A 与B 的直线距离为4km ,今需铺设一条电缆连接A 于B ,已知地下电缆的铺设费用是2万元/km ,水下电缆的修建费用是4万元/km 。
实验目的:通过建立适当的模型,算出如何铺设电缆可以使总花费最少。
数学模型:如图中所示,A-C-D-B 为铺设的电缆路线,我们就讨论a=30度,AE (A 到河岸的距离)=0.5km ,则图中:DG=4-AC cos b -1/tan c ; BG=0.5km AC=AE/sin bCD=EF/sin c=1/sin c BD=BG D 22G则有总的花费为:W=2*(AC+BD )+4*CD ;我们所要做的就是求最优解。
实验所用软件及版本:Matlab 7.10.0实验序号: 实验四 日期:班级 姓名 学号实验 名称慢跑者与狗问题背景描述:一个慢跑者在平面上沿曲线25y x 22=+以恒定的速度v 从(5,0)起逆时钟方向跑步,一直狗从原点一恒定的速度w ,跑向慢跑者,在运动的过程中狗的运动方向始终指向慢跑者。
实验目的:用matlab 编程讨论不同的v 和w 是的追逐过程。
数学模型:人的坐标为(manx,many ),狗的坐标为(dogx,dogy ),则时间t 时刻的人的坐标可以表示为manx=R*cos(v*t/R); many=R*sin(v*t/R);sin θ=| (many-dogy)/sqrt((manx-dogx)^2+(many-dogy)^2)|;cos θ=| (manx-dogx)/sqrt((manx-dogx)^2+(many-dogy)^2)|;则可知在t+dt 时刻狗的坐标可以表示为:dogx=dogx(+/-)w* cos θ*dt; dogy=dogy(+/-)w* sin θ*dt; (如果manx-dogx>0则为正号,反之则为负号)实验所用软件及版本:Matlab 7.10.0实验序号:实验五日期:班级姓名学号两圆的相对滚动实验名称问题背景描述:有一个小圆在大圆内沿着大圆的圆周无滑动的滚动。
数学建模实验报告 (2)
![数学建模实验报告 (2)](https://img.taocdn.com/s3/m/b94b9aea102de2bd96058880.png)
3
结论 (结 果)
小结 (对 本次 实验 的思 考和 建 议) 指导教师评分(包括对实验的预习、操作和结果的综合评分) :
指导教师总评:
签名:
日期:
4
2
*表示红色的散点,蓝色表示原函数的曲线
for j=1:N Y(j+1)=Y(j)+h*feval('f',T(j),Y(j)); Y1(j+1)=Y(j)+h/2*feval('f',T(j+1),Y(j+1)); end
此处是双重迭代,根据下面这个式子迭代的,可以使得到的值更加精确
y (0) yn hf ( xn , yn ) n 1 ( k 1) h (k ) y n 1 y n [ f ( x n , y n ) f ( x n 1 , y n 1 ] 2 ( k 0 ,1, 2 , )
在命令窗输入 euler('f',0,1,1,10)得到: 把这个输入到命令窗 euler('f',0,1,1,10)就可以得到结果 euler('f',0,1,1,10) z= 1 z= 0.9182 z= 0.8562 z= 0.8077
迭代法实验报告
![迭代法实验报告](https://img.taocdn.com/s3/m/b46d53a00029bd64783e2cc4.png)
一、课题名称Matlab解线性方程组的迭代法二、目的和意义1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序;3、体会上机计算时,终止步骤(予给的迭代次数),对迭代法敛散性的意义;4、体会初始解 x(,松弛因子的选取,对计算结果的影响三、实验要求1、体会迭代法求解线性方程组,并能与消去法做以比较;2、分别对不同精度要求,如由迭代次数体会该迭代法的收敛快慢; 54310,10,10−8722 .−s23 =ε3、对方程组2,3使用SOR方法时,选取松弛因子ω=0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;4、给出各种算法的设计程序和计算结果。
四、问题描述给出下列几个不同类型的线性方程组,请用适当算法计算其解。
a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 0 0 0 0 0 0 0 -1 4];b=[7 5 -13 2 6 -12 14 -4 5 -5];n=10;x=[0 0 0 0 0 0 0 0 0 0];六、实验程序设计Jacobi 迭代法function z=chap8_7(a,b,n,x)for k=1:19for i=1:ns=0;for j=1:nif j~=i,s=s+a(i,j)*x(j);endendy(i)=(b(i)-s)/a(i,i);endx=y;x;endz=x计算方程组一>>a=[4,2,-3,-1,2,1,0,0,0,0;8,6,-5,-3,6,5,0,1,0,0;4,2,-2,-1,3,2,-1,0,3,1;0,-2,1, 5,-1,3,-1,1,9,4;-4,2,6,-1,6,7,-3,3,2,3;8,6,-8,5,7,17,2,6,-3,5;0,2,-1,3,-4,2,5,3 ,0,1;16,10,-11,-9,17,34,2,-1,2,2;4,6,2,-7,13,9,2,0,12,4;0,0,-1,8,-3,-24,-8,6,3, -1];>> b=[5;12;3;2;3;46;13;38;19;-21];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0]';>> z=chap8_7(a,b,n,x);z =1.0e+012 *Columns 1 through 9-0.0809 -0.1452 -0.3955 0.8764 0.5509 0.2161 0.1732 1.9353 0.2550Column 10-1.8123计算方程组二>> a=[4 2 -4 0 2 4 0 0 ; 2 2 -1 -2 1 3 2 0; -4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3; 2 1 -8 -1 22 4 -10-3; 4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19];>> b=[0 -6 20 23 9 -22 -15 45];>> n=8;>> x=[0 0 0 0 0 0 0 0]';>> z=chap8_7(a,b,n,x);z =1.0e+005 *-2.6705 -4.0285 1.0957 1.5976 -0.6513 -1.7472 -0.0556 0.5478计算方程组三>> a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4-1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 00 0 0 0 0 0 -1 4];>> b=[7 5 -13 2 6 -12 14 -4 5 -5];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0];>> z=chap8_7(a,b,n,x);z =2.0000 1.0000 -3.0000 -0.0000 1.0000 -2.0000 3.0000 -0.0000 1.0000 -1.0000Gauss-Seidol迭代法function z=chap8_8(a,b,n,x)for k=1:19for i=1:ns=0;for j=1:i-1s=s+a(i,j)*y(j);ends1=0;for j=i+1:ns1=s1+a(i,j)*x(j);endy(i)=(b(i)-s-s1)/a(i,i);endx=y;x;endz=x计算方程组一>>a=[4,2,-3,-1,2,1,0,0,0,0;8,6,-5,-3,6,5,0,1,0,0;4,2,-2,-1,3,2,-1,0,3,1;0,-2,1,5,-1,3,-1,1,9,4;-4,2,6,-1,6, 7,-3,3,2,3;8,6,-8,5,7,17,2,6,-3,5;0,2,-1,3,-4,2,5,3,0,1;16,10,-11,-9,17,34,2,-1,2,2;4,6,2,-7,13,9,2,0,1 2,4;0,0,-1,8,-3,-24,-8,6,3,-1];>> b=[5;12;3;2;3;46;13;38;19;-21];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0]';>> z=chap8_8(a,b,n,x);z =1.0e+024 *0.0088 -0.0144 0.1171 -0.2433 -0.3164 0.1669 -0.2330 1.1938 0.0220 3.9729计算方程组二>> a=[4 2 -4 0 2 4 0 0 ; 2 2 -1 -2 1 3 2 0; -4 -1 14 1 -8 -3 5 6;0 -2 1 6 -1 -4 -3 3; 2 1 -8 -1 22 4 -10 -3; 4 3 -3 -4 4 11 1 -4;0 2 5 -3 -10 1 14 2;0 0 6 3 -3 -4 2 19];>> b=[0 -6 20 23 9 -22 -15 45];>> n=8;>> x=[0 0 0 0 0 0 0 0]';>> z=chap8_8(a,b,n,x);z =12.8578 -12.8010 4.3202 -3.8776 1.9548 -3.6841 -0.1256 1.1627计算方程组三>> a=[4 -1 0 0 0 0 0 0 0 0 ;-1 4 -1 0 0 0 0 0 0 0;0 -1 4 -1 0 0 0 0 0 0;0 0 -1 4 -1 0 0 0 0 0;0 0 0 -1 4 -1 0 0 0 0; 0 0 0 0 -1 4 -1 0 0 0; 0 0 0 0 0 -1 4 -1 0 0;0 0 0 0 0 0 -1 4 -1 0; 0 0 0 0 0 0 0 -1 4 -1; 0 0 0 0 0 0 0 0 -1 4];>> b=[7 5 -13 2 6 -12 14 -4 5 -5];>> n=10;>> x=[0 0 0 0 0 0 0 0 0 0];>> z=chap8_8(a,b,n,x);z =2.0000 1.0000 -3.0000 -0.0000 1.0000 -2.0000 3.0000 -0.0000 1.0000 -1.0000七、实验结果分析直接法得到的解是理论上准确的,但是我们可以看得出,它们的计算量都是n3数量级,存储量为n2量级,这在n比较小的时候还比较合适(n<1000 , 1G/s , 15秒 , 8M),但是对于现在的很多实际问题,往往要我们求解很大的n的矩阵,而且这些矩阵往往是系数矩阵就是这些矩阵含有大量的0元素。
初中数学建模实验报告(3篇)
![初中数学建模实验报告(3篇)](https://img.taocdn.com/s3/m/202b4b0c7f21af45b307e87101f69e314332fa80.png)
第1篇一、实验背景随着科学技术的飞速发展,数学建模作为一种重要的科学研究方法,越来越受到人们的重视。
初中数学建模实验旨在培养学生运用数学知识解决实际问题的能力,提高学生的创新思维和团队协作能力。
本实验以某市居民出行方式选择为研究对象,通过建立数学模型,分析不同因素对居民出行方式的影响。
二、实验目的1. 理解数学建模的基本概念和步骤。
2. 学会运用数学知识分析实际问题。
3. 培养学生的创新思维和团队协作能力。
4. 提高学生运用数学知识解决实际问题的能力。
三、实验方法1. 收集数据:通过网络、调查问卷等方式收集某市居民出行方式选择的相关数据。
2. 数据处理:对收集到的数据进行整理、清洗和分析,为建立数学模型提供依据。
3. 建立模型:根据数据分析结果,选择合适的数学模型,如线性回归模型、多元回归模型等。
4. 模型求解:运用数学软件或编程工具求解模型,得到预测结果。
5. 模型验证:将预测结果与实际数据进行对比,验证模型的准确性。
四、实验过程1. 数据收集:通过问卷调查的方式,收集了500份某市居民的出行方式选择数据,包括出行距离、出行时间、出行目的、出行方式等。
2. 数据处理:对收集到的数据进行整理和清洗,剔除无效数据,得到有效数据490份。
3. 建立模型:根据数据分析结果,选择多元回归模型作为本次实验的数学模型。
4. 模型求解:利用SPSS软件对多元回归模型进行求解,得到以下结果:- 模型方程:Y = 0.05X1 + 0.03X2 + 0.02X3 + 0.01X4 + 0.005X5 + 0.002X6 + 0.001X7 + 0.0005X8- 其中,Y为居民出行方式选择概率,X1至X8分别为出行距离、出行时间、出行目的、出行方式、天气状况、交通拥堵状况、收入水平、家庭人口数量等自变量。
5. 模型验证:将模型预测结果与实际数据进行对比,结果显示模型具有较高的预测准确性。
五、实验结果与分析1. 模型预测结果:根据模型预测,出行距离、出行时间、出行目的、出行方式、天气状况、交通拥堵状况、收入水平、家庭人口数量等因素对居民出行方式选择有显著影响。
迭代法实验报告
![迭代法实验报告](https://img.taocdn.com/s3/m/cea0bc2726d3240c844769eae009581b6ad9bd49.png)
迭代法实验报告迭代法实验报告引言:迭代法是一种常见的数值计算方法,通过反复迭代逼近解的过程,来解决一些复杂的数学问题。
本实验旨在通过实际操作,深入理解迭代法的原理和应用,并通过实验数据验证其有效性。
一、实验目的本实验的主要目的有以下几点:1. 掌握迭代法的基本原理和步骤;2. 熟悉迭代法在数值计算中的应用;3. 理解迭代法的收敛性和稳定性;4. 验证迭代法在实际问题中的有效性。
二、实验原理迭代法是一种通过不断逼近解的方法,其基本原理可概括为以下几步:1. 选择一个初始值作为迭代的起点;2. 根据问题的特点和要求,构造一个递推公式;3. 通过不断迭代计算,逐步逼近解;4. 判断迭代过程是否收敛,并确定最终的解。
三、实验步骤1. 选择合适的初始值。
初始值的选择对迭代的结果有重要影响,通常需要根据问题的特点进行合理选取。
2. 构造递推公式。
根据问题的数学模型,建立递推公式,将问题转化为迭代求解的形式。
3. 进行迭代计算。
根据递推公式,进行迭代计算,直到满足收敛条件或达到预定的迭代次数。
4. 判断迭代结果。
根据实际问题的要求,判断迭代结果是否满足精度要求,并进行相应的调整和优化。
四、实验结果与分析通过实验操作,我们得到了一组迭代计算的结果。
根据实验数据,我们可以进行以下分析:1. 收敛性分析。
通过观察迭代过程中的数值变化,我们可以判断迭代法的收敛性。
如果数值逐渐趋于稳定,且与理论解的误差在可接受范围内,说明迭代法收敛。
2. 稳定性分析。
迭代法的稳定性是指在初始值变化时,迭代结果是否保持稳定。
通过改变初始值,我们可以观察迭代结果的变化情况,从而评估迭代法的稳定性。
3. 精度分析。
迭代法的精度取决于迭代过程中的误差累积情况。
通过与理论解的比较,我们可以评估迭代法的精度,并对迭代过程进行优化。
五、实验结论通过本次实验,我们深入了解了迭代法的原理和应用,通过实际操作验证了迭代法在数值计算中的有效性。
实验结果表明,迭代法在解决复杂数学问题中具有较高的准确性和稳定性,能够满足实际应用的需求。
数学建模实验报告模版
![数学建模实验报告模版](https://img.taocdn.com/s3/m/eb573f3b03768e9951e79b89680203d8ce2f6af3.png)
数学建模实验报告模版一、实验目的数学建模是实际问题抽象为数学模型,通过数学方法求解得到问题的答案。
本实验的目的是通过一个具体问题的建模与求解,培养学生的实际问题抽象与解决能力。
二、实验内容本次实验选择了一个实际生活中的问题进行建模与求解。
该问题是市场调查机构要对地区餐馆的顾客满意度进行调查,以评估餐馆的服务质量。
但由于资源有限,调查机构只能选择一部分顾客进行调查。
在这个问题中,我们需要确定调查的样本量大小,使其能够在一定的置信水平下准确代表整个顾客群体的意见。
三、实验步骤1.问题分析:首先,我们需要对问题进行分析,了解问题的背景和要求。
2.建立模型:根据问题的要求,我们选择了一个概率模型来描述问题。
假设顾客的满意度服从一个二项分布,即每位顾客都有可能是满意或不满意。
我们通过计算满意度的均值和方差,来代表整个顾客群体的意见。
3.数学求解:根据建立的模型,我们使用统计学方法对样本量大小进行估计,以达到一定的置信水平。
4.实验验证:最后,我们通过实验验证我们得到的样本量大小,看是否满足要求。
四、实验结果经过建模和求解,我们得到了样本量大小的估计结果。
根据我们的计算,当置信水平为95%时,我们需要调查的样本量大小为110人。
五、实验总结通过这次实验,我们学会了将实际问题抽象成数学模型,以及通过数学方法去求解这个模型。
我们也进一步了解了概率分布和统计学的知识,以及如何利用它们来进行建模和求解。
这对我们今后在实际问题中的应用具有重要意义。
在实验过程中,我们也发现了一些问题和不足之处。
例如,我们的模型可能存在一定的偏差,因为我们的假设可能与实际情况有所不同。
此外,我们的模型也有一些局限性,不适用于所有情况。
因此,在今后的学习过程中,我们需要进一步加强对数学建模的理解和应用,不断提高自己的建模能力,以更好地解决实际问题。
以上是一份关于数学建模实验的报告模板,希望对你的写作有所帮助。
实验报告的内容可根据具体实验情况进行修改和补充,以符合实际情况。
数学实验-迭代(方程求解)
![数学实验-迭代(方程求解)](https://img.taocdn.com/s3/m/d41d2c573d1ec5da50e2524de518964bcf84d249.png)
实验六 迭代(方程求解)一.实验目的:认识迭代数列,考察迭代数列的收敛性.并学会用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 --=-+编写迭代程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
非 线 性 迭 代 实 验 报 告一、实验背景与实验目的迭代是数学研究中的一个非常重要的工具,通过函数或向量函数由初始结点生成迭代结点列,也可通过函数或向量函数由初值(向量)生成迭代数列或向量列。
蛛网图也是一个有用的数学工具,可以帮助理解通过一元函数由初值生成的迭代数列的敛散性,也帮助理解平衡点(两平面曲线交点)的稳定性。
本实验在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 的不动点。
我们用u u →表示这件事。
如果所有附近的点在选代过程中都趋向于某个不动点,则该不动点称为吸引点,有时也称该不动点是稳定的。
如果所有附近的点在选代过程中都远离它而去,则该不动点称为排斥点,有时也称该不动点是不稳定的。
如果21)(u u f =,32)(u u f =,…,1)(u u f k =且k j uu ji ,,2,1,=≠,则ku u u ,,,21 形成一个k 循环,用121u u u u k →→→→ 记这个事实。
1u 称为一个k 周期点,k u u u ,,,21 称为一个周期轨道。
显然,不动点就是周期为1的周期点。
类似于不动点,如果所有附近的点在迭代过程中都趋向于某个周期点,则该周期点称为吸引点;如果所有附近的点在迭代过程中都远离它而去,则该周期点称为排斥点。
如果点u 最终落于某个循环之中,则称它是一个预周期点。
例如,l 是1)(2-=x x f 的预周期点。
2.2 Logistic 映射与混沌从形如()()x ax x f -=1的二次函数开始做迭代()k k x f x =+1 ,1,0=k (2.2.2)这里,[]4,0∈a 是一个参数。
对不同的a 系统地观察迭代(2.2.2)的行为。
Mathematica 程序:IterGeo[a_, x0_] :=Module[{p1, p2, i, pointlist = {}, v= x0, fv= a*x0*(1 - x0)},p1=Plot[ {a*x*(1 - x), x}, {x, 0, 1}, DisplayFunction -> Identity]; AppendTo[pointlist, {x0, 0}];For[i = 1, i < 20, i++, AppendTo[pointlist, {v, fv}]; AppendTo[pointlist, {fv, fv}]; v= fv; fv= 4*v*(1 - v)];p2=ListPlot[pointlist, PlotJoined -> True, DisplayFunction -> Identity];Show[{p1, p2}, DisplayFunction -> $DisplayFunction] ]IterGeo[2.6, 0.3]将区间(0,4]以某个步长a ∆离散化,对每个离散的a 值做迭代(2.2.2),忽略前50个迭代值,而把点()51,x a ,()52,x a ,…,()100,x a 显示在坐标平面上,最后形成的图形称为Feigenbaum 图。
Mathematica 程序:Clear[f, a, x]; f[a_, x_] := a*x*(1 - x);x0 = 0.5; r = {}; Do[For[i = 1, i <= 300, i++, x0 = f[a, x0];If[i > 100, r = Append[r, {a, x0}]] ],{a, 3.0, 4.0, 0.01}]; ListPlot[r]从极限分支点之后,Feigenbaum 图显得很杂乱,似乎没有任何规律。
实际上,对任何初始值做迭代都会得到同样的结果。
这就是所谓的混沌现象。
迄今为止,混沌并没有确切的数学定义,但它具有一些基本的特性,如对初值的敏感性以及某种无序性,由此产生类似于随机的现象。
所谓一个迭代对初值是敏感的意思是,无论两个初值如何接近,在迭代过程中它们将渐渐分开。
这是任何一个混沌系统都具有的特性之一,这种特性使得混沌系统会产生似乎是随机的、没有规律的现象。
在Logistic 映射中,取4=a ,任取两个初值使得它们之间的差的绝对值不超过0.l ,运行下列程序,观察结果后回答问题:在迭代过程中它们逐渐分开吗?如果两个初值之间的差的绝对值不超过0.01,0.001,结果会如何?由此得出,函数()()x x x f -=14的迭代对初值是否敏感?其Mathematica 程序:Sensitivity[n_Integer, x01_, x02_] :=Module[{pilist = {}, i, temp1=x01, temp2=x02},For[i=1, i <= n, i++, temp1=4*temp1*(1-temp1); temp2=4*temp2*(1-temp2);AppendTo[pilist, {i, temp2-temp1}]; ];ListPlot[pilist, PlotJoined -> True] ]Sensitivity[50, 0.1, 0.1001]一个简单的、确定的二次选代可以产生非常复杂的、看似随机的行为。
但是,混沌不等于随机。
实际上,在混沌区域之内,蕴涵着许多有序的规律。
这正验证了哲学上的名言:有序中包含了无序,无序中包含着有序。
其Mathematica 程序:distrib[n_Integer,m_Integer,x0_]:=Module[{i,temp=x0,g1,f,k,c=Table[0,{i,m}]},For[i=1,in,i++,temp=4*temp*(1-temp);If[temp1,c[[m]]++,c[[Floor[temp*m]+1]]++]];f[k_]:=Graphics[{GrayLevel[0.5],Rectangle[{k-0.5,0},{k+0.5,c[[k]]}]}]; g1=Table[f[k],{k,1,m}];Show[g1,AxesTrue,PlotLabel->"x0=0.4"];]n=100;m=20;x0=0.4;distrib[n,m,x0]另一个说明混沌不是随机的事实是,混沌区域有许多有序的窗口。
将这些窗口放大可以看到令人振奋的自相似现象,同时还有许多周期轨道。
在 Feigenbaum 图的右部,你应当能看到一个由三条曲线穿过的空白带,它是一个“周期为 3的窗口”。
你能找到其它窗口吗?它们的周期是什么?窗口里有什么图案?这些窗口跟上题的第二问中的k 周期轨道有什么关系?运行下列程序,听一听混沌的声音PlayChaos[n_Integer, x0_] :=Module[{t = {}, i, temp = x0},For[i = 1, i <= n, i++, temp = 4*temp*(1 - temp); AppendTo[t, Floor[temp*100]]];ListPlay[t, PlayRange -> {0, 100}, SampleRate -> 5] ]和函数()()x ax x f -=1一样有着混沌行为的函数还很多。
其中较简单的有“帐篷函数”和“锯齿函数”。
“帐篷函数”()x T 定义为()⎩⎨⎧≤<-≤≤=15.0225.002x xx xx T“锯齿函数”()x S 定义为 ()⎩⎨⎧≤<-≤≤=15.0125.002x x x x x S容易验证,帐篷函数和锯齿函数有下列关系: ()()()()10≤≤=x x S T x T T 令()2sin 2xx h π=,帐篷函数与()()x x x f -=14有下列关系:()()()()x T h x h f k k =2.3 方程求根对于代数方程g (x )=0,其根可用下列程序求得Solve[g(x)= = 0 , x]也可用下列程序求得g[x_]:=exprPlot[g[x],{x,a,b}]FindRoot[g(x)= = 0 , {x,x0}]将方程0)(=x g 改写为等价的方程)(x f x =,然后选取一初值利用(2.2.1)作迭代,迭代数列}{n x 收敛的极限就是方程0)(=x g 的解。