作者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/cn.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