看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《han999 (999就是久久久!)》之銘言: : 小弟對C不是很熟,想問一下我這樣子寫對嗎? : 在matlab底下我要做的是 : for i=0:1023 : mean=mean+A14results[index];; : end : mean=mean/1024; : 如果用C表示程式是這樣子嗎? : for (i=0;i<1024;i++) : { : mean=mean+A14results[index]; : return 0; : } : mean=mean/1024; : 不知道對不對?懇請賜教<(_ _)> 原po都大發慈悲的發問,我來誠心誠意回答好了 首先 (1) Matlab的 array 是從 1 開始 (2) Matlab有內建 mean function 唷 >.^ In Matlab: sum = 0; mean = 0; for i=1:1024 sum = sum + A14results[i]; end mean = sum/1024; 再來 In C++: //選擇正確的變數宣告 如果有小數請用double (or float) for (i=0;i<1024;i++) mean+=A14results[i]; mean/=1024; 原po寫到return應該是想用recursive吧 double mean(double A14results[],int i,int n) { if(i<n-1) return A14results[i]/n + mean(A14results,i+1,n); else return A14results[i]/n; } ----------------------------- 還是覺得C++寫起來比Matlxx 順手 Matlxx 沒有 ++ 跟 +=, *= 很不方便 別鞭大太力 我想在j版po文阿 ~~~~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.84.62
holymars:recursive超好笑XDDDDDDDDDDD 09/13 15:38
netsphere:就是這樣(喵) 09/13 17:20
xatier:似乎得到正解囉XD 09/13 18:03
mysteriousGE:好殘忍... 09/13 23:16
shyann:不建議初學者用recursive 有點自找麻煩 09/14 02:33
etrexetrex:推 recursive XDD 09/14 04:07
xatier:To iterate is human, to recurse, divine. XDD 09/14 07:08
han999:感激不盡<(_ _)> 09/14 10:20
yayarice:我絕得原po會不會以為return就是end? 09/14 14:58