Вернемся к нашей замечательной функции
Больше всего я таких вещах я люблю проверить на ассоциативность. А именно, найти разницу между x~(y~z) и (x~y)~z. Иногда получается забавно. Не разочаровал и этот раз. В отличии от настоящих ученых мой код рабочий, можно пользоваться (язык R). Если поставить k=0 Или k=1 тоже выходит забавно.
Код:
# Чтобы покрасить
surf.colors <- function(x, col = terrain.colors(20)) {
x.avg <- (x[-1, -1] + x[-1, -(ncol(x) - 1)] +
x[-(nrow(x) -1), -1] + x[-(nrow(x) -1), -(ncol(x) - 1)]) / 4
colors = col[cut(x.avg, breaks = length(col), include.lowest = T)]
return(colors)
}
# Базовая функция
fun1 <- function(x,y,g=0.05){ (x+y+g^2-sqrt((x-y)^2+g^2))/2}
x <- seq(0,1,length=100)
y <- x
# Разница при перестановке
fun2<-function(x,y,k=0.5) {
fun1(fun1(x,y),k)-fun1(x,fun1(y,k))
}
# построение графика
z <- outer(x,y,fun2)
persp(x,y,z,theta=-30,phi=30,expand=0.5,col=surf.colors(z),ltheta=100,xlab="x",ticktype="detailed",ylab="y",zlab="z")
Если что, мне просто нравится графики строить. Это не для дискуссии: я лучше пойду филологинь травить за то, что они иностранному не так учат или экономистов, что они в экономике не понимают. У филологинь хоть сиськи есть, а у экономистов нормальные здоровые комплексы.
А то что контингент с двух сторон в процессе полемики такие корки мочит, что хоть святых выноси, я комментировать даже не буду. Больше пятисот сообщений в теме ни о чем! Есть что сказать, так напиши статью в нормальный журнал и покажи, что это ерунда. Нет, вместо этого будем засирать Портал аспирантов, делать в четырех строчках кода три ошибки и учить филологов и историков нечеткой логике.
Теперь ответ на судьбоносный вопрос: "Почему старые профессора видят только лженауку в трудах молодых ученых?"
42
Потому, что со временем понимаешь, что все фигня, кроме пчел, а если подумать, то и пчёлы фигня. Не надо было прогуливать "Историю и философию науки", там на этот вопрос даются квалифицированные объяснения.
-----
Нарисовал мультик.
Как это сделано
Код:
frames = 21
kk<-seq(0,1,length.out=frames)
for(i in 1:frames){
if (i < 10) {name = paste('000',i,'plot.png',sep='')}
if (i < 100 && i >= 10) {name = paste('00',i,'plot.png', sep='')}
if (i >= 100) {name = paste('0', i,'plot.png', sep='')}
png(name,width=600,height=600)
z <- outer(x,y,fun2,k=kk[i])
persp(x,y,z,theta=-30,phi=30,expand=0.5,col=surf.colors(z),ltheta=100,xlab="x",ticktype="detailed",ylab="y",zlab="z",main=paste0("k=",sprintf("%.2f",kk[i])))
dev.off()
}
Для сборки использовался
ImageMagick
Команда:
Код:
magick *.png -delay 3 -loop 0 output.gif