陣列的用途極廣,包括搭配迴圈化簡程式等,是程式設計中相當重要的一部份。 ... 二維陣列. 上述的範例皆為一維陣列,接下來要介紹的是二維陣列,其宣告方式為: ... ... <看更多>
一維陣列 意思 在 [問題] 多維陣列的Resize用法? - 看板C_Sharp | PTT數位生活區 的推薦與評價
不太懂重新配置的意思@@? 因為一維陣列很輕易的過了,讓我覺得二維陣列照理來說也行的通?! 只是猜測...可以解說的詳細一點嗎QQ ※ 編輯: stu87616 來自: 1.162.162.148 ... ... <看更多>
一維陣列 意思 在 [問題] 指標與一維陣列的題目- 看板C_and_CPP - PTT網頁版 的推薦與評價
假設整數陣列arr宣告為int arr[5]={54,22,44,18,01}; 試宣告一個指向整數的指標ptr指向陣列arr,然後利用指標的算術運算,將陣列arr裡每一個元素的值加上10,並列印出 ... ... <看更多>
一維陣列 意思 在 [問題] 一維陣列相乘能不用迴圈嘛? - 看板C_Sharp 的推薦與評價
寫程式的時候遇到一個問題 由於程式效能的關係
希望需要寫一個兩個一維陣列相乘的程式
目前的程式寫法像是這樣
int []R1=new int[]{1,2,3,4,5,6};
int []R2=new int[]{1,2,3,4,5,6};
int []R3=new int[6];
for (int i=0;i<R1.Length;i++)
{
R3[i]=R1[i]*R2[i];
或者是
R3[i]=R1[i]*Math.Sin(i/t);//類似~~
}
由於實際上的陣列長度可能會到五百或一千
用迴圈做的話再處理時間上會花太多時間
會跟不上其它執行緒的處理速度
不知道這部分有沒有什麼方法可以更省時的!! 謝謝>"<
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.38.117.9
把值一個一個丟吧!! (至少我之前笨到會這樣) 所以才想問問看有沒有更快能夠做到
陣列相乘的語法 >"<
※ 編輯: chris70211 來自: 114.41.126.177 (06/22 23:09)
這部分的問題不知道有沒有辦法克服
我的For迴圈了不起TICKS跑個幾百幾千 呼叫MATLAB語法的時間可能就到萬了QQ
※ 編輯: chris70211 來自: 114.38.120.91 (06/26 23:30)
開頭可能講的不夠清楚 目前是C#做一個信號接收介面 取樣頻率30KHZ以上
然後透過FIR去進行雜訊濾波 FIR的階數可能會用到四五百階
所以相對的會有這樣的需求 雖然可以用執行緒將接收跟濾波同步處理
但因為怕迴圈花費時間大過於取樣頻率 可能會造成系統暫存區爆表
而且濾完雜訊的信號還要再UI做數據或圖像的顯現(雖然不會是大問題)
目前濾波部分大致上是
for int i=0;i<order;i++
Y+=S[i]*Filter[i];
但這只是一筆資料的輸出 等於我一秒假設有5萬筆資料 階數用到500
我的迴圈就要執行2500萬次的迴圈了!! = ="
不知道各位有沒有什麼好的建議
至於結構 CLASS我真的還要再多研讀了~~目前碰C#只有半年的時間
大多都是在寫介面程式 執行緒的部分在共同資源的部分也還有很多需要學習>"<
※ 編輯: chris70211 來自: 114.38.120.91 (06/26 23:43)
因為目前的儀器最快能到50KHz的取樣速度,如果降低取樣時間就等於降低
儀器本身的效能了>"<
請問用c++寫dll檔的效能會比matlab高嗎? 因為好像呼叫dll檔的時間就不短了!!
之前呼叫matlab的dll檔大概呼叫時間就要15ms 不知道c++寫成dll檔的話
呼叫時間是否能縮短~~會採用matlab是因為這個迴圈程式
for int i=0;i<order;i++
Y+=S[i]*Filter[i];
matlab只要Y=S*F'就能夠做到了 不過MATLAB實際的運算時間我還沒去觀察~~
目前能寫到一萬筆資料進行即時濾波 但再高一點好像BUFFER就容易爆掉了QQ
※ 編輯: chris70211 來自: 114.38.119.150 (06/27 21:55)
不太懂這個的意思是什麼>"<
※ 編輯: chris70211 來自: 114.38.120.133 (07/02 00:40)
... <看更多>