matlab实现正割法求根和Aitken加速方法
2018-03-16 00:27
351 查看
正割法求根代码:
zhengge.mfunction zhengge(x0,x1,e)
syms x;
f(x)=exp(-x);
K=0;
while abs(x1-x0)>e
fprintf('第%d次xk=%.6f迭代结果为:%6f\n',K,x0,f(x0));
x2=x1-f(x1)*(x1-x0)/(f(x1)-f(x0));
x0=x1;
x1=x2;
K=K+1;
end
end
斯蒂芬森法求根代码:function siDiFenSen(x0
9392
,e)
syms x;
y(x)=exp(-x);
z(x)=exp(-(exp(-x)));
K=0;
x1=x0-(y(x0)-x0)*(y(x0)-x0)/(z(x0)-2*y(x0)+x0);
fprintf('%.8f\n',x1);
while (abs(x1-x0)>e)
fprintf('第%d次迭代,xk=%.8f,yk=%.8f,zk=%.8f\n',K,x0,y(x0),z(x0));
x0=x1;
x1=x0-(y(x0)-x0)*(y(x0)-x0)/(z(x0)-2*y(x0)+x0);
K=K+1;
end
end程序结果:
实验总结:
正割法通过两个初始值一次迭代来求方程的根的近似解。求解的时间较长,结果不如牛顿法精确,但是简化了计算的复杂度。
斯蒂芬森加速法通过两次迭代,一次加速来求方程的近似解。求解过程较快,收敛速度快,结果较为精确。
相关文章推荐
- 斯特芬森加速迭代法(Steffensen)-埃特金方法(Aitken) 一元非线性方程求根 C语言实现
- 最优化方法的Matlab实现
- VC环境和Matlab混合编程的实现方法
- 在Matlab中实现透视变换的方法
- javascript setTimeOut方法 实现滑动效果(类似2D加速)
- 不用递归的方法计算米粒的个数和每个米粒的面积,matlab实现
- C语言实现MATLAB 6.5中M文件的方法
- 分水岭算法Matlab实现——三种方法
- 大津(Ostu)阈值分割方法在matlab中的实现
- Gram-Schmidt正交化及其修正方法的matlab实现
- 在MATLAB中实现十进制和十六进制数的转化方法
- EM方法解高斯混合模型(GMM)Matlab实现
- 网站加速 PHP 缓冲的免费实现方法
- 用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
- 计算方法单点截弦matlab实现
- 在MATLAB中实现十进制和十六进制数的转化方法
- 用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
- 分水岭算法 matlab的三种实现方法
- 网站加速 PHP 缓冲的免费实现方法