Cieľom je násť takú rovinu, ktorá práve v jednom bode sa dotýka plochy.
Máme jednu ľubovoľnú funkciu \(f(x,y)\) a bod \(T[x_0,y_0,?]\).
Najprv vypočítame, akú hodnotu má \(z_0\).
Keď už poznáme všetky súradnice bodu \(T\), tak parciálne derivujeme funkciu \(f\) aj podľa \(x\) aj podľa \(y\).
Do derivácii dosadíme \(x_0\) a \(y_0\), takto dostaneme hodnoty oboch prvých parciálnych derivácií v bode \(T\).
Keď nám už chýba iba \(z\), všetko dosadíme a dostaneme rovnicu dotykovej roviny.
Nech \(f\) je funkcia viac premenných definovaná na oblasti \(D(f)\), ktorá má v nejakom okolí bodu \(A \in D(f)\) parciálne derivácie podľa všetkých premenných. Ak sú všetky tieto derivácie spojité v bode \(A\), hovoríme, že funkcia je v bode \(A\) diferencovateľná.
Ak je funkcia \(f\) dvoch premenných diferencovateľná v bode \(A=[x_0,y_0]\), potom jej graf je plocha v priestore, ktorá má v bode \(T=[x_0,y_0,f(x_0,y_0)]\) dotykovú rovinu určenú rovnicou \[z - f( x_0,y_0) = \Bigg[ \frac {\partial f } {\partial x} \Bigg]_{(x_0,y_0)} ( x - x_0 ) + \Bigg[ \frac {\partial f } {\partial y} \Bigg]_{(x_0,y_0)} ( y - y_0 )\] pričom výraz \[ d_A ( X ) = \Bigg[ \frac {\partial f } {\partial x} \Bigg]_{(x_0,y_0)} ( x - x_0 ) + \Bigg[ \frac {\partial f } {\partial y} \Bigg]_{(x_0,y_0)} ( y - y_0 )\] je totálny diferenciál funkcie \(f\) v bode \(A\).
library(plotly)
x0 <-5
y0 <-2
f <- function(x,y) x^2 + 2*y^2
z0 <- f(x0,y0)
dx <- 2*x0
dy <- 2*2*y0
g <- function(x,y) dx*(x-x0)+dy*(y-y0)+f(x0,y0)
s <- print(paste("z -",z0,"=",dx,"( x -",x0,") +",dy,"( y -",y0,")"))
## [1] "z - 33 = 10 ( x - 5 ) + 8 ( y - 2 )"
x <- 0:10; y <- 0:10; mat1 <- outer(y,x,g); mat2 <- outer(y,x,f)
mat1 <- t(mat1); mat2 <- t(mat2)
plot_ly(x=~x,y=~y) %>%
add_surface(z=~mat1)%>%
add_surface(z=~mat2)%>%
add_markers(x=x0,y=y0,z=z0)
Môžeme zadať ľubovoľný bod, ktorý má dve súradnice \((x0,y0)\). Z tých bodov vypočítame tretiu súradnicu \((z0)\). Keď zderivujeme zadanú funkciu \(f(x,y)=x^2 + 2y^2\), tak dostaneme nejaký výraz, do ktorého musíme dosadiť zadaný bod, preto na konci dostaneme čísla, t.j. \(dx\) a \(dy\). Potom už iba všetko jednoducho dosadíme a pomocou \(print\) dáme rovnicu vypísať.
Potom pomocou plot_ly aj vizualizujeme.
Keď máme bod \(A=[5,2]\) a funkciu \(f(x,y)=x^2+2y^2\), tak dotyková rovina bude v bode \(T=[5, 2,33]\) a má rovnicu \[z - 33 = 10 ( x - 5 ) + 8 ( y - 2 )\]
Cieľom programu bolo určiť rovnicu dotykovej roviny. Pomocou dotykovej roviny môžeme lepšie vizualizovať plochu.
Napriek tomu, že sa zdá, že ide o zložitý problém, treba iba dvakrát dosadiť hodnoty a dvakrát derivovať funkciu, ale vďaka programu stačí zadať dve čísla.