概述
(1)for语句针对向量的每一个元素执行一次循环体;
(2)退出循环之后,循环变量的值就是向量中最后的元素值;
(3)当向量为空时,循环体一次也不执行。
%(1)输出所有k的值
for k=[1 2 3 4]
k
end
%输出结果
k =
1
k =
2
k =
3
k =
4
%(2)输出向量中最后的元素值
for k=[1 2 3 4]
end
k
%输出结果
k =
4
%(3)不执行循环体结构
for k=1:-1:10
k
end
%无输出结果
例:计算圆周率T
(1)利用无穷级数展开式求T的近似值。
%(1)用for循环结构实现pai的求解
%方法1
y = 0;
n = input('请输入 n 的值:');
for i = 1:n
y = [(-1)^(i-1)]*1/(2*i-1) + y;
end
pi = 4*y
%输出结果
请输入 n 的值:1
pi =
4
请输入 n 的值:3
pi =
3.4667
%方法2
y = 0;
g = -1;
n = input('n=');
for i=1:n
g = -g;
y = y + g*1/(2*i-1);
end
pai = 4*y
%输出结果
请输入 n 的值:1
pi =
4
请输入 n 的值:3
pi =
3.4667
%(2)用向量求和的方法计算pai
n = input('n = ');
x = 1:2:(2*n-1)
y = (-1).^(2:n+1)./x
pai = sum(y)*4
%输出结果
请输入 n 的值:1
pi =
4
请输入 n 的值:3
pi =
3.4667
(2)利用定积分的近似值求T的近似值。
求红色区域的面积,近似求出每个小曲边梯形面积,将n个小曲边梯形面积加起来即可。
a = 0;
b = 1;
n = input('n = ?');
h = (b-a)/n;
x = a:h:b;
f = sqrt(1-x.*x);
s = [];
for k = 1:n
s1 = (f(k)+f(k+1))*h/2; %各个小梯形的面积
s = [s,s1];
end
pai = 4*sum(s)
下面两个for语句引导的循环结构其循环体执行的次数相同吗?如果不相同,分别是多少?
①for k=[1,2,3,4]
②for k=[1;2;3;4]
for k=[1 2 3 4] %for语句控制循环四次
k
end
>> whos
Name Size Bytes Class Attributes
k 1x1 8 double
for k=[1;2;3;4] %for语句控制循环一次
k
end
>> whos
Name Size Bytes Class Attributes
k 4x1 32 double
最后
以上就是纯情指甲油为你收集整理的3.4 matlab用for语句实现循环结构的全部内容,希望文章能够帮你解决3.4 matlab用for语句实现循环结构所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复