Merhaba,
x ve y adında iki değişkenimiz var. Bu değişkenler içinde yüzer adet veri var, plot fonksiyonu ile grafik çizdiriyoruz. Grafikte ki bazı verileri manuel olarak sildikten sonra x ve y de otomatik olarak 100 olan veri sayısı azalacaktır (misal 70 olacak). Silinmiş şekilde bu verileri tekrar worspace bölümüne nasıl kayıt edebiliriz? Yani verileri grafikten sildikten sonra değişkenlerin içinden de otomatik olarak silme işlemi nasıl gerçekleştirebiliriz?
Teşekkürler
Merhaba,
Bunu gerçekleştirmek için figür penceresini bir nesne olarak tanımlayıp sonra onun bazı elemanlarına erişmek gerekiyor. Grafiği çizdirdikten sonra (bir adet figür penceresi varsayıyorum)
fig=gcf;
dediğinizde fig isimli değişken bütün figür penceresini temsil edecek. Sonra aşağıdaki iki komutu yazarak, önce eksen objelerini, sonra da veri objelerini çıkarmış oluyoruz.
axObjs = fig.Children; dataObjs = axObjs.Children;
Son olarak, x ve y eksenindeki verileri almak için şu komutları kullanıyoruz:
x = dataObjs(1).XData; y = dataObjs(1).YData;
Buradaki 1 sayısı çizilen grafiğin sırasını temsil etmektedir. Bu tip yazım ancak doğru grafiği şeklinde çizim yapıldıysa geçerlidir. Öbür türlü link (2)'deki özelliklere bakarak doğru yazım tarzını çıkarmanız gerekiyor(muş).
Kaynaklar:
(1): https://www.mathworks.com/matlabcentral/answers/100687-how-do-i-extract-data-from-matlab-figures
(2): https://www.mathworks.com/help/matlab/graphics-object-properties.html