用 > 10 个参数八度音阶调用求解



我需要用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的文档并没有限制参数的数量。有人能告诉我这是一个错误,还是我的八度音阶安装不好?现在我在Mountain Lion上有3.4.0的成绩。

非常感谢Isaac和Amro,我将版本更改为3.2.0,没有任何问题。那个版本一定只是个bug。

最新更新