At a guess I would say it is because circshift shifts in the opposite direction to what you would expect. Certainly that catches me quite often when I have to shift by -1 when I intuitively thought it should be +1
discrete deriviative has wrong sign
1 次查看(过去 30 天)
显示 更早的评论
I have the following MWE that calculates the derivative of a function along the y-direction:
x=1:50;
y=x;
phi = sin((x-10)/10);
dyPhi = (4.0*(circshift(phi(:,:), [+0, +1]) - circshift(phi(:,:), [+0, -1])) + ...
1.0*(circshift(phi(:,:), [+1, +1]) - circshift(phi(:,:), [-1, -1])) + ...
1.0*(circshift(phi(:,:), [-1, +1]) - circshift(phi(:,:), [+1, -1])))/12.0;
figure(1)
imagesc(phi)
colorbar
figure(2)
imagesc(dyPhi)
colorbar
However, please take a look at the two plots: On the plot for dyPhi, it seems that the derivative has a wrong sign.
Why is that? If I swap the sign, then I get what I would expect.
0 个评论
回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!