Этот пример показывает, как аппроксимировать градиенты функции конечными разностями. Это затем показывает, как построить график плоскости касательной к точке на поверхности при помощи этих аппроксимированных градиентов.
Создайте функцию
с помощью указателя на функцию.
f = @(x,y) x.^2 + y.^2;
Аппроксимируйте частные производные
относительно
и
при помощи функции gradient. Выберите длину конечной разности, которая совпадает с размером mesh.
[xx,yy] = meshgrid(-5:0.25:5); [fx,fy] = gradient(f(xx,yy),0.25);
Плоскостью касательной к точке на поверхности
, дают

fx и матрицы fy являются приближениями к частным производным
и
. Интересным местом в этом примере, где плоскость касательной соответствует функциональной поверхности, является (x0,y0) = (1,2). Значением функции в этом интересном месте является f(1,2) = 5.
Чтобы аппроксимировать плоскость касательной z, необходимо найти значение производных при интересе. Получите индекс той точки и найдите аппроксимативные производные там.
x0 = 1; y0 = 2; t = (xx == x0) & (yy == y0); indt = find(t); fx0 = fx(indt); fy0 = fy(indt);
Создайте указатель на функцию с уравнением плоскости касательной z.
z = @(x,y) f(x0,y0) + fx0*(x-x0) + fy0*(y-y0);
Постройте график исходной функции
, точка P и часть плоского z, который является касательной к функции в P.
surf(xx,yy,f(xx,yy),'EdgeAlpha',0.7,'FaceAlpha',0.9) hold on surf(xx,yy,z(xx,yy)) plot3(1,2,f(1,2),'r*')

Посмотрите профиль стороны.
view(-135,9)
