[問題]讀取txt檔後的判斷式寫法

看板MATLAB作者 (HearMe)時間8年前 (2015/07/15 16:07), 編輯推噓2(203)
留言5則, 4人參與, 最新討論串1/2 (看更多)
大家好,小弟是matlab新手,還請大家幫忙解惑 我遇到的問題不是如何讀取txt檔,而是後續寫判斷式的讀檔問題 前言 我總共有4860個txt檔要跑,每一個txt檔都是540X9的矩陣 檔名是以SPI3_1、SPI3_2的規律排列 目的是希望匯出4860個SPIsum以及SPIavg值 所以先以零陣列的方式給SPIsum和SPIavg值 依序叫出4860個txt檔這個步驟已經爬文解決 問題在 %這裡的問題還沒解決 這一行 附上部分程式碼如下 ------------------------------------------------------ SPIsum=zeros(4860,1);SPIavg=zeros(4860,1); for z=1:4860 filename=['SPI3_' num2str(z) '.txt']; eval(['load ' filename ' -ascii']) k=zeros(540,1); s=zeros(540,1); for i=3:540 if SPI3_1(i,5)<0 %這裡的問題還沒解決 k(i)=1; end if SPI3_1(i,5)<-1 s(i)=1; end ------------------------------------------------------ 這是第一個迴圈,所以程式可以判別SPI3_1.txt裡i列5行的數據 但到了第二個迴圈,SPI3_1我不知道怎麼讓它自動變成SPI3_2 讓它繼續判別下去 不知道有沒有哪位大大可以幫個忙呢QQ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.15.18.121 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1436947639.A.D97.html

07/15 18:18, , 1F
一樣eval啊 設個eval(['a=SPI3_' num2str(z) '(i,5);])
07/15 18:18, 1F

07/15 18:19, , 2F
判斷式就可以用a簡單寫了
07/15 18:19, 2F

07/15 20:25, , 3F
原來(i,5)要包在eval裡QQ 真的很謝謝你!
07/15 20:25, 3F

07/15 22:17, , 4F
建議寫一個eval,執行S=SPI3_1;,這樣後面判斷S就可以了
07/15 22:17, 4F

07/16 11:20, , 5F
eval是非常沒有效率的寫法...
07/16 11:20, 5F
文章代碼(AID): #1LfXItsN (MATLAB)
文章代碼(AID): #1LfXItsN (MATLAB)