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(-3,3, by=0.1) y <- seq(-2.5,4,by=0.1) mf<-function(s,r){ f1=r*s+s^(2)+cos(r*s)-2 f2=s^2+r^2+s*r-4 z=(f1)^2+(f2)^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 para resolver a equação e'(t)=-grad mf(e(t)), e(0)=(-3,1) gradmf<-function(u){ # gradiente de f(x,y) s=u[1] r=u[2] f1=r*s+s^(2)+cos(r*s)-2 f2=s^2+r^2+s*r-4 dx=2*f1*(r+2*s-sin(s*r)*r)+2*f2*(2*s+r) dy=2*f1*(s-sin(s*r)*s)+2*f2*(2*r+s) c(dx,dy) } t0=0 # tempo inicial tf=20 # t final e0=c(3,4) # condição inicial n=20000 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,500,1000)) points(Y[1,],Y[2,], col = "blue", lwd = 2) # Inclui curvas
run
|
edit
|
history
|
help
0
jcfatorial
Variance Gamma process 3
10-08-2020CalcuNum
1
test1
Quartile Formula
Zama Mohammed Fahad
Monte Carlo Integration
19-08-2020-SeidelSistema
Phylotaxis in R