使用>调用fsolve 10个参数八度

时间:2012-07-27 21:58:46

标签: matlab octave mathematical-optimization

我需要用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)

它迭代了几个有趣的调用(我可以在每次调用时都有乐趣写入控制台),然后再给出以下错误。

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的文档不限制参数的数量。有人能告诉我这是不是一个bug,或者我的八度音程安装不好?现在我在Mountain Lion上运行了3.4.0。

1 个答案:

答案 0 :(得分:0)

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