if (pfile() == 0) unlink(inname) else fprintf(stderr, "%s: I/O Error -- File unchanged\n", inname) fclose(outfile) fclose(infile) } exit(0)
標簽: unchanged fprintf inname unlink
上傳時間: 2015-03-12
上傳用戶:l254587896
【文本與二值圖像的游程】1. 文本游程壓縮的原理 對重復字段采用3符號標識法:(1) 重復提示符,比如@,#等;(2) 游程長度參數或重復次數,若用一個字節表示,最大長度可為255個重復字;(3) 重復字符。以上三部分合稱為重復因子。可見要獲得壓縮效益,重復字符應在3個以上。2. 圖像游程壓縮的原理 對于二值圖像,原始數據為零一矩陣,壓縮時逐行處理該矩陣:(1) 連續n個1,表示為+n;(2) 連續n個0,表示為-n。
上傳時間: 2014-01-21
上傳用戶:685
系統資源(r1…rm),共有m類,每類數目為r1…rm。隨機產生進程Pi(id,s(j,k),t),0
上傳時間: 2014-01-27
上傳用戶:天誠24
實現聚類K均值算法: K均值算法:給定類的個數K,將n個對象分到K個類中去,使得類內對象之間的相似性最大,而類之間的相似性最小。 缺點:產生類的大小相差不會很大,對于臟數據很敏感。 改進的算法:k—medoids 方法。這兒選取一個對象叫做mediod來代替上面的中心 的作用,這樣的一個medoid就標識了這個類。步驟: 1,任意選取K個對象作為medoids(O1,O2,…Oi…Ok)。 以下是循環的: 2,將余下的對象分到各個類中去(根據與medoid最相近的原則); 3,對于每個類(Oi)中,順序選取一個Or,計算用Or代替Oi后的消耗—E(Or)。選擇E最小的那個Or來代替Oi。這樣K個medoids就改變了,下面就再轉到2。 4,這樣循環直到K個medoids固定下來。 這種算法對于臟數據和異常數據不敏感,但計算量顯然要比K均值要大,一般只適合小數據量。
上傳時間: 2015-04-03
上傳用戶:sardinescn
求解網絡中的最短路徑。假設某個計算機網絡有n個站點,依次編號為1,2,…,n;有的站點之間有直接的線路連接(即這兩個站點之間沒有其它站點),有的站點之間沒有直接的線路連接。如果用三元組(i,j,f)來表示該網絡中的站點I和站點j之間有直接的線路連接且它們之間的距離為f 當已知該網絡各站點之間的直接連接情況由m個三元組(i1,j1,f1),(i2,j2,f2),…,(im,jm,fm)確定時,要求計算出對于網絡中任意一個站點g(1≤g≤n)到其余各站點的最短距離。
上傳時間: 2013-12-27
上傳用戶:asdkin
二階系統的最小二乘一次完成算法辨識程序,圖形的橫坐標是采樣時刻i, 縱坐標是輸出觀測值z, 圖形格式為連續曲線
上傳時間: 2014-01-07
上傳用戶:netwolf
.數據結構 假設有M個進程N類資源,則有如下數據結構: MAX[M*N] M個進程對N類資源的最大需求量 AVAILABLE[N] 系統可用資源數 ALLOCATION[M*N] M個進程已經得到N類資源的資源量 NEED[M*N] M個進程還需要N類資源的資源量 2.銀行家算法 設進程I提出請求Request[N],則銀行家算法按如下規則進行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(2);否則,出錯。 (2)如果Request[N]<=AVAILABLE,則轉(3);否則,出錯。 (3)系統試探分配資源,修改相關數據: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統執行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統恢復原狀,進程等待。 3.安全性檢查 (1)設置兩個工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進程集合中找到一個滿足下述條件的進程, FINISH[i]=FALSE NEED<=WORK 如找到,執行(3);否則,執行(4) (3)設進程獲得資源,可順利執行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進程Finish[M]=true,則表示安全;否則系統不安全。
上傳時間: 2014-01-05
上傳用戶:moshushi0009
數據結構 假設有M個進程N類資源,則有如下數據結構: MAX[M*N] M個進程對N類資源的最大需求量 AVAILABLE[N] 系統可用資源數 ALLOCATION[M*N] M個進程已經得到N類資源的資源量 NEED[M*N] M個進程還需要N類資源的資源量 2.銀行家算法 設進程I提出請求Request[N],則銀行家算法按如下規則進行判斷。 (1)如果Request[N]<=NEED[I,N],則轉(2);否則,出錯。 (2)如果Request[N]<=AVAILABLE,則轉(3);否則,出錯。 (3)系統試探分配資源,修改相關數據: AVAILABLE=AVAILABLE-REQUEST ALLOCATION=ALLOCATION+REQUEST NEED=NEED-REQUEST (4)系統執行安全性檢查,如安全,則分配成立;否則試探險性分配作廢,系統恢復原狀,進程等待。 3.安全性檢查 (1)設置兩個工作向量WORK=AVAILABLE;FINISH[M]=FALSE (2)從進程集合中找到一個滿足下述條件的進程, FINISH[i]=FALSE NEED<=WORK 如找到,執行(3);否則,執行(4) (3)設進程獲得資源,可順利執行,直至完成,從而釋放資源。 WORK=WORK+ALLOCATION FINISH=TRUE GO TO 2 (4)如所有的進程Finish[M]=true,則表示安全;否則系統不安全。
上傳時間: 2013-12-24
上傳用戶:alan-ee
DSP編程代碼,FFT算法,經典!! FFT實驗 一、 理論: 公式(1)FFT運算公式 FFT并不是一種新的變換,它是離散傅立葉變換(DFT)的一種快速算法。由于我們在計算DFT時一次復數乘法需用四次實數乘法和二次實數加法;一次復數加法則需二次實數加法。每運算一個X(k)需要4N次復數乘法及2N+2(N-1)=2(2N-1)次實數加法。所以整個DFT運算總共需要4N^2次實數乘法和N*2(2N-1)=2N(2N-1)次實數加法。如此一來,計算時乘法次數和加法次數都是和N^2成正比的,當N很大時,運算量是可觀的,因而需要改進對DFT的算法減少運算速度。 根據傅立葉變換的對稱性和周期性,我們可以將DFT運算中有些項合并。 我們先設序列長度為N=2^L,L為整數。將N=2^L的序列x(n)(n=0,1,……,N-1),按N的奇偶分成兩組,也就是說我們將一個N點的DFT分解成兩個N/2點的DFT,他們又從新組合成一個如下式所表達的N點DFT: 一般來說,輸入被假定為連續、合成的。當輸入為純粹的實數的時候,我們就可以利用左右對稱的特性更好的計算DFT。 我們稱這樣的RFFT優化算法是包裝算法:首先2N點實數的連續輸入稱為“進包”。其次N點的FFT被連續被運行。最后作為結果產生的N點的合成輸出是
上傳時間: 2015-04-29
上傳用戶:牛布牛
本程序用C語言實現了集成神經網絡解決廣義異或問題。用神經網絡集成方法做成表決網,可克服初始權值的影響,對神經網絡分類器來說:假設有N個獨立的子網,采用絕對多數投票法,再假設每個子網以1-p的概率給出正確結果,且網絡之間的錯誤不相關,則表決系統發生錯誤的概率為 Perr = ( ) pk(1-p)N-k 當p<1/2時 Perr 隨N增大而單調遞減. 在工程化設計中,先設計并訓練數目較多的子網,然后從中選取少量最佳子網形成表決系統,可以達到任意高的泛化能力。
上傳時間: 2015-05-03
上傳用戶:kiklkook