看板 MATLAB 關於我們 聯絡資訊
Matlab新手發問,如有冒犯請見諒 我有一個12*48的矩陣,有幾個無意義的數字 我想要將這些數字取代成我要的數字 例如-999999要去除 -999998要以nan取代 -999997要以0取代 請問該如何以if的迴圈來寫,卡了一個晚上還是寫不出來.... -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 115.82.128.213 ※ 文章網址: https://www.ptt.cc/bbs/MATLAB/M.1498580495.A.9D9.html
sppmg: for I=1:12*48 ; if a(I)==-999 ;a(I)=0;end;end 06/28 03:40
sppmg: 也可以用兩層for處理。不過在MATLAB你應該用find,不然會很 06/28 03:41
sppmg: 慢 06/28 03:41
profyang: a(a==-999997)=0之類的就好了吧 不過去除是啥意思?這樣 06/28 06:17
profyang: 矩陣會無法維持12*48吧 06/28 06:17
RevelationSD: 的確無法維持12*48,所以我會重新排列,因為-999999 06/28 07:26
RevelationSD: 在我的資料庫裡是無意義的數字,我要把他剔除 06/28 07:26
RevelationSD: 我一開始是用A(A==-999997)=0的方式去處理,不過要 06/28 07:29
RevelationSD: 處理-999999的時候,就沒反應了 06/28 07:29
RevelationSD: 我是令-999999=[],不知為何不能 06/28 07:30
sunev: A(A==-999999)=[]; 06/28 09:39
Acchannyan: 用find找再令找到的位置變成你要的數 06/29 19:05
paladin499: 先rescale成array再去掉不要的值 07/04 21:22
jsrdoz: a=a(a~=-999999);a(a==-999998)=nan;a(a==-999997)=0; 07/28 13:11