迭代法编程求解
“迭代法编程求解”相关的资料有哪些?“迭代法编程求解”相关的范文有哪些?怎么写?下面是小编为您精心整理的“迭代法编程求解”相关范文大全或资料大全,欢迎大家分享。
各种迭代法编程
雅可比迭代法:
function x=jacobi(a,b,p,delta,n)
%a为n维非奇异矩阵;b为n维值向量
%p为初值;delta为误差界;n为给定的迭代最高次数 N=length(b); for k=1:n
for j=1:N
x(j)=(b(j)-a(j,[1:j-1,j+1:N])*p([1:j-1,j+1:N]))/a(j,j); end
err=abs(norm(x’-p)); p=x’;
if(err
p %显示迭代过程 x=x’; k,err
高斯塞德尔法迭代:
function x=saidel(a,b,p,delta,n)
%a为n维非奇异矩阵;b为n维值向量
%p为初值;delta为误差界;n为给定的迭代最高次数 N=length(b); for k=1:n
for j=1:N if j==1
x(1)=(b(1)-a(1,2:N)*p(2:N))/a(1,1); else if j=N
x(N)=(b(N)-a(N,1:N-1)*(x(1:N-1))’)/a(N,N); else
x(j)=(b(j)-a(j,(1:j-1)*x(1:j-1)-a
迭代法求解非线性方程
西安财经学院 本 科 实 验 报 告
学 院( 部 ) 统计学院 实 验 室 数学专业实训基地 课 程 名 称 大学数学实验 学 生 姓 名 董童丹(编程)杨媚(实验报告) 学 号 0804280125 0804280126 专 业 数学与应用数学0801
教务处制
二0一一年五月十五日
第 1 页
《迭代法求解非线性方程》实验报告
开课实验室:实验室 312 2011年5月15日 学院 统计学院 年级、专业、班 数学与应用数学0801姓名 董童丹 班 课程 名称 大学数学实验 教师 评语 教师签名: 年 月 日 一、实验目的 掌握用fzero和fsolve程序求解方程根的方法,并根据不同的初值,根的近似值和迭代次数 分析不同根的收敛域; 二、实验环境 本次上机实践所使用的平台和相关软件Matlab。 三、实验内容 *题目
雅可比迭代法,高斯-塞德尔迭代法
第八章 解线性方程组的迭代法习题参考答案
1. 设方程组
(a) 考察用雅可比迭代法,高斯-塞德尔迭代法解此方程组的收敛性; (b) 用雅可比迭代法,高斯-塞德尔迭代法解此方程组,要求当||x终止. (k 1) 5x1 2x2 x3 12 x1 4x2 2x3 20 2x 3x 10x 323 1 x(k)|| 10 4时迭代
1. (a) Jacobi迭代矩阵
0.40.2 0 B D 1(L U) 0.2500.5 0.2 0.30
3特征方程为 | I B| 0.21 0.055 0
特征根均小于1,Jacobi迭代法收敛。
Gauss-Seidel迭代矩阵
00.40.2 G (D L) 1U 00.40.7 00.040.17
32| I G| 0.57 0.09 6 0 特征方程为
特征根均小于1,Gauss-Seidel迭代法收敛。 (b) Jacobi迭代格式为
X(k 1) BX(k) f1
1T其中B如上,f1 Db ( 1.250.3),
迭代18次得
, X 3.99999642.99997391.9999999
Gauss-Seidel迭代格式为 T
X(k 1) GX(k) f2
1
迭代法
西 安 邮 电 大 学
(计算机学院)
课内实验报告
实验名称 用迭代法解方程
专业名称: 计算机科学与技术 班 级: 学生姓名: 学号(8位) 指导教师:
实验日期: 2013年11月
一. 实验目的及实验环境
实验目的:编写程序,比较两种迭代法的优劣。 在MATLAB数学软件下求解 二. 实验内容
求下列方程的实根
(1) x^2-3x+2-e^x=0; (2) x^3+2x^2+10x-20=0.
要求:(1)设计一种不动点迭代法,要使迭代序列收敛,然后再用斯特芬森加速迭代,计算到|x(k)-x(k-1)|<10^(-8)为止。(2)用牛顿迭代,同样计算到|x(k)-x(k-1)|<10^(-8)。输出迭代初值及各次迭代值和迭代次数k,比较方法的优劣。 三.方案设计
1.在Matlab中直接求解
2.采用不动点迭代法、斯特芬森加速迭代和牛顿迭代法实现并比较优劣。 四.测试数据及运行结果
(1)先用画图的方法估计根的范围 ezplot('x^2-3*x+2-exp(x)'); grid on;
x2-3 x+2-exp(x)500-50-100-150-200-6-4-20x246
可以估计到方程的根在区间(0,1);选取迭代初值为x0=0.5; 构造不动点迭代公式x(k+1)=( x(k)^2
不动点迭代法非线性方程求解
《MATLAB程序设计实践》课程考核
1、编程实现以下科学计算算法,并举一例应用之。(参考书籍《精通MATLAB科学计算》,王正林等著,电子工业出版社,2009年) “不动点迭代法非线性方程求解” 2、编程解决以下科学计算问题。
7.某工厂2005年度各季度产值(单位:万元)分别为:450.6、395.9、410.2、450.9,试绘制折线图和饼图,并说明图形的实际意义。
x2y2?1绘制平面曲线,并分析参数a对其形状的影响。 8.根据2?a25?a2
2.按要求对指定函数进行插值和拟合。
(1)按表6.4用3次样条方法插值计算0~900范围内整数点的正弦值和
0~750范围内整数点的正切值,然后用5次多项式拟合方法计算相同的函数值,
并将两种计算结果进行比较。
表6.4 特殊角的正弦与正切值表 0 15 30 45 60 75 90 a(度)sina 0 0.2588 0.5000 0.7071 0.8660 0.9659 1.0000 tana 0 0.2679 0.5774 1.0000 1.7320 3.7320 (2)按表6.5用3次多项式方法插值计算1~100之间整数的平方根。
表6.5 1~100内特殊值的
数值分析 迭代法
实验二:迭代法、初始值与收敛性
一:实验要求
考虑一个简单的代数方程
x2 x 1 0,
针对上述方程,可以构造多种迭代法,
如xn 1 xn 1,xn 1 1
2
1xn
,xn 1 在实
轴上取初值,分别用以上迭代做实验,记录各算法的迭代过程。
二:实验要求及实验结果
(1) 取定某个初始值,按如上迭代格式进行计算,它们的收敛性如何?重复选取不同放
入初始值,反复实验。请读者自行设计一种比较形象的记录方式(如何利用Matlab的图形功能),分析三种迭代法的收敛性与初值的选取关系。
(2) 对三个迭代法中的某一个,取不同的初值进行迭代,结果如何?试分析对不同的初
值是否有差异?
实验内容:
ⅰ)对xn 1 xn 1进行迭代运算,选取迭代次数n=20;分别选择初值-0.6, 1.6进行
2
实验,并画出迭代结果的趋势图。
编写MATLAB运算程序如下:
%迭代法求解 %令x=x^2-1 clear
n=30; x=-0.5;
x1=x^2-1; for i=1:n
end
m=linspace(0,29,n);
x1=x1^2-1; xx(i)=x
Jacobi 迭代法与Gauss-Seidel迭代法算法比较
Jacobi
迭代法与Gauss-Seidel迭代
法算法比较
目录
1 引言 .............................................................................................................................................. 1
1.1 Jacobi迭代法 .................................................................................................................... 2 1.2 Gauss-Seidel迭代法 .......................................................................................................... 2 1.3 逐次超松弛(SOR)迭代法 ...................................................
jacob迭代法 gauss-seidel迭代法 matlab命令
1. jacobi迭代法解方程组的MATLAB程序
function x=jacobi(a,b,x0,m)%a:系数矩阵 b:等号右边矩阵 x0:迭代初值 m:迭代次数 x_temp=x0; for k=1:m
for i=1:length(b) sum=0; for j=1:length(b) if(j~=i)
sum=sum+a(i,j)*x_temp(j); end end
x(i)=-(sum-b(i))/a(i,i); end x_temp=x; end 2.
gauss-seidel迭代法解方程组的MATLAB程序
function x=gaussseidel(a,b,x0,m) x=x0; for k=1:m
for i=1:length(b) sum=0; for j=1:length(b) if(j~=i)
sum=sum+a(i,j)*x(j);
jacob迭代法 gauss-seidel迭代法 matlab命令
1. jacobi迭代法解方程组的MATLAB程序
function x=jacobi(a,b,x0,m)%a:系数矩阵 b:等号右边矩阵 x0:迭代初值 m:迭代次数 x_temp=x0; for k=1:m
for i=1:length(b) sum=0; for j=1:length(b) if(j~=i)
sum=sum+a(i,j)*x_temp(j); end end
x(i)=-(sum-b(i))/a(i,i); end x_temp=x; end 2.
gauss-seidel迭代法解方程组的MATLAB程序
function x=gaussseidel(a,b,x0,m) x=x0; for k=1:m
for i=1:length(b) sum=0; for j=1:length(b) if(j~=i)
sum=sum+a(i,j)*x(j);
Newton迭代法实例
基于牛顿迭代法的圆形断面临界水深直接计算
学院:建筑工程学院学号:2111206052 姓名:王瑞峰
一、问题来源
圆形断面由于具有受力条件好、适应地形能力强、水力条件好等优点,已成为农田灌溉、城市给水排水等工程较常采用的断面形式。而临界水深的计算则是进行圆形断面水力计算的关键,但其计算较繁杂,要求解高次隐函数方程,且未知量包含在三角函数中,求解难度大。自20世纪90年代,对圆形断面临界水深的计算进行了大量研究,获得了较多成果。鉴此,本文应用牛顿迭代算法,得到一种较简洁且可提供高精度算法 程序的近似计算公式。
二、数学模型
相应于断面单位能量最小值的水深称为临界水深,其计算公式为:
需满足的临界流方程为:
其中
式中,d为洞径;为临界水深对应的圆心角,rad;n为流速分布不均匀系数(不特殊说明时取1.0);Q为流量,m3Is;g为重力加速度(通常取9.81 m/s2);分别为临界流对应的过水断面面积和水面宽度。
无压流圆形断面的水力要素见图1
将式(1)、(3)、(4)代入式(2)得:
将式(5)整理即得临界水深的非线形方程:
由此可知.式(6)为临界水深h。的高次隐函数方程,且未知量包含在三角函数中。即圆形断面临界水深的求解即为式(6)