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