# Shifting column with data

5 views (last 30 days)
SugerCodeCude on 4 Jul 2019
Commented: SugerCodeCude on 4 Jul 2019
From the picture I would like to move everything from the column 2 between 120(degree) and 240(degrees), shifted one time to the left and shifted down one more time. Next, for column 3 between 240 (degree) and 360(degree), shift two times to the left and two times down.
Below is the code to the graph from the picture. I am not sure how to proceed. If you need clarification I can do so.
for i = 1:N
if (TFx(i) == 0) && (TFy(i) == 0)
if (sOnAngleH0(i)>=xBotEdge && sOnAngleH0(i)<=xTopEdge...
&& AngleHa(i)>=yBotEdge && AngleHa(i)<=yTopEdge)
xi = ceil((sOnAngleH0(i)-xBotEdge)/[(xTopEdge - xBotEdge)/row]);
yj = ceil((AngleHa(i)-yBotEdge)/[(yTopEdge - yBotEdge)/col]);
jointBins(xi, yj) = jointBins(xi, yj) + 1;
end
end
end
Any help is most appreciated.
P.S. I need the data of the columns being shift to overlay on the other data points, after all the columns shift all the diagonal points all to be in 0 < x < 120 and 0 < y < 120.

KSSV on 4 Jul 2019
YOu may proceed some thinkg like this:
[X,Y] = meshgrid(1:10,1:10) ;
Z = diag(1:9,-1)+diag(1:10)+diag(1:9,1) ;
Z = fliplr(Z) ;
figure(1)
pcolor(X,Y,Z)
% to move this chunk
[X1,Y1] = meshgrid(4:7,4:7) ;
Z1 = interp2(X,Y,Z,X1,Y1) ;
% to this chunk
[X2,Y2] = meshgrid(1:4,1:4) ;
Z2 = Z ;
Z2(1:4,1:4) = Z1 ;
figure(2)
pcolor(X,Y,Z2)
##### 2 CommentsShowHide 1 older comment
KSSV on 4 Jul 2019
Run the code and analysie it....I have replaced there....you can make necessary changes.

SugerCodeCude on 4 Jul 2019
The code works great, however I put in my jointBins and in a area to then move. I get a error
% to move this chunk
[X1,Y1] = jointBins(4:7,4:7) ;
because it is 10x10, error is
Insufficient number of outputs from right hand side of equal sign to satisfy assignment.
in my code the row = 10 and col = 10
and
xTopEdge = 360
xBotEdge = 0
yTopEdge = 360
yBotEdge = 0
##### 2 CommentsShowHide 1 older comment
SugerCodeCude on 4 Jul 2019
Thank you for all you help!