我是靠谱客的博主 纯情指甲油,最近开发中收集的这篇文章主要介绍3.4 matlab用for语句实现循环结构,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在这里插入图片描述(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语句实现循环结构所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部