0

私は次のものを持っています

x=[0.01:0.01:.1];
y=[1 1 1 1 1 0 0 0 0 0 ];
F=@(x,p) 0.5-(1/Pi)*atan(p(2)*(x-p(1)));
p0=[0.05 10000];

次を実行すると

[f p]=leasqr(x,y,p0,F)

私は得る

error: Invalid call to options.  Correct usage is:

 -- Function File: OPT = options ("KEY1", VALUE1, "KEY2", VALUE2, ...)

error: called from:
error:   /usr/share/octave/3.6.2/m/help/print_usage.m at line 87, column 5
error:   /usr/share/octave/packages/control-2.3.52/options.m at line 68, column 5
error: evaluating argument list element number 1
error:   /usr/share/octave/packages/optim-1.2.0/leasqr.m at line 574, column 5

何か不足していますか?

編集:最適なパッケージを更新しました。新しいエラー メッセージ:

error: binary operator `.*' not implemented for `matrix' by `symbolic matrix' operations
error: called from:
error:   /usr/share/octave/packages/optim-1.2.2/private/__lm_svd__.m at line 145, column 5
error:   /usr/share/octave/packages/optim-1.2.2/leasqr.m at line 582, column 26
4

2 に答える 2

1

これはバグです。メールリストによると

optimパッケージを更新して修正することをお勧めします。最初のステップはシステムに依存し、パッケージをコンパイルするツールをインストールします。rpm パッケージ名は異なります。

$ sudo apt-get install liboctave-dev
$ sudo octave
octave> pkg install -forge optim 
于 2013-03-11T01:16:09.203 に答える
-1

関数で「Pi」を「pi」に変更すると、このコードが機能します。ただし、「収束が達成されていません!」と表示されます。

于 2013-05-23T04:55:30.710 に答える