Soru sor3-Boyutlu veriyi x ve y eksenlerinden 10×10 şeklinde ayırmak
CiLuck tarafından 3 yıl önce soruldu

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);
6 Cevap
sayginer Yönetici tarafından 3 yıl önce cevaplandı

Bu tarz işlemler için reshape fonksiyonunu kullanabilirsiniz: https://it.mathworks.com/help/matlab/ref/reshape.html
 

CiLuck tarafından 3 yıl önce cevaplandı

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

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

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:

  1. https://matlabturkiye.com/soru-sor/dongu-degerleri-ile-islem-yapip-sonuclari-tabloda-gostermek
  2. https://matlabturkiye.com/soru-sor/bir-matrisi-parcalara-bolerek-alt-matrisler-olusturmak
CiLuck tarafından 3 yıl önce cevaplandı

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.

CiLuck tarafından 3 yıl önce cevaplandı

Cevap vermiycek misiniz acaba 

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

Paylaştığım bağlantıları inceleyebilirsiniz:

  1. https://matlabturkiye.com/soru-sor/dongu-degerleri-ile-islem-yapip-sonuclari-tabloda-gostermek
  2. 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.