How to resize this vector?

4 vues (au cours des 30 derniers jours)
dsp
dsp le 25 Jan 2016
Commenté : Walter Roberson le 8 Juil 2016
I have a vector A of 64 data points which corresponds to 15.66 cm projection. I need to get a vector B of projection data points of size 64 which corresponds to 0.48 cm in the middle of A. How to get it?

Réponse acceptée

Walter Roberson
Walter Roberson le 25 Jan 2016
extract_starting_from = 12.345; %for example
extract_length = 0.48;
orig_X = linspace(0, 15.66, length(A));
new_X = linspace(extract_starting_from, extract_starting_from+extract_length, 64);
extracted_A = interp1(orig_X, A, new_X);
  2 commentaires
dsp
dsp le 7 Juil 2016
Modifié(e) : dsp le 7 Juil 2016
on a related note,
I have a vector A of 64 data points which corresponds to 2 cm projection. I need to get a vector B of projection data points of size 64 which corresponds to 4 cm in the middle of A. How to get it?
Is extrapolation any good or adding zero will be good?
extract_starting_from = -1; %for example
extract_length = 4;
orig_X = linspace(0, 2, 64);
new_X = linspace(extract_starting_from, extract_starting_from+extract_length, 64);
extracted_A = interp1(orig_X, A, new_X,'pchip','extrap');
Walter Roberson
Walter Roberson le 8 Juil 2016
? How can you get 4 cm in the middle of something that is only 2 cm long?
'pchip' might be valid for your purposes; 'linear' might be valid. Also specifying 0 instead of 'extrap' might be valid. It depends on what you are modeling.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Interpolation 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