ın İyi günler hocam bu gönderdiğim ekranlar üzerinden sorumu anlatayım burda yapmak istediğim gördügünüz grafikte bazı ölçümler bulunmaktadır bunlar S yani mesafeye göre istenilen standart sapma değerleri 3 kök K , 6 kök K , 12 kök K ya göre atanan noktalar görülmektedir. Benim yapmak istediğim ise burda bulunan mesafeye göre yani 5 km 10 km 15 km 20 km …. 5 er 5 er gidecek şekilde bu 3 kök K 6 kök K 12 kök K içerisine düşen noktaları yorumlamak ne kadar nokta nereye düştüğünü yüzde belirterek bulmak bunun için uygulanması gereken komut nedir ve bir örnek vererek açıklarsanız çok memnun olurum teşekkür ederim
Kaç nokta kırmızı çizginin altında kalıyor, kaç nokta kırmızı ve mavi arasında kalıyor, kaç nokta mavi ve yeşil arasında kalıyor, kaç nokta yeşilin üzerinde kalıyor?
Bu soruyu mu cevaplamak istiyorsunuz?
Sırasıyla kırmızı mavi yeşil
3*sqrt(Splot)/1000
6*sqrt(Splot)/1000
12*sqrt(Splot)/1000
Çizdirme komutu ise kırmızı üzerinde gösterecek olursak;
plot(Splot, *sqrt(Splot)/1000 , 'r-', 'Linewidth',2);hold on
Elinizde grafikleri oluşturan formül olduğu için, en doğrusu formül üzerinden aralık mantığı kurmanız olacaktır. Grafikler temel olarak sunum araçlarıdır, işleme devam edilmek için değillerdir. Sonuçta o formül sayesinde her bir x ekseni değerine karşı hangi y ekseni değeri oluştuğunu hesaplayabilirsiniz. Bunun önce matematiksel sonra kod mantığını kurmak gerekir. Takıldığınız yerde yine konuşuruz.
Yine de genel bir çözüm olması için 2 boyutlu grafikler için lineer enterpolasyonla bir kod oluşturdum. Grafikten çektiği veriye göre noktanın nerede kaldığını belirtiyor. İlk paragrafta yazdıklarıma göre çok daha yavaş çalışacaktır. Bu kodu kullanabilmek için "plot" komutunu bir değişkene atayarak çalıştırmanız gerekiyor. Ardından bir ya da daha fazla X ve Y koordinatlarını input olarak sağlayarak, her nokta için 1,-1 veya 0 sonucu alıyorsunuz.
function durum = cizgiye_gore_konum(grafik, degerX, degerY) %durum: %-1: deger cizginin altinda %0: deger cizginin tam uzerinde %1: deger cizginin üst kısmında cizgideki_deger = interp1(grafik.XData, grafik.YData, degerX); durum = zeros(1, numel(degerX)); durum = durum + (cizgideki_deger>degerY)*-1; durum = durum + (cizgideki_deger<degerY)*1; end
Kullanım örneği:
grafik = plot(1:7:180, sind(1:7:180)); degerX = 50; degerY = 0.5; hold on plot(degerX, degerY, 'o'); cizgiye_gore_konum(grafik, degerX, degerY)