Управление масштабом оси (настройка отображения шага)
library(deSolve)
library(latex2exp)
#уравнение y'=2x+C
f <- function(x, y, params) list(2*x)
x0=-4; y0=18 #начальные условия
x <- seq(x0, 4, 0.1)
#решение уравнения
df <- as.data.frame(ode(y0, x, f, parms = NULL));
#построение интегральной кривой и начальных условий
plot(NULL,xlim=c(-4,4),ylim=c(0,18),ylab="Y", xlab="X",yaxt='n',xaxt = "n",
main = TeX("$y'=2x+C$"))
grid(col='black')
abline(v=0, h=2, lwd=1)
lines(df,col="red", lwd=2)
tail(df)
axis(side = 2, at = seq(0, 20, 1), labels = seq(0, 20, 1), las = 2)
axis(1, xaxp = c(-4, 4, 16))
abline(h=seq(0,18,1), lty=2)
abline(v=seq(-4,4,0.5), lty=2)
#side — это сторона (1 - снизу, 2 — слева)
#at — на каких позициях ставить значения
#labels — собственно список значений
#(понятно, что их должно быть ровно столько же, сколько указано и в параметре at)
#las — стандартный граф. параметр задающий ориентацию значений на шкалах
#построить график функции
x = seq(-4,6, 0.01)
y = 0.25*x^3 - x^2 - 2*x
plot(NULL,xlim=c(-4,6),ylim=c(-10,2),ylab="Y", xlab="X",yaxt='n',xaxt = "n",
main = TeX("$y=0.25x^3 - x^2 - 2x$"))
#axis(side = 2, at = seq(0, 20, 1), labels = seq(0, 20, 1), las = 2)
axis(1, xaxp = c(-4, 6, 20))
axis(2, yaxp = c(-10, 2, 12))
abline(h=seq(-10,2,1), lty=2)
abline(v=seq(-4,6,0.5), lty=2)
lines(x,y, lwd=2, col='red')

