0

関数のoptimoptsプロパティ、つまりMatlabで変更しようとしていますが、明らかに値はデフォルトのままです:factoranTolXTolFun

 optionsFactoran = statset('TolX',1e-4,'TolFun',1e-4)

次に、因子分析関数を使用します。

[lambda,psi,T,stats,F] = factoran(MyMatrix,10,'optimopts',optionsFactoran);

ここでわかるように、値はデフォルトのままです。

>> statset('factoran')

ans = 

      Display: 'off'
  MaxFunEvals: 400
      MaxIter: 100
       TolBnd: []
       TolFun: 1.0000e-08
   TolTypeFun: []
         TolX: 1.0000e-08
     TolTypeX: []
      GradObj: []
     Jacobian: []
    DerivStep: []
  FunValCheck: []
       Robust: []
 RobustWgtFun: []
       WgtFun: []
         Tune: []
  UseParallel: []
UseSubstreams: []
      Streams: {}
    OutputFcn: []

どんなアイデアでも大歓迎です。

4

1 に答える 1

1

(質問の冒頭で行うように) 出力引数を指定して呼び出すstatsetと、 などの関数に渡すことができる Statistics Toolbox オプションの構造が得られますfactoran。構造体を表示すると、Statistics Toolbox の各オプションのフィールドが常に含まれており、入力として指定した値以外の値がそれぞれ空の値を持っていることがわかります。

永続的に何も「設定」していません (設定するグローバルな「設定」はありません)。いくつかのオプションを含む構造を作成しただけです。statset別の入力で再度実行すると、別のオプション構造が得られるだけです。ここでも、グローバルなものは何も設定されていません。

statset出力引数なしで (質問の最後に行うように)、 input などの関数名を指定して呼び出すとfactoran、特定の関数のデフォルトが表示されます。つまり、これらは、他の値を指定するために options 構造体を渡さなかった場合に使用される値です。

これらは常にその機能のデフォルトであり、変更することはできません。別のものを使用したい場合は、オプション構造体を作成して渡します。

于 2015-06-18T20:10:40.273 に答える