2012-07-27 14 views
0

我需要用11個變量調用fsolve,但由於某種原因,在開始行爲不正常時,只要我給它多於10個。下面是一個示例。調用大於10個參數八度的fsolve

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" "[email protected]" 

fsolve的文檔不會限制參數的數量,據我所知。有人可以告訴我,如果這是一個錯誤,或者我有一個不好的八度安裝?現在我在Mountain Lion上運行3.4.0。

+0

我當然不會在倍頻程3.2.4,64位上得到你的錯誤。 – Isaac 2012-07-27 22:24:15

+0

無法在Octave 3.6.1(WinXP) – Amro 2012-07-29 17:40:18

+0

上重現謝謝你,我改變了版本,現在它工作正常。 – Hammer 2012-07-31 15:08:45

回答

0

非常感謝Isaac和Amro,我將我的版本更改爲3.2.0並且沒有任何問題。必須是該版本的錯誤。