MATLAB 板


LINE

各位前輩好,我是matlab的初學者 假設現在有一個長度為1000的數列由1和0組成「100101101100011.....」 我想要把這個數列整理成「101010101010101010.....」 目前我嘗試的方法是將數列a(ii+1)和a(ii)比較 若a(ii+1) == a(ii)且a(ii) = 1時,a(ii+1) = 0 a(ii) = 0時,a(ii+1) = 1 若a(ii+1)不等於a(ii),則數值不變 比較的方法,我是以一個for迴圈來判斷數值前後的差別 我的寫法如下 ------------------------------- function mode_org = SO(temp) filename = ['mode_' num2str(temp) '_K.txt']; filepath = sprintf(filename); fidw = fopen(filepath, 'w+'); filename2 = ['mode_' num2str(temp+1) '_K.txt']; if temp == 205 mode_org = textread('random_org.txt','%f'); elseif temp < 205 mode_org = textread(filename2, '%f'); end A = rand(1); Prob_T = tanh(1.4*sqrt((205/temp)-1)); mode_org(1) = 1; for ii = 1:1000 if mode_org(ii+1) == mode_org(ii) %------------------------------------------ if A <= Prob_T && mode_org(ii) == 1; mode_org(ii+1) = 0; elseif A <= Prob_T && mode_org(ii) ==0; mode_org(ii+1) = 1; end %------------------------------------------ else mode_org(ii+1) = mode_org(ii+1); end fprintf(fidw, '%.6f\r\n', mode_org(ii)); end fclose(fidw); end ------------------------------- 這邊讀取的txt檔是一個由1和0構成的隨機數列(共1000個數字) 這個寫法執行後會出現錯誤訊息 index out of bounds because numel(a)=1000 我想應該是在ii = 1000時,找不到a(1001)所以無法執行 除了刻意把讀入的txt檔多加個一數值外,目前我還想不到解法... 不過因為計算需要,不可以多加入一個數值給a數列 想請教該如何解決這個問題 感激不盡 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 130.126.255.51
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1522556216.A.966.html
1F:推 profyang: 看不太懂你想做什麼 你的原數列不管是什麼出來的數列不 04/01 14:56
2F:→ profyang: 都是一樣的1010這樣的數列嗎?那還排什麼? 04/01 14:56
3F:推 LiamIssac: ii只需要到999 04/01 15:00
不好意思沒寫清楚,我更新了上面程式碼的部分 我想做的事情是把「100101010...」這個隨機的數列逐漸變成「1010101010....」 控制的方法是用一個隨temp變化的函數Prob_T 然後將「100101010...」這個數列隨著temp逐漸變小最終趨向「1010101010....」 我的作法是把最開始的數列的a(ii+1)和a(ii)比較,若a(ii+1)跟a(ii)不同則變化 然後輸出成一個新的txt檔,再重新對著個txt檔做一樣的事,輸出下一個檔案 ii設999僅能執行一次,後面的檔案似乎需要一次減少一個數值才能繼續 不曉得該如何解決 感謝前輩幫忙解惑 ※ 編輯: mibmibx (130.126.255.51), 04/01/2018 20:30:47
4F:→ mibmibx: 目前我想到的是在ii=1000時補上新的數字,這樣就可以正常 04/01 20:56
5F:→ mibmibx: 執行,不過還是想知道有沒有方法可以不用補的 04/01 20:57
6F:推 sunev: for ii=1:999 04/02 12:43
7F:→ sunev: if 那裡可改成 mode_org(ii+1) = 1-mode_org(ii) 04/02 12:43
8F:→ sunev: 這樣就不用判斷mode_org(ii)是1還是0 04/02 12:44
9F:→ mibmibx: 感謝指點 04/02 23:00







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP