for循環(huán)用來重復(fù)指定次數(shù),由于for、循環(huán)變量、end組成
例1:
for i = 1:5 %i為循環(huán)變量
fprintf('the value is:%f',i)
end
以下為輸出結(jié)果:
上面的輸出結(jié)果沒有換行,%f和%f\n的區(qū)別就在于%f\n多了個換行,%f指的是可以輸出后面想要輸出的變量,\n就是換行的意思。因而%f\n表示輸出后面的變量且換行:
for i = 1:5 %i為循環(huán)變量
fprintf('the value is:%f\n',i)
end
例2:輸出10個*
%兩個for循環(huán)都能輸出10個*,一個沒換行一個換行
for i = 1:10
fprintf('*')
end
%換了行的10個*,\n即表示換行
for i = 1:10
fprintf('*\n')
end
例3:要寫一個交互性的代碼,獲得多個數(shù)字:
%用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:')
%如果數(shù)字足夠多時,用input一個個的去寫幾乎是不可能的事情
%用for循環(huán)
for i=1:4
inputnum = input('please input a number:') %重復(fù)循環(huán)4次'please input a number:
end
但是這樣做會有個后果,就是每次存儲的inputnum都會覆蓋前一次存儲的數(shù)字。要解決這個問題:
%將循環(huán)變量賦給變量名,每次更新.但這樣輸出的是1行b列的數(shù)據(jù)。無法自己選擇輸出a行1列或者1行b列
for i=1:10
inputnum(i) = input('please input a number:')
end
%可以建立一個a行b列的空向量,將所有的數(shù)據(jù)全都存儲在該空向量里
可以選擇a行1列或者1行b列
%建立一個1行b列的空向量,將數(shù)據(jù)全都存儲里面
inputnum=NaN(1,10) %建立一個1行10列的空向量
for i=1:10
inputnum(i) = input('please input a number:')
end
%建立一個a行1列的空向量,將數(shù)據(jù)全都存儲里面
inputnum=NaN(10,1) %建立一個10行1列的空向量
for i=1:10
inputnum(i) = input('please input a number:')
end
文章來源:http://www.zghlxwxcb.cn/news/detail-515574.html
例4:輸入5個數(shù)字并讓其進(jìn)行累加
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是一個儲存所有數(shù)據(jù)的集合,num(i)是一個個要加的數(shù)據(jù)
end
num =NaN(5,1) %建立一個5行1列的空矩陣,可以將數(shù)據(jù)存儲到空矩陣中
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是一個儲存所有數(shù)據(jù)的集合,num(i)是一個個要加的數(shù)據(jù)
end
例5:寫一個隨機(jī)執(zhí)行3-10次的循環(huán),并將其累加
n = randi([3,10]) %隨機(jī)生成一個在3-10之間的整數(shù)
sum = 0
for i = 1:n
num(i) = input('please input number:')
sum = sum + num(i)
end
例6:寫一個隨機(jī)執(zhí)行3-10次的循環(huán),并將其累乘
n = randi([3,10]) %隨機(jī)生成一個在3-10之間的整數(shù)
product = 1
for i = 1:n
num(i) = input('please input number:')
product = product * num
end
注: 在如果循環(huán)的次數(shù)很多時,提前定義一個空向量來作為存儲是十分重要的!稱之為向量預(yù)分配,這樣能夠大大的降低matlab的工作負(fù)荷。文章來源地址http://www.zghlxwxcb.cn/news/detail-515574.html
到了這里,關(guān)于Matlab里for循環(huán)詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!