Effacer les filtres
Effacer les filtres

Truncate matrix elements to a particular length

2 vues (au cours des 30 derniers jours)
Nancy
Nancy le 12 Déc 2011
Ok. I am revising my previous question. I have two matrices that have the X and Y coordinates of a trajectory.
X= [ 0 1.1 1.9 2.6 3.01 4.56 5.04]
Y= [ 0 -0.013 0.008 0.008 -0.002 0.034 0.08]
So the trajectory comprises of 7 points and 6 segments. The length of each subsegment is given by the following matrix. The length is calculated by the distance formula
S=[ 1.1001 0.8003 0.7 0.4101 1.5504 0.4822]
The sum of all these subsegments equals sum(S)=5.0431. This is the length of my trajectory. To do further analysis, I want all my trajectories to have the same length (say 5 in this case). I want to interpolate the last point so that it falls on the trajectory and allows the trajectory to have a predefined length. Only the last point should be interpolated.
So my final output should look like this
X= [ 0 1.1 1.9 2.6 3.01 4.56 Xi]
Y= [ 0 -0.013 0.008 0.008 -0.002 0.034 Yi]
I need to find Xi and Yi using interpolation (interp1 probably) so that sum(S) becomes 5.
Can anyone help me write a code for this.
Thanks, Nancy

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 12 Déc 2011
xy = [X;Y];
d = diff(xy(:,end-[1 0]),1,2);
k = 5 - sum(sqrt(sum(diff(xy(:,1:end-1),1,2).^2)))
xy(:,end)= k/sqrt(sum(d.^2))*d+xy(:,end-1)
OR
xy = [X;Y]
d = diff(xy,1,2)
D = hypot(d(1,:),d(2,:))
k = 5 - sum(D(1:end-1))
XYi = k/D(end)*d(:,end) + xy(:,end-1)
  5 commentaires
Sean de Wolski
Sean de Wolski le 13 Déc 2011
xy vertically concatenates x,y
d = is the horizontal numerical first derivative, e.g. a(i+1)-a(i)
D is the sqrt sum squares (doc hypot) of x and y
k is 5 minus the sum of all hypotenuses except the last
XYi is something.
Nancy
Nancy le 13 Déc 2011
Thanks Sean. I need the logic behind XYi.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 3-D Scene Control dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by