-1

11個の変数を使用してfsolveを呼び出す必要がありますが、何らかの理由で、10個を超える変数を指定すると不規則に動作し始めます。例を次に示します。

function y = focal_fun (x)

y(1) = x(1) - 1;
y(2) = x(2) - 2;
y(3) = x(3) - 3;
y(4) = x(4) - 4;
y(5) = x(5) - 5;
y(6) = x(6) - 6;
y(7) = x(7) - 7;
y(8) = x(8) - 8;
y(9) = x(9) - 9;
y(10) = x(10) - 10;

endfunction

に続く

x0 = [.1;.2;.3;.4;.5;.6;.7;.8;.9;1];
[x, fval, info] = fsolve ("fun", x0)

完璧に動作します。追加すれば

y(11) = x(11) - 11;

私の関数に呼び出して呼び出します

x0 = [.1;.2;.3;.4;.5;.6;.7;.8;.9;1;1.1];
[x, fval, info] = fsolve ("fun", x0)

次のエラーが発生する前に、funへのいくつかの呼び出しを繰り返します(呼び出されるたびにコンソールに書き込むのを楽しむことができます)。

dyld: lazy symbol binding failed: Symbol not found: _lsame_
  Referenced from: /Applications/Octave.app/Contents/Resources/lib/libqrupdate.1.dylib
  Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib

dyld: Symbol not found: _lsame_
  Referenced from: /Applications/Octave.app/Contents/Resources/lib/libqrupdate.1.dylib
  Expected in: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib

panic: Trace/BPT trap: 5 -- stopping myself...
attempting to save variables to octave-core'...
save to `octave-core' complete
/usr/local/bin/octave: line 68:  2620 Trace/BPT trap: 5       OCTAVE_HOME="${OCTAVE_HOME}" PATH="${PATH}" DYLD_LIBRARY_PATH="${DYLD_LIBRARY_PATH}" CC="${CC}" CXX="${CXX}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" CXXFLAGS="${CXXFLAGS}" FFLAGS="${FFLAGS}" LDFLAGS="${LDFLAGS}" DL_LDFLAGS="${DL_LDFLAGS}" SED="$SED" MAGICK_HOME="${ROOT}" FONTCONFIG_PATH="${ROOT}/etc/fonts" "${ROOT}/bin/octave-3.4.0" "$@"

fsolveのドキュメントは、私が知る限り、引数の数を制限していません。これがバグなのか、オクターブのインストールが悪いのか誰かに教えてもらえますか?現在、MountainLionで3.4.0を実行しています。

4

1 に答える 1

0

IsaacとAmroに感謝します。バージョンを3.2.0に変更しましたが、問題はありません。そのバージョンのバグだったに違いありません。

于 2012-07-31T15:07:37.643 に答える