matlab 循环结构设计
发布网友
发布时间:2022-05-09 18:07
我来回答
共1个回答
热心网友
时间:2023-07-23 21:35
x(1)=1;
a=input('请输入正数a:');
b=input('请输入正数b:');
r1=(-b+sqrt(b^2+4*a))/2;
r2=(-b-sqrt(b^2+4*a))/2;
if a<=0||b<=0
disp('输入错误!');
end
for s=1:500
x(s+1)=a/(b+x(s));
if abs(x(s+1)-x(s))<=0.00001
break;
end
end
得到x是一个数组,第一个数是初值1
最后一个数是满足误差条件的结果,应该和r1或r2的值接近
中间的数是没一步迭代的结果
s最终的结果是迭代的次数,一般在500次以前,数列早就收敛了
而因为有初值,得到的数据x的长度等于s+1