第1个回答 推荐于2017-11-22
地球可是真小啊,
看来老师布置作业都一样啊!
前段时间刚做过这道题!
给你个正确的程序!
采用不动点迭代法计算非线性方程x3+4x2-10=0,在区间[1,2]上的一个根。
不动点迭代法程序:
function [y,n]=BDD(x,eps)
if nargin==1
eps=1.0e-6;
elseif nargin<1
error
return
end
x1=gg(x);
n=1;
while (norm(x1-x)>=1e-6)&&(n<=10000)
x=x1;
x1=gg(x);
n=n+1;
end
y=x;
M函数:
function f=gg(x)
f(1)=sqrt(2.5-(x^3)/4);
结果如下:
>> BDD(1)
n =
21
ans =
1.3652
PS 不会一个学校的吧?哈哈!本回答被提问者采纳
第2个回答 2009-12-09
function [y,n]=BDD(x,eps)
%该函数用来通过不动点迭代法求解非线性方程组的近似解
%x0为迭代初始值,eps为允许的误差,n记录迭代的次数
if nargin==2
eps=1.0e-6;
elseif nargin<2
error
return
end
x1=gg(x);
n=1;
while (norm(x1-x)>=1e-6)&(n<=10000)
x=x1;
x1=gg(x);
n=n+1;
end
y=x;
然后再编一个M文件
function y=gg(x)
y=x^3+4*x^2-10;