我是靠谱客的博主 善良小猫咪,最近开发中收集的这篇文章主要介绍Matlab里for循环详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

for循环用来重复指定次数,由于for、循环变量、end组成

例1:

for i = 1:5          %i为循环变量
fprintf('the value is:%f',i)
end

以下为输出结果:
在这里插入图片描述
上面的输出结果没有换行,%f和%fn的区别就在于%fn多了个换行,%f指的是可以输出后面想要输出的变量,n就是换行的意思。因而%fn表示输出后面的变量且换行:

for i = 1:5          %i为循环变量
fprintf('the value is:%fn',i)
end

在这里插入图片描述

例2:输出10个*

%两个for循环都能输出10*,一个没换行一个换行
for i = 1:10        
fprintf('*')
end
%换了行的10*,n即表示换行
for i = 1:10          
fprintf('*n')
end

在这里插入图片描述
在这里插入图片描述

例3:要写一个交互性的代码,获得多个数字:

%用input一个个去写
inputnum1=input('please input a number:')
inputnum2=input('please input a number:')
inputnum3=input('please input a number:')
inputnum4=input('please input a number:')
%如果数字足够多时,用input一个个的去写几乎是不可能的事情
%for循环
for i=1:4
inputnum = input('please input a number:') %重复循环4次'please input a number:
end

但是这样做会有个后果,就是每次存储的inputnum都会覆盖前一次存储的数字。要解决这个问题:

%将循环变量赋给变量名,每次更新.但这样输出的是1行b列的数据。无法自己选择输出a行1列或者1行b列
for i=1:10
inputnum(i) = input('please input a number:')
end
%可以建立一个a行b列的空向量,将所有的数据全都存储在该空向量里
可以选择a行1列或者1行b列
%建立一个1行b列的空向量,将数据全都存储里面

inputnum=NaN(1,10) %建立一个110列的空向量
for i=1:10
inputnum(i) = input('please input a number:')
end

在这里插入图片描述

%建立一个a行1列的空向量,将数据全都存储里面

inputnum=NaN(10,1) %建立一个101列的空向量
for i=1:10
inputnum(i) = input('please input a number:')
end

在这里插入图片描述

例4:输入5个数字并让其进行累加

sum = 0
for i=1:5
    num = input ('please input a number:')%每输入一个number都会覆盖前一个num
    sum =  sum + num
end
sum = 0
for i= 1:5
    num(i) = input('please input a number:') %将每次输入一个的存储到num(i),number不会覆盖前一个num
    sum = sum +  num(i) % 从sum=0开始累加,要加的是num(i),因为num是一个储存所有数据的集合,num(i)是一个个要加的数据
end
num =NaN(5,1) %建立一个51列的空矩阵,可以将数据存储到空矩阵中
sum = 0
for i= 1:5
    num(i) = input('please input a number:') %将每次输入一个的存储到num(i),number不会覆盖前一个num
    sum = sum +  num(i) % 从sum=0开始累加,要加的是num(i),因为num是一个储存所有数据的集合,num(i)是一个个要加的数据
end

例5:写一个随机执行3-10次的循环,并将其累加

n = randi([3,10]) %随机生成一个在3-10之间的整数
sum = 0
for i = 1:n
num(i) = input('please input number:')
sum = sum + num(i)
end 

例6:写一个随机执行3-10次的循环,并将其累乘

n = randi([3,10]) %随机生成一个在3-10之间的整数
product = 1
for i = 1:n
num(i) = input('please input number:')
product = product * num
end 

注: 在如果循环的次数很多时,提前定义一个空向量来作为存储是十分重要的!称之为向量预分配,这样能够大大的降低matlab的工作负荷。

最后

以上就是善良小猫咪为你收集整理的Matlab里for循环详解的全部内容,希望文章能够帮你解决Matlab里for循环详解所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部