概述
%%%程序编写者 西北工业大学自动化学院 Email: yincwxa2013@mail.nwpu.edu.cn
%% All rights reserved
clear
clc
x0=input('输入迭代初值x0=')
x1=input('输入迭代初值x1=')
x2=input('输入迭代初值x2=')
syms x
f=input('输入函数f(x)=')
t=1;
epuc=input('输入精度要求eupc=')
if epuc>0
epuc=epuc;
else epuc=0.000001;
end
%弦割法迭代法
while(t>epuc)
x=x0;
f0=eval(f);
x=x1;
f1=eval(f);
x=x2;
f2=eval(f);
lamda3=(x2-x1)/(x1-x0);
derta=1+lamda3;
a=f0*lamda3^2-f1*lamda3*derta+f2*lamda3;
b=f0*lamda3^2-f1*derta^2+f2*(lamda3+derta);
c=f2*derta;
lamda4=(-2*c)/(b+sign(b)*sqrt(b^2-4*a*c));
x3=x2+lamda4*(x2-x1);
t=abs(x3-x2);
x0=x1;
x1=x2;
x2=x3;
end
x3
%%%%%%%%%
%输入迭代初值x0=3.1
%x0 =
%3.1000
%输入迭代初值x1=2.5
%x1 =
%2.5000
%输入迭代初值x2=1.6
%x2 =
%1.6000
%输入函数f(x)=x^2+3*x^4-10
%f =
%x^2+3*x^4-10
%输入精度要求eupc=0.0000000000000001
%epuc =
%1.0000e-016
%x3 =
%1.2910 - 0.0000i
转载本文请联系原作者获取授权,同时请注明本文来自殷春武科学网博客。
链接地址:http://blog.sciencenet.cn/blog-748007-751143.html
上一篇:数值分析--非线性函数牛顿迭代法matlab程序
下一篇:数值分析--非线性函数弦割法迭代法matlab程序
最后
以上就是落寞发夹为你收集整理的matlab中函数迭代法,科学网—数值分析--非线性函数抛物线迭代法matlab程序 - 殷春武的博文...的全部内容,希望文章能够帮你解决matlab中函数迭代法,科学网—数值分析--非线性函数抛物线迭代法matlab程序 - 殷春武的博文...所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复