Re: [問題]新手請教 matlab 做資料處理的問題已回收
※ 引述《billyhsieh ( 'RF ,)》之銘言:
: 因為研究的資料 有100多萬筆資料
: 必須對其中的兩個欄位作判斷,利用判斷後的資料再跑maxima likelihood的
: 估計值
: 可是我光前面的對欄位的判斷,電腦就跑到matlab自己關 (跑了好幾個小時)
: .M 我是這樣寫 (date and P 都是 100萬*1的vector, X 是1*1值)
:
: function J =SBJudge (date,P,X)
: temp='n'
: for i=2:X
: if strcmp(date(i), date (i-1))
: if P(i) >P(i-1)
: J(i,1)='b'
: temp='b'
: elseif P(i) <P(i-1)
: J(i,1)='s'
: temp='s'
: else P(i) == P(i-1)
: J(i,1)= temp
: end
: else
: J(i,1)='n'
: end
: end
:
: 指令: SBJudge(date,P,1000000)
: 請問一下各位先進,跑了半天最後matlab自己close的這種問題
: 是因為 我程式寫錯,還是電腦等級不好問題
: 或是說matlab不適合跑這種百萬筆的資料處理,得先用資料庫將資料先處理
:
: 感謝
function J=SBJudge(date,P,X)
J='n';
J=repmat(J,X,1);
tmp=date(2:end)-date(1:end-1);
ind=find(tmp==0)+1;
tmp2=P(ind)-P(ind-1);
J(find(tmp2>0)+1)='b';
J(find(tmp2<0)+1)='s';
沒測試過,自己試試看
另外不曉得你的date存的格式是怎樣的字串
我把它當數字來寫
可以自己改改看
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.129.77.9
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 3 篇):
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章