MatLab - Mudando uma imagem usando FFT

Eu quero mudar uma imagem (representada por uma matriz 2D) usando a multiplicação de suasfft por exp (-j * 2 * pi * x * F), onde x é o deslocamento. Eu tenho:

input=peaks(200);
H=fftshift(fft2(fftshift(input)));
x=19;
H=H*exp(-1i*x*2*pi*F);
IF_image=fftshift(ifft2(fftshift(H)));
imshow(IF_image)

Mas estou tendo problemas para identificar / representar o F em H [F], pois minha entrada é uma matriz bidimensional. Como eu pude fazer isso? A saída desejada será a minha imagem original deslocada no eixo horizontal (em x unidades) no mesmo quadro para que comece em x + 1. Como um exemplo:

E seinput=

1 2 3 4 5
6 7 8 9 0

e x = 2, eu quero:

4 5 1 2 3
9 0 6 7 8

questionAnswers(1)

yourAnswerToTheQuestion