超級新手matlab請教高手...已回收

看板MATLAB作者 (surf)時間16年前 (2009/05/07 10:07), 編輯推噓0(003)
留言3則, 3人參與, 最新討論串1/1
昨天老師出了一題,給超新米練習= = 這是所要的答案 計算n階層,請輸入階層:5 1!=1 2!=2 3!=6 4!=24 5!=120 以下是我寫的程式 1 clear; 2 clc; 3 number=input('計算n階層,請輸入階層:'); 4 a=number; 5 d = 1; 6 for i=1:a 7 d=d*i; 8 fprintf('%d!=%d\n',i,d) 9 end 有一個問題就是在第五行開始...昨天一開始我想不出來 老師幫我提點了一下改成這樣因為已經下課了所以沒能在請教老師 想請問高手高手幫我解答一下 假如number輸入5,d初始值是1... 我的理解是從第七行的結果是 開始d=1*1,fprintf 然後d=1*2,fprintf 然後d=1*3,fprintf 然後d=1*4,fprintf 然後d=1*5,fprintf end 我的理解應該是這樣 可是實際上程式run的話是計算階層 不知道我的理解哪邊錯誤了...> <" 有請高手 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.214.236

05/07 10:27, , 1F
d 的值會隨著for 迴圈變動...不是一直都是1
05/07 10:27, 1F

05/07 10:35, , 2F
d有做累加的動作!所以每次的d都是上一段的結果
05/07 10:35, 2F

05/07 11:25, , 3F
感謝果然是高手一提點小弟豁然開朗...
05/07 11:25, 3F
文章代碼(AID): #1A0a9h0A (MATLAB)
文章代碼(AID): #1A0a9h0A (MATLAB)