Нахождение частных производных z с помощью пространственной свертки - PullRequest
0 голосов
/ 09 января 2019

Мне было поручено найти частные производные dz/dx и dz/dy функции z посредством пространственной свертки в MATLAB. Насколько я знаю, пространственная свертка - это просто продукт пространственной области и некоторая форма фильтра. Я предполагаю, что фильтр в этом случае является частичным выводом? Каков наилучший подход для этого, так как у меня уже рассчитана поверхность?

%values of z. 
x = -9:0.2:9;
y = -8:0.2:8;
z = comp_z(x,y)
colormap('hot') %as specified
zfinal=z';
surf(x,y,zfinal)

1 Ответ

0 голосов
/ 09 января 2019

Это похоже на домашнюю работу, поэтому я просто укажу вам правильное направление, но не дам вам код.

Центральная производная разности dz / dx в точке z_i определяется как dz_i/dx=(z_{i-1}+z_{i+1})/2

Если z является матрицей, и вы можете применить [-0.5 0 0.5] к значению z_i, то вы получите то же уравнение для dz_i/dx. Если вы примените это ко всем элементам (или пространственно свертите фильтр по изображению), вы получите это значение для всех элементов.

Та же логика может быть получена для dz_i/dy.

...