2017-12-12 3 views
1

나는 다른 강도와 주제의 자극으로부터 데이터를 (예를 들어 우리는 54 명 가지 강도를 가지고) 어떤 다음은 각각의 자극을 인식 그들의 비율입니다 :제로와 배열의 분포를 피팅

x = [0 0 0 0.50 0 0 0 0 0 0 0.5 0 0 0 0 0 0 0 0.125000000000000 0 0.333333333333333 0 0 0.111111111111111 0 0.428571428571429 0 0.285714285714286 0.166666666666667 0 0.1 0 0.400000000000000 0.5 0.4 0.25 0.6 0.727272727272727 0.714285714285714 0.25 0.666666666666667 0.777777777777778 1 0.75 0 1 0.9375 1 1 1 1 1 0.92 0.92] 

말 첫 번째 색인은 가장 약한 자극이고, 마지막 색인은 가장 강한 것으로, 자극이 강할수록 피험자가 인식 할 확률이 높습니다. 정신 물리학 곡선 (this 모양)을 얻으려면이 값에 분포를 맞추고 싶습니다. 내가 시도 무엇

은 다음과 같습니다

pd = fitdist(x,distribution); 

하지만이 오류가 발생합니다, 나는 때문에 X 배열의 공의의 가정합니다. 대안으로 무엇을 할 수 있습니까?

+0

[logistic regression] (https://en.wikipedia.org/wiki/Logistic_regression#Logistic_function,_odds,_odds_ratio,_and_logit)을 사용해보십시오. matlab을 사용하여이를 수행하는 방법을 알려주지는 못했지만, 여러분이 제공 한 데이터 벡터를 사용하여 통계 패키지에서 꽤 잘 작동했습니다. – pjs

+0

그래, 나는 다른 배포판을 선택할 수 있다는 것을 알고 있지만, matlab에있는 구현을 이해하는데 관심이있다 – TestGuest

답변

-1

0을 제거해 보셨습니까?

I = distribution == 0; 
x(I) = []; 
distribution(I) = []; 
+0

0을 제거하고 싶지 않다. 왜냐하면 피험자가 자극을 감지 할 수없는 곳에 보일 것이기 때문이다. – TestGuest

0

Fit a sigmoid to my data using MATLAB

에서 제안한 것처럼 수학, 통계 및 최적화 "섹션"에서. 당신은 APPS에서 찾을 수 매트랩 응용 프로그램을 "피팅 곡선을"나는 당신이 사용할 수 있다고 생각합니다. " " , 당신이 할 수있는 파일을 찾고 respone 후

와 자극

  • 하나

    • 하나

      같은 길이의 두 벡터를 정의 당신이해야 할 것입니다 MATLAB의 "Curve Fitting"응용 프로그램을 사용하여 S 자형에 맞게 시도해보십시오.

      코드 생성 버튼을 누르면, matlab은 동일한 결과를주는 fuction을 생성합니다.

  • 관련 문제