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
1、首先,打开MATLAB R2018a,新建一个脚本,保存为TEST.m。
2、然后,在脚本中输入如下代码。
3、接着,点击编辑器中的运行命令按钮,程序输出for_count = 20,即这里执行了20次循环,如果按照C++中的FOR循环功能去理解,这里应该只执行7次循环
4、在MATLAB中FOR循环的次数在程序刚刚进入循环时就被完全决定了,除非通过continue中止或通过break终止循环。
5、可以通过给程序增加断点来查看MATLAB中FOR循环到底是怎么工作的,通过将鼠标指针悬停在变量上,查看它们的当前值。
Matlab中实现循环结构的语法包括for循环和while循环。
for循环:
for循环用于对一段指定范围的变量进行循环 *** 作,其基本语法为:
matlabCopy codefor 变量 = 范围end
其中,变量是一个循环变量,范围是一个包含一组数值的向量或矩阵,循环体是需要重复执行的语句块。
例如,以下程序通过for循环计算1到10的平方和:
matlabCopy codesum = 0for i = 1:10
sum = sum + i^2
end
disp(sum)
输出结果为:385
while循环:
while循环用于在满足条件时执行一段语句块,其基本语法为:
matlabCopy codewhile 条件循环体
end
其中,条件是需要满足的逻辑条件,循环体是需要重复执行的语句块。
例如,以下程序通过while循环计算1到10的平方和:
matlabCopy codesum = 0i = 1
while i <= 10
sum = sum + i^2
i = i + 1
end
disp(sum)
输出结果为:385
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)