f<-function(s){log(cos(s)*sin(s^2+1)+tan(s))}

u<-function(s){cos(s)*sin(s^2+1)+tan(s)}

curve(u,0,1.5)

dnf<-function(s){ # aproximacao da derivada com erro menor que max|f'''(b)|h^2/6.
    h=10^(-3)
    p=(f(s+h)-f(s-h))/(2*h)
    return(p)
}

curve(dnf,0,1.5)

# Derivada exata
df<-function(s){(1/u(s))*(-sin(s)*sin(s^2+1)+cos(s)*cos(s^2+1)*2*s+(1/cos(s))^2)}
curve(df,0,1.5)

Erro<-function(s){df(s)-dnf(s)}
curve(Erro,0,1.5)

#--- Derivada segunda
dn2f<-function(s){ # aproximacao da derivada com erro menor que max|f'''(b)|h^2/6.
    h=10^(-5)
    p=(f(s+h)-2*f(s)+f(s-h))/(h^2)
    return(p)
}
curve(dn2f,0,1.5)


# ----- Duas variaveis----
F<-function(s,t){log(s*t+s*cos(t)^2)}
F(1,1)

dnFs<-function(s,t){ # aproximacao da derivada, em relação a s com erro menor que max|f'''(b)|h^2/6.
    h=10^(-3)
    p=(F(s+h,t)-F(s-h,t))/(2*h)
    return(p)
}
dnFs(1,1)

dnFt<-function(s,t){ # aproximacao da derivada, em relação a t com erro menor que max|f'''(b)|h^2/6.
    h=10^(-3)
    p=(F(s,t+h)-F(s,t-h))/(2*h)
    return(p)
}
dnFt(1,1)

GradnF<-function(s,t){c(dnFs(s,t),dnFt(s,t))}
GradnF(1,1)

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: