如何使用if迴圈

作者: RevelationSD (少冰半糖)   2017-06-28 00:21:32
Matlab新手發問,如有冒犯請見諒
我有一個12*48的矩陣,有幾個無意義的數字
我想要將這些數字取代成我要的數字
例如-999999要去除
-999998要以nan取代
-999997要以0取代
請問該如何以if的迴圈來寫,卡了一個晚上還是寫不出來....
作者: sppmg (sppmg)   2017-06-28 03:40:00
for I=1:12*48 ; if a(I)==-999 ;a(I)=0;end;end也可以用兩層for處理。不過在MATLAB你應該用find,不然會很慢
作者: profyang (prof)   2017-06-28 06:17:00
a(a==-999997)=0之類的就好了吧 不過去除是啥意思?這樣矩陣會無法維持12*48吧
作者: RevelationSD (少冰半糖)   2017-06-28 07:26:00
的確無法維持12*48,所以我會重新排列,因為-999999在我的資料庫裡是無意義的數字,我要把他剔除我一開始是用A(A==-999997)=0的方式去處理,不過要處理-999999的時候,就沒反應了我是令-999999=[],不知為何不能
作者: sunev (Veritas)   2017-06-28 09:39:00
A(A==-999999)=[];
作者: Acchannyan (ZeFates)   2017-06-29 19:05:00
用find找再令找到的位置變成你要的數
作者: paladin499 (芭樂丁)   2017-07-04 21:22:00
先rescale成array再去掉不要的值
作者: jsrdoz ( )   2017-07-28 13:11:00
a=a(a~=-999999);a(a==-999998)=nan;a(a==-999997)=0;

Links booklink

Contact Us: admin [ a t ] ucptt.com