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?

 채택된 답변

Walter Roberson
Walter Roberson 2016년 1월 25일

1 개 추천

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

dsp
dsp 2016년 7월 7일
편집: dsp 2016년 7월 7일
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 2016년 7월 8일
? 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.

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Interpolation에 대해 자세히 알아보기

질문:

dsp
2016년 1월 25일

댓글:

2016년 7월 8일

Community Treasure Hunt

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

Start Hunting!

Translated by