Help aligning two vectors with one centred on zero.

조회 수: 1 (최근 30일)
Jason
Jason 2016년 10월 25일
댓글: Chaya N 2016년 10월 25일
I have a set of x values:
x1=-31, -15.5, 0, 14.9,30.2
I know that the separation should be 15 (=pitch) so I want to plot x1 against xreal then do a fit and look at the largest deviation.
I can create:
xreal=Pitch*((1:numel(x1)));
But I can't figure out how to align them AROUND 0,e.g
xreal = -30, -15, 0 , 15, 30
then I can easily plot x1 against xreal and linearly fit.

채택된 답변

LauraLee Austin
LauraLee Austin 2016년 10월 25일
How about this, it should allow the location of 0 in x1 to change and the number of values in set x1 to be variable as well. if true
x1 = [-31, -15.5, 0, 14.9,30.2];
Pitch = 15;
idx = find(x1==0);
numel(x1)
xreal=(Pitch*(1-idx)):Pitch:(Pitch*(numel(x1)-idx));

추가 답변 (2개)

Chaya N
Chaya N 2016년 10월 25일
편집: Chaya N 2016년 10월 25일
xreal=Pitch*((1:numel(x1)) - ceil(numel(x1)/2))
  댓글 수: 2
Jason
Jason 2016년 10월 25일
doesn't this assume that the x1 values are symmetrical around 0. although shown in the example, this may not always be the case.
Chaya N
Chaya N 2016년 10월 25일
"...align them AROUND 0"
Exactly as asked!

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


Matt J
Matt J 2016년 10월 25일
xreal=xreal-mean(xreal);
  댓글 수: 3
Matt J
Matt J 2016년 10월 25일
편집: Matt J 2016년 10월 25일
The mean of xreal would still be at zero. That is the only interpretation of the requirement "centered AROUND 0" that we can intuit from your post.
Jason
Jason 2016년 10월 25일
Yes sorry, I only thought of it after you had answered.

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

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by