Bir 2D dizi sayısının minimum değerinin yerini bulan MATLAB içerisinde bir komut dosyası yazmaya çalışıyorum. Bu dizide sadece 1 minimum olduğundan eminim, bu nedenle dizide aynı minimum değere sahip birden fazla konuma sahip olmak bir sorun değildir. Ben dizinin en az değerini bulabilirsiniz, ancak bir 30x30 dizide ben minimum değer olduğunu hangi satır ve sütun bilmek istiyorum. min fonksiyonun açıklamasınaMATLAB, bir 2D dizisinde minimum değerin indeksini nasıl gösterir?
cevap
, minimum değeri elde etmek min birleştirmek ve zaten o zaman sadece bulmak kullanmak minimum hesaplanmış ettiyseniz, indeks dönmek bulabilirsiniz.
>> a=magic(30);
>> [r,c]=find(a==min(min(a)))
r =
1
c =
8
Yoksa mantıksal adresleme sana bir doğruluk tablosunu vermek için kullanılabilir, bu durumda bunun yerine bir mantıksal dizi tanımlamak isteyebilirsiniz konum bilgilerini, nasıl kullanmak istediğinize bağlı olarak.
>> a=magic(30);
>> locn=(a==min(min(a)));
bak. Minimum değerin yanı sıra endeksi de döndürebilir. İki boyutlu bir dizi için, sadece iki kez arayın.
A = rand(30); % some matrix
[minColVal, minColIdx] = min(A);
[minRowVal, minRowIdx] = min(minColVal);
minVal = minRowVal;
minValIdx = [minColIdx(minRowIdx), minRowIdx];
Düzenleme: Sen, bir vektöre matrisi yeniden şekillendirmek MIN kullanarak minimum dizinini bulmak ve sonra da bu dönüştürebilirsiniz
B3'in çözüm muhtemelen hesaplama daha şık @ (daha hızlı ve ihtiyacı daha az geçici boşluk) bir matris endeksi içine doğrusal endeksi: alternatif sürümü olarak
>> x = randi(5, 5) x = 5 4 4 2 4 4 2 4 5 5 3 1 3 4 3 3 4 2 5 1 2 4 5 3 5 >> [value, index] = min(reshape(x, numel(x), 1)); >> [i,j] = ind2sub(size(x), index) i = 3 j = 2
+1 zarif çözüm! – groovingandi
, birkaç karakteri kaydetmek için x (:) yerine reshape() kullanabilirsiniz. – zellus
@zellus: Bana hatırlattığın için teşekkür ederim! Bunu yapmanın başka bir yolu olduğu hissini uyandırıyordum. –
bir vektör bir alt kümesinde min veya max bulmak için - A vektörü ve "LOWERBOUND" ve "UPPERBOUND" ise max bulmalıyız aralarında vektör sınırları (veya dak) değeri, daha sonra, bu komutu -
[Value,Index]=min(A(lowerBound:upperBound));
Bu ofset "LOWERBOUND" gibi dakika ya da maksimum değeri A (LOWERBOUND arasında) ve A (uppedBound) ve "İndeksi" olarak "değeri" olarak geri dönmektedir. Mutlak endeksi bulmak için, Dizine "lowerBound" eklemeniz gerekir.
Satır içi bir işlev kullanan alternatif bir çözüm işe yarayacaktır.
>> min_index = @(matrix) find(matrix == min(reshape(matrix, [1,numel(matrix)])));
>> a=magic(30);
>> [r,c]=min_index(a)
r =
1
c =
8
- 1. Algoritma - Başka bir 2d dizisinde 2d dizisinin varlığını bulun
- 2. 2d dizisinde aynı hücrelerin grupları nasıl sayılır?
- 3. Bir değerin bir değerler dizisinde olup olmadığını nasıl kontrol edebilirim?
- 4. Bir 2D dizisinde A * pathfinding uygulaması
- 5. 2D dizisinde bir sayının çaprazını bulmak mı?
- 6. jQuery aynı iki değerin aynı olmadığını gösterir
- 7. R, her satır için minimum sütunun indeksini döndürür
- 8. numpe dizisinde minimum uzunluktaki aynı girdiler dizilerinin aralıklarını alma
- 9. Bir değerin hiyerarşisini nasıl gösterirsiniz?
- 10. Kivy Spinner İndeksini Alma
- 11. Matlab: 3B metnin nasıl çizileceği (işlev metni olarak 2D değil)
- 12. 2d dizisinde Bazı Nonzero Elemanı Olan Sütunların Endekslerini Bul
- 13. 2d dizisinin her sütununda maksimum ve minimum değerler bulma Java
- 14. Bir 2D int dizisini Streams ile bir 2D Dize dizisine nasıl dönüştürebilirim?
- 15. MATLAB
- 16. max değerlerinin tüm indekslerini bul matlab
- 17. preg_replace dizisinde nasıl kullanılır?
- 18. 2d numpy dizisine 2d list nasıl dönüştürülür?
- 19. minimum minimum boyut
- 20. Liste skalesindeki bir elemanın indeksini bulma
- 21. Bir sayı dizisinde eksik değerleri bulma
- 22. Bazı değerlerin bir numpy dizisinde yer değiştirmesi
- 23. MATLAB
- 24. Dizide n minimum değerler bulun
- 25. Matrisi başka bir matristeki bir satırda nasıl depolarım? MATLAB
- 26. Listenin son indeksini nasıl elde edilir?
- 27. JSTL kullanarak bir değerin HashMap'e nasıl "konulacağı"
- 28. Boş bir Kotlin dizisinde nasıl arama yapılır?
- 29. Max-yığınındaki bir değerin önceliği nasıl değiştirilir?
- 30. Bir dize dizisinde Logger değeri nasıl edinilir
Teşekkür ederim! tam olarak ihtiyacım olan şey! –