一般迭代法与steffensen迭代法matlab实现
二.算法步骤
1.Steffensen迭代法的算法:
Input : 区间端点a,b;最大迭代次数N ;最大误差要求del
Output:近似解或失败信息
while
n←1
while(n<=N) do:
y←f(x0);z←f(y);
x←x_0-(y-x_0 )^2/(z-2y+x_0 );
If (|x-x0|<del) then;
return x;
End
n←n+1;
x0←x;
end
return False;
三.MATLAB程序
2.2之一般迭代法
clc
e=10e-10;
x0=1.5;
x1=(3*x0+1)^(1/5);
while abs(x1-x0)>e;x0=x1;x1=(3*x0+1)^(1/5)
end
2.2之steffensen法
clc
x0=1.5;
e=(1e-5)*(1/2);
w=1;
char=['x','y','z'];
disp(char);
temp=2;
while w==1x=x0;y= y=(3*x0+1)^(1/5);z=(3*y+1)^(1/5);location=['B',num2str(temp),':D',num2str(temp)];ex=[x,y,z]; xlswrite('E:\BG1',ex,location);disp(ex);x=x0-((y-x0)^2)/(z-2*y+x0);if abs(x-x0)<ew=0;else x0=x;end
temp=temp+1;
end
2.3一般迭代法
clc
x=0.5:0.001:1.5;
y1=1+(1/2)*sin(x);
y2=abs(-(1/2)*cos(x));
y3=1;
plot(x,y1,'r.',x,y2,'k.',x,y3,'m.');
text(0.9,1.4,'f(x)');
text(0.9,0.9,'y=1');
text(0.9,0.4,'f(x)导数');
axis([0.5,1.5,0,1.5]);
2.3.2之steffensen法
clc
x0=1.5;
e=(1e-5)*(1/2);
w=1;
char=[' x ','y ','z'];
disp(char);
temp=2;
while w==1x=x0;y=1+(1/2)*sin(x0);z=1+(1/2)*sin(y);location=['B',num2str(temp),':D',num2str(temp)];ex=[x,y,z]; xlswrite('E:\BG2',ex,location);disp(ex);x=x0-((y-x0)^2)/(z-2*y+x0);if abs(x-x0)<ew=0;else x0=x;end temp=temp+1;
end
四.结果分析:
1.用简单迭代法和steffensen迭代法都能求出非线性方程得近似解,且用一般迭代法和steffensen迭代法求出的近似解基本一样。
2. 用 Steffensen 迭代法来求解时迭代的次数少很多,可见 Steffensen 迭代法加速了收敛速度。
一般迭代法与steffensen迭代法matlab实现相关推荐
- 数值分析2-解非线性方程的不动点迭代法,斯蒂芬森(steffensen)迭代法,牛顿法以及简化牛顿法的matlab程序
对于形如f(x)=0的单变量非线性方程,可以构造不同的迭代函数进行迭代求根,以f(x)=x3-x-1为例,我们可以简单的通过等式变形构造出x=x3-1和x=(x+1)(1/3)两种等价形式:也可以自己 ...
- 不动点迭代法matlab视频,不动点迭代法matlab
不动点迭代法的 MATLAB 程序代码如下: Function [root,n]=StablePoint(f,x0,eps) %用不动点迭代法求函数的一个零点 %初始迭代向量:x0 %根的精度:eps ...
- matlab 高斯迭代法求解,高斯迭代法matlab算例
Matlab 线性方程组的迭代解法 Gauss-Seidel 迭代法 Matlab 线性方程组的迭代解法 Gauss-Seidel 迭代法实验报告 1.熟悉 Gauss-Seidel 迭代法,并编写 ...
- 数值分析牛顿法 matlab,科学网—数值分析--非线性函数牛顿迭代法matlab程序 - 殷春武的博文...
%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn %% All rights reserved clear clc x0=in ...
- 用matlab求不动点迭代,科学网—数值分析--非线性方程组不动点迭代法matlab程序 - 殷春武的博文...
%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn %% All rights reserved clear clc x1=in ...
- 牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)
牛顿迭代法 matlab程序(解线性方程组) 作者:佚名来源:转载发布时间:2009-3-7 16:55:53 减小字体 增大字体 1.功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0xn ...
- 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)
<牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...
- 牛顿迭代法-matlab实现
牛顿迭代法-matlab实现 牛顿迭代法简介: 牛顿迭代法又称为切线法,简单来说就是不断求切线与x轴的交点,来逐渐接近解的迭代过程.方法使用函数f(x)的泰勒级数的前面几项来寻找方程f(x) = 0的 ...
- matlab编jacobi方法,jacobi迭代法matlab
h Matlab 线性方程组的迭代解法(Jacobi 迭代法 Gauss-Seidel 迭代法)实验报告 2008年11月09日 星期日 12:49 1.熟悉 Jacobi 迭代法,并编写 Matla ...
最新文章
- 皮一皮:人生就像编程,总有防不胜防的bug会被人发现...
- 【Android开发经验】android:windowSoftInputMode属性具体解释
- 园友们注意:淘宝网上QQ会员 4钻 3元 等都为骗子行为
- 测试综合技能的期末预测
- 几种多数据库表update的方式测试
- 【英语学习】【WOTD】opusculum 释义/词源/示例
- Python心得基础篇【7】面向对象进阶篇
- java sqlserver数据库连接_JAVA连接SQLserver数据库
- 【正点原子MP157连载】 第二十四章 DAC实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
- linux经典学习网站及博客
- vb.net 教程 3-1 窗体编程基础 1
- python不是内部命令或外部命令,也不是可执行程序解决方案”解决方法
- 2019秋季10月新番动漫推荐
- npm run dev之后 可爱(e’xin)的warning,error们
- Python 基础 函数的使用——参数
- 前端程序调试方法总结--高级版
- string大小写转换
- php cms 2017 排名,cms系统排行_PHP CMS系统排行榜
- C++ 变量的生存期
- 神奇的开关 — 可控硅