
PROGRAMAFICIÓN
R-suelve tus dudas
PRÁCTICA 4:
Uso y representación de funciones, condicionales en R
EJERCICIO 1

SOLUCIÓN:
# colocamos todas las funciones al inicio del programa
#uso <- o =, en vez de x puedo poner lo que quiera
f<-function(x){x^2*cos(x^2)}
g<-function(x){sin(x^2)*exp(-x^2/10)}
h<-function(x){sin(x^8)*exp(-x)}
# f en pi/4
f(pi/4)
# generar vector xx que tome 1001 valores en [0,10] utilizando el comando seq con salto o.o1
xx<-seq(0,10,0.01)
# particulizar la función f en todos los valores de xx(a cada valor le aplica f)
f(xx)
#representaciones gráficas:
plot(xx,f(xx),xlab='abcisa',ylab='mis funciones f,g,h',col='green')
par(new='true')
plot(xx,g(xx),xlab='',ylab='',col='blue',axes=FALSE,pch=4)
par(new='true')
plot(xx,h(xx),xlab='',ylab='',col='red',axes=FALSE,pch=18)
#leyenda
legend(x='top',c('f','g','h'),fill=c('green','blue','red'))

¡¡CUIDADO!!
-Poner verdadero en vez de true y falso en vez de false
-Olvidarse que el número e se define como exp(), y poner sen en vez de sin
-No poner ^ para definir un exponente
-Poner un igual (=) después de legend
- Olvidar las comillas
ERRORES COMUNES:
EJERCICIO 2


SOLUCIÓN:
N=function(t)(10*exp(t/20))
i=1; xd=0; yd=0; color=0; tfin=168; dt=0.5; t=0
while (t<=tfin){
xd[i]=t; yd[i]=N(t)
if(N(t)<5000){
color[i]='green'
}else if(N(t)>=5000 & N(t)<10000){
color [i]='orange'
}else if(N(t)>20000){
color [i]='red'
}else{
color [i]='blue'
}
t=t+dt; i=i+1
}
plot(xd,yd,col=color, type='h',xlab='tiempo(horas)',ylab='numero de celulas')
legend(x='top', c('recuperable sin medicacion','medicacion moderada', 'situacion intermedia','medicacion agresiva'), fill=c('green', 'orange','blue','red'))

¡¡CUIDADO!!
ERRORES COMUNES:
- Para darle color a la función, no utilizar color=' '. La forma correcta es col=' '.
- En el comando xlab=' ', no se debe olvidar poner el =
- Cuando se realizan bucles condicionales, ponemos else{ en último lugar y sin condición, el resto como if(Condicion1){ o else if(Condicion2){, siempre llevan condición
Además, el profesor nos proporciona unos organigramas para entender mejor el funcionamiento de los bucles:


Explicación en vídeo:
Para más información se puede acceder al repositorio a través del enlace