vector3d random sample

조회 수: 1(최근 30일)
Rick Verberne
Rick Verberne 2020년 6월 18일
댓글: Rick Verberne 2020년 6월 19일
Hi all,
I have a problem plotting some data. There are too many points and therefore I want to plot a random sample.
The class is vector3d and contains 13717 points. I would be interested in plotting around a 1000 points or just a certain percentage. However, I keep getting the following error:
'Error using reshape
Product of known dimensions, 3, not divisible into total number of elements, 13717.'
Hope anyone here can help me.
Cheers,
Rick

답변(2개)

KSSV
KSSV 2020년 6월 18일
편집: KSSV 2020년 6월 18일
n = 13717 ; % totalpoints
m = 1000 ; % points to select
x = rand(n,1) ; y = rand(n,1) ; % random data for demo
idx = randperm(n,m) ; % select m points outof n randomly
plot(x(idx),y(idx),'*r') % plot the points selected
  댓글 수: 3
Rick Verberne
Rick Verberne 2020년 6월 19일
I think because of the structure of that class, or maybe I just did something wrong. The toolbox allows for sampling when you first load your data. So I created a second dataset. I can use the more detailed information for creating images and calculations on boundaries and use the reduced set for some plots where plotting everything just convolutes the data.

댓글을 달려면 로그인하십시오.


Ameer Hamza
Ameer Hamza 2020년 6월 18일
편집: Ameer Hamza 2020년 6월 18일
vector3d is not a MATLAB class. In case you have data points in the form of n*3 matrix. You can do something like this
M = rand(13717, 3); % for example
idx = randperm(size(M,1), 1000); % select 1000 points from 13717
M_small = M(idx, :); % 1000x3 matrix
  댓글 수: 3
Rick Verberne
Rick Verberne 2020년 6월 19일
Yes, or at least the person who wrote it. It is a program called MTEX

댓글을 달려면 로그인하십시오.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by