[問題] 有關nan的問題已回收

看板MATLAB作者 (光明之子)時間14年前 (2010/03/30 13:40), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
承上一篇,我發現我的想法錯誤的 兩圓沒有交點是NaN,而不是empty 其中我有一個結果,跑出來是這樣的,請看如下 X = NaN NaN 2.6195 1.2372 1.0726 3.5579 NaN NaN 5.7628 4.3805 3.5579 1.0726 而我想把nan去除 我就這麼寫,結果就錯誤了,我的程式如下 for i =1:12 if isnan(X(i))=1 X(i)=0 else X(i)= X(i) end end 而錯誤訊息是The expression to the left of the equals sign is not a valid target for an assignment. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.54.154

03/30 13:55, , 1F
if isnan(X(i))=1 =====> if isnan(X(i))==1
03/30 13:55, 1F

03/30 14:04, , 2F
後面=1 直接拿掉就可以
03/30 14:04, 2F
※ 編輯: sungd 來自: 140.116.54.154 (03/30 14:08)

03/30 14:08, , 3F
感謝!但我發現X(i)=[]把他去除,不行耶
03/30 14:08, 3F

03/30 14:10, , 4F
2樓講的沒錯 這是常用技巧 不過不熟的寫出來比較好 XD
03/30 14:10, 4F
其實我原本的想法是想把 X = NaN NaN 2.6195 1.2372 1.0726 3.5579 NaN NaN 5.7628 4.3805 3.5579 1.0726 變成 X= 2.6195 1.2372 1.0726 3.5579 5.7628 4.3805 3.5579 1.0726 ※ 編輯: sungd 來自: 140.116.54.154 (03/30 14:11)

03/30 14:25, , 5F
如果你兩列間的關係不是很重要的話 reshape成一維再做?
03/30 14:25, 5F

03/30 16:09, , 6F
X(~isnan(X)); 再用reshape
03/30 16:09, 6F

03/30 19:32, , 7F
感謝各位,我寫好了
03/30 19:32, 7F
文章代碼(AID): #1BiOxe82 (MATLAB)