Bildiğiniz gibi, birçok durumda, bir matrisin bazı öğelerini işaretlemeye gerek vardır. Örneğin, ağırlıklı bitişik matrisimiz olduğunda ve grafiğimiz tam olarak bağlanmadığında, bu düğümler arasında kenar olmadığını gösteren bazı öğeleri işaretlememiz gerekir. Soru şu nasıl yapılır? Matriste bu elementlere NaN veya Inf koymak daha mı iyidir? ya da başka bir şey (-1 gibi)?MATLAB'de bazı öğeleri işaretlemenin en iyi yolu nedir? NaN veya Inf kullanarak? veya başka bir şey?
Q
MATLAB'de bazı öğeleri işaretlemenin en iyi yolu nedir? NaN veya Inf kullanarak? veya başka bir şey?
5
A
cevap
10
Tamamen kasaya bağlıdır. Örnekte, iyi bir çözüm verdiğinizde, kenarlar ağırlıklandırılmış olduğundan ve birçok amaç için 0 ağırlık kenarının kenarlara eşdeğer olmaması nedeniyle sıfırlar kullanmak olabilir. Akış/kesim algoritmaları gibi şeyler yapıyorsanız bu doğrudur.
Genellikle NaN ve Inf arasında seçim yaparken, NaN ile giderdim.
Inf*(-1) = -Inf
Inf+(-Inf) = NaN
Inf > 10 = True
etc...
Temiz bir çözüm aksi bağlantısı geçerli olduğu gerçek vardır Boolean başka matris, ve yanlış tutmak olabilir: Inf "geçersiz" işaretleyici olarak bulmayabileceği bazı özellikleri vardır. Biraz bellek harcıyor, ama matrisiniz çok büyük değilse, size verebileceği kod okunabilirliği buna değer.
İlgili konular
- 1. Jekyll'de "öne çıkan" mesajları işaretlemenin en iyi yolu nedir?
- 2. Prototip veya jQuery'yi kullanarak .lastChild'i uygulamanın en iyi yolu
- 3. WebRTC veya WebSocket veya başka bir şey var mı?
- 4. "A" veya "Ait" ilişki veya başka bir şey var mı?
- 5. Bir konuşmayı (veya röportajı) işaretlemenin çoğu semantik yolu?
- 6. en iyi (veya en azından iyi) kılavuz
- 7. İyi bir Vim regexp OR komutu var mı? Başka bir şey yoksa uyumsuzluğu bulmanın en iyi yolu nedir?
- 8. Nesneleri kapsayıcılarda paylaşmanın en iyi yolu nedir?
- 9. Bir zaman (veya zaman aralığı) doldurmanın en etkili yolu nedir?
- 10. Jmeter'da en iyi yolu bulmanın en iyi yolu nedir?
- 11. Javascript yürütme işleminin en iyi yolu nedir?
- 12. Bir animasyonu sürmenin en iyi yolu nedir?
- 13. Noktalama işaretlemenin en hızlı yolu C
- 14. Ember.js'de olayları işlemenin en iyi yolu nedir?
- 15. jQuery'yi ASP.NET'e (veya başka bir harici JavaScript'e) getirmenin uygun yolu
- 16. String.format() işlevi veya LINQ kullanarak dizeyi ayırmanın en iyi yolu nedir?
- 17. python için SLIME en yakın şey nedir?/EMPOS'tan python kullanmanın en iyi yolu nedir?
- 18. Süreyi saklamanın en iyi yolu nedir? MySQL
- 19. PhoneGap kullanarak bir sunucuyla iletişim kurmanın en iyi yolu nedir?
- 20. MVC kullanarak ASP.NET'te bir API uygulamanın en iyi yolu nedir?
- 21. Bir Pylons uygulamasını dağıtmanın en iyi yolu nedir?
- 22. Yapısal Mülkiyet veya daha iyi bir yolu?
- 23. php'de uluslararasılaşmanın en iyi yolu nedir?
- 24. core.clj'yi kurmanın en iyi yolu nedir?
- 25. Dosyayı sunucudan indirmenin en iyi yolu nedir
- 26. Realm: Realm Objects oluşturmanın (veya paylaşmanın) daha iyi yolu nedir?
- 27. VBA'dan bir seri bağlantı noktasına erişmenin en iyi yolu nedir?
- 28. En yeni glibc gerektirmeyen yazılımlar oluşturmanın en iyi yolu nedir?
- 29. Yuvalanmış javascript nesnesinden bir özelliği kaldırmanın en iyi yolu nedir?
- 30. Geçerli arabellekleri ayırt etmenin en iyi yolu konum listesi veya quickfix listesi nedir?
NaN da bazı sürprizlere sahip: NaN == NaN yanlış döndürüyor! Yani olanqual() kullanmak yerine, olanqualwithnans() işlevi kullanılmalıdır. – Mikhail
Olması gerekenler() – Jonas
Bu, NaN == NaN'nin False olduğu anlamına gelir. örneğin bkz .: http://stackoverflow.com/questions/1843451/why-does-null-null-evaluate-to-false-in-sql-server. –