3.2刺激に対する反応

グスタフ・フェヒナーヴェーバー‐フェヒナーの法則というものを記した。これは、刺激Sに対する反応R
\frac{dR}{dS}=\frac{k}{S}kは定数)
となる。これを解くと
\int dR=\int \frac{k}{S}dS
R=k\log S+A
ここで、刺激S=S_0までは反応しない、つまり[tex:R(S

R <- function(S, S0, k){
	res <- numeric(length(S))
	for(i in 1:length(S)){
		if(S[i] < S0){
			res[i] <- 0
		}else{
			res[i] <- k*log(S[i]/S0)
		}
	}
	return(res)
}

k <- 1
S <- seq(0, 100, length=100)
S0 <- 10
plot(S, R(S, S0, k), cex=0.5, xlab="stimuli", ylab="response")


元々の刺激が小さいときから少し大きな刺激を与えた場合と、元々の刺激が大きいとき少し大きな刺激を与えた場合の反応Rの増加分は、前者の方が大きい、ということになる。
これは、暗い部屋を明るくした場合のチカチカ感と、明るい部屋を明るくした場合のチカチカ感は前者の方がチカチカすることに一致する。
 
スティーヴンスのべき法則により、このモデルに改良を加える。上式を改良し
\frac{dR}{dS}=n\frac{R}{S}nは定数)
とする。これを解くと
\log R=n\log S+A
A=\log Kと書き換えると
R=KS^n
となり、これをスティーヴンスのべき法則という。
nは感覚の原因によって変わる。光刺激を0.8、視野視覚を1、電気ショックを1.5とすると

S <- seq(0, 10, length=100)
RS <- function(S, K, n){
	res <- numeric(length(S))
	for(i in 1:length(S)){
		res[i] <- K * (S[i] ^ n)
	}
	return(res)
}
Res <- cbind(RS(S, 1, 0.8), RS(S, 1, 1), RS(S, 1, 1.5))
matplot(S, Res, cex=0.5, ylim=c(0, 20), type="p", pch=1, xlab="stimuli", ylab="response")
legend(3, 20, paste("n = ", c(0.8, 1, 1.5), sep=""), col=1:3, pch=16)