matlab简单函数迭代法,MATLAB简单迭代法

求debug此程序,不要新写,拜托详细写下错误处原因好学习,谢谢

%求解x^3-x^2-1=0在区间[1.4,1.5]的根;

%利用迭代公式x=sqrt(x^3-1),构建迭代函数x_nwo(n with one);

syms x;

x_nwo=sqrt(x.^3-1);

%p判定敛散性

x_derivative=diff(x_nwo);%求出迭代函数导数

%%这里需要一行程序声明这个函数

for x=1.4;0.01:1.5

if(abs(x_derivative))<0;

disp('迭代函数在隔根区间上不收敛');

break;

else if(abs(x_derivative))==0;

disp('迭代函数在隔根区间上不收敛');

break;

else continue

end

disp('敛散性检查完毕,迭代函数在隔根区间内对任意初值收敛');

%构建迭代算法

x(n)=1.4;%取迭代初值为1

x(n+1)=x_nwo(x(n));%第一次迭代的x(n+1)值

while(x(n+1)-x(n))>=(0.5*10^(-4));%判定迭代误差是否达到要求

x(n)=x(n+1);

x(n+1)=x_nwo(x(n+1));

end

disp('解得x=%f\n',x(n+1));

%求解x^3-x^2-1=0在区间[1.4,1.5]的根;

%利用迭代公式x=sqrt(x^3-1),构建迭代函数x_nwo(n with one);

syms x;

x_nwo=(x.^2+1).^(1/3);

%p判定敛散性

x_derivative=diff(x_nwo);%求出迭代函数导数

for x=[1.4:0.01:1.5];

if abs(subs(x_derivative))>=1;

disp('迭代函数在隔根区间上不收敛');

break;

else if x==1.5;

disp('敛散性检查完毕,迭代函数在隔根区间内对任意初值收敛');

end

end

end

  • 1
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值