2017-12-12 11 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の前提としています。代わりに何をすることができますか?

+0

[ロジスティック回帰](https://en.wikipedia.org/wiki/Logistic_regression#Logistic_function,_odds,_odds_ratio,_and_logit)でフィッティングしてみてください。私はmatlabでそれを行う方法を教えてくれませんが、あなたが提供したデータのベクトルを使って私の統計パッケージにはうまくいきました。 – pjs

+0

はい、私はさまざまなディストリビューションを選ぶことができると知っていますが、私はmatlabの実装を理解することに興味があります – TestGuest

答えて

-1

ゼロを削除しようとしましたか?

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

私はゼロを削除したくありません。 – TestGuest

0

Fit a sigmoid to my data using MATLAB

で示唆されているようには数学、統計および最適化 『の『あなたが、APPSでそれを見つけることができます。MATLABでアプリケーションを』フィッティングカーブを「私はあなたが使うことができると思います』。 "

何がしなければならないことは、同じ長さの2つのベクトルを定義です:あなたは、あなたのファイルを見て、respone

後に刺激

  • 1と

    • 1をすることができますMATLABの "Curve Fitting"アプリケーションを使って、S字状にフィットさせてみてください。

      [コード生成]ボタンを押すと、matlabは同じ結果を返すfuctionを作成します。

  • 関連する問題