Run Code
|
API
|
Code Wall
|
Misc
|
Feedback
|
Login
|
Theme
|
Privacy
|
Patreon
Gab1A(resumido)
# Determinar aproximação para raízes do polinômio p(z)=z^5+z+1, para z número complexo. # x <- seq(-1,1, by=0.05) y <- seq(-1,1,by=0.05) mf<-function(s,r){z=s+r*1i; Mod(z^5+z+1)^2 # mf(x,y)=|p(x+iy))|^2 função a ser minimizada. } require(grDevices) z <- outer(x, y, mf) z[is.na(z)] <- 4 op <- par(bg = "white") persp(x, y, z, theta = 60, phi = 20, expand = 1) # Gráfico de mf(x,y). contour(x,y,z,levels=c(0.5,1)) # Curvas de nível. # persp(x, y, z, theta = 60, phi = 20, expand = 1)->res # Para usar trans3d. # Método de Euler para resolver a equação u'(t)=-grad f(u(t)), e(0)=(1,1), para aproximar valor mínimo de mf(x,y). gradmf<-function(u){ # gradiente de mf(x,y) s=u[1] r=u[2] h=10^(-5) dnfx= mf(s+h,r)-mf(s-h,r) dnfy=mf(s,r+h)-mf(s,r-h) c(dnfx,dnfy)/(2*h) } t0=0 # tempo inicial tf=1 # t final e0=c(1,1) # condição inicial mf(e0[1],e0[2]) # teste da escolha n=10000 # Número de passos 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)){ # Método de euler 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)]) lines(trans3d(Y[1,],Y[2,],mf(Y[1,],Y[2,]), res), col = "blue", lwd = 2) # Inclui curva no gráfico 3d. plot(Y[1,],Y[2,],col="blue") # Caminho seguido na aproximação. plot(tt,mf(Y[1,],Y[2,]), col = "blue") # Caminho seguido pela função mf na aproximação.
run
|
edit
|
history
|
help
0
Tablet-Sprite-image-Interval
19-08-2020-GaussSeidelSistema-menos-calc
Labegen exemplo
Learning
print name and age
%95 Confidence Interval
Erro padrão
Gab1A(resumido)
US births
Inferences for Two Population Means [Cement Hydration]