Bu şekilde bir kod yazdım ama devamını getiremedim sorunum başlıkta belirttiğim gibi 3 boyutlu bir veriyi x ve y eksenlerinden 100 parçaya bölmek istiyorum.
clear all clc %% Read File(*.las) clc;clear [FileName, PathName]=uigetfile('*.*','select point file'); lasReader = lasFileReader(FileName); ptCloud = readPointCloud(lasReader); figure; pcshow(ptCloud.Location); %% X xs=ptCloud.Location(1:end,1); xmin=xs(1); xmax=xs(end); %% Y ys=ptCloud.Location(1:end,2); ymin=ys(1); ymax=ys(end); %% Divide 10 xd=linspace(xs(1),xs(end),10); yd=linspace(ys(1),ys(end),10);
Bu tarz işlemler için reshape fonksiyonunu kullanabilirsiniz: https://it.mathworks.com/help/matlab/ref/reshape.html
Bu tarz işlemler için reshape fonksiyonunu kullanabilirsiniz: https://it.mathworks.com/help/matlab/ref/reshape.html
Bu konuya baktım fakat birden çok matris çıkartacağım için ve aynı değerleri önceki matrislerde kullanmayacağım için nasıl yapmam gerektiğini bilemedim
O zaman sizin yapmak istediğiniz bir matrisin belirli elemanlarını bir döngü ile seçerek işlemler yapmak mı oluyor?
Aşağıdaki yazılar işinize yarayabilir:
O zaman sizin yapmak istediğiniz bir matrisin belirli elemanlarını bir döngü ile seçerek işlemler yapmak mı oluyor?
Evet aslında öyle oluyor. Veri setimin içinde 369197 x 3 (x,y,z eksenleri) tane nokta bulunmakta ve ben x ve y eksenlerindeki noktaları 10 eşit parçaya bölmeye çalışıyorum bu şekilde 100 tane eşit parçam olmuş olucak. Eşit parçalara bölmek için "linspace" komutunu kullandım.
Paylaştığım bağlantıları inceleyebilirsiniz:
- https://matlabturkiye.com/soru-sor/dongu-degerleri-ile-islem-yapip-sonuclari-tabloda-gostermek
- https://matlabturkiye.com/soru-sor/bir-matrisi-parcalara-bolerek-alt-matrisler-olusturmak
Anladığım kadarı ile sizin bir döngü oluşturarak her döngüde almak istediğiniz hücreleri içeren sütün hücre verilerini oluşturmalısınız. Paylaştığım bağlantılarda tam olarak bu örnekler bulunuyor. Eğer yine olmazsa, olmayan kısmı detaylı yazarsanız yardımcı olmaya çalışırım.