Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Ex21-01-21
# Gráfico em 3 dimensões # Curva # Superfície z=f(x,y) x <- seq(-2.5,2.5, by=0.05) y <- seq(-2.5,2.5,by=0.05) mf<-function(s,r){z=(exp(-(r*s+s^(2)+s*cos(r*s)))-2)^2+(s^2+r^2+s*r-4)^2# f(x,y); auxiliar para gráfico z } require(grDevices) # for trans3d z <- outer(x, y, mf) z[is.na(z)] <- 4 op <- par(bg = "white") persp(x, y, z, theta = 60, phi = 20, expand = 0.5)->res # Método de Euler oara resolver a equação e'(t)=grad f(e(t)), e(0)=(0.5,1) gradmf<-function(u){ # gradiente de f(x,y) h=10^(-5) s=u[1] r=u[2] dx=mf(s+h,r)-mf(s-h,r) dy=mf(s,r+h)-mf(s,r-h) c(dx,dy)/(2*h) } t0=0 # tempo inicial tf=2 # t final e0=c(-2,2) # condição inicial n=2000 h=(tf-t0)/n # Tamanho do passo tt=seq(t0,tf,by=h) Y=matrix(0,2,length(tt)) Y[,1]=e0 for ( i in 1:(length(tt)-1)){ Y[,i+1]=Y[,i]-h*gradmf(Y[,i]) } print("Aproximação para o ponto de mínimo"); Y[,length(tt)] print("Aproximação para o valor mínimo"); mf(Y[1,length(tt)],Y[2,length(tt)]) print("Aproximação para o gradiente no valor mínimo"); gradmf(Y[,length(tt)]) lines(trans3d(Y[1,],Y[2,],mf(Y[1,],Y[2,]), res), col = "blue", lwd = 2) # Inclui curvas plot(tt,mf(Y[1,],Y[2,]), col = "blue",'l') contour(x, y, z,levels = c(0.5,1,3,5,10,12,15,20,30,50,100,200)) points(Y[1,],Y[2,], col = "blue", lwd = 2) # Inclui curvas
run
|
edit
|
history
|
help
0
AjusteLinearizado
19-08-2020-JacobiSistemaNewtonaprpx
Data Transformation
User defined functions
Regression
Plot Graph By Adjacency Matrix
Análise de experimento em DIC e teste de Tukey
Grade.r
Xprod
Quiz 2