#python #r #matlab #matplotlib #matlab-figure
#python #r #matlab #matplotlib #matlab-рисунок
Вопрос:
par(mfrow=c(1,2))
##General code for an lcg
lcg <- function(a, c, p, run.length, seed){
x <- rep(0, run.length)
x[1] <- seed
for(i in 1:(run.length -1)){
x[i 1] <- (a*x[i] c) %% p
}
U <- x/p ##scale x to U(0,1)
return(list(x=x, U=U))
}
z <- lcg(3,0,31,30,2)
z
x1 <- z$U[1:29]
x2 <- z$U[2:30]
plot(x1,x2, main="LCG[3,31]", xlab="U[i]",
ylab="U[i-1]",col='blue', pch=1)
Я хочу иметь перекрывающийся график с красными линиями с отрицательным наклоном, как показано на изображении. Как я могу изменить этот код, чтобы добавить красные линии с отрицательными наклонами?
Комментарии:
1. Не могли бы вы уточнить, хотите ли вы использовать R-решение (я предполагаю, что это так, основываясь на (предыдущем) названии и указанном вами коде, но у вас есть теги [python] [matlab] [matplotlib] [matlab-figure] … ???)
Ответ №1:
Я вычислил требуемый перехват (ы) и наклон методом проб и ошибок: не думал о проблеме достаточно тщательно, чтобы вывести их из первых принципов… Я не думаю, что они совпадают со строками в вашем примере, но, по-видимому, вы можете подумать немного сложнее и понять, каким должен быть наклон и последовательность перехватов … ?
Это работает:
avec <- seq(0,1.2,by=0.1)
for (a in avec) {
abline(a, b=-0.1, col=2)
}
Комментарии:
1. Спасибо тебе, Бен.
2. @PKB Если это решит вашу проблему, подумайте о том, чтобы пометить ее как «принятую» (с помощью флажка рядом с ответом).