Soru sorDağınık noktaların bir eğriye olan uzaklıklarını tek tek hesaplama
matlab.m tarafından 3 yıl önce soruldu

ı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

7 Cevap
matlab.m tarafından 3 yıl önce cevaplandı

?

Caglar Yönetici tarafından 3 yıl önce cevaplandı

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?

matlab.m tarafından 3 yıl önce cevaplandı

evet 

Caglar Yönetici tarafından 3 yıl önce cevaplandı

Çizgileri oluşturan formül, komut nedir?

matlab.m tarafından 3 yıl önce cevaplandı

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 

Caglar Yönetici tarafından 3 yıl önce cevaplandı

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)
matlab.m tarafından 3 yıl önce cevaplandı

Teşekkür ederim hocam.