2014-12-02 74 views
0

本質上我想讓fminsearch運行在各種參數上。Matlab在for循環中運行參數化的fminsearch?

所以我有代碼運行的以下snipet:

%Setting up the changeable WIRX parameters: 
L = 0.15; %Length along the electrodes in meters 
I = 3000; %Current in amps 

%Running the fminsearch: 
TeNe = fminsearch(@(params) TeNe(params,L,I),[5,1.5e21],optimset('MaxFunEvals', 100000,'MaxIter', 100000)); 

我想要做的是能在同值的L和I的陣列上運行for循環但是後來我發現是,我甚至無法連續運行這段代碼連續兩次得到錯誤:

Subscript indices must either be real positive integers or logicals. 

任何有識之士將不勝感激!

回答

0

我假設TeNe是一個函數,你可以通過以下輸入調用:(params,L,I)
但是,fminsearch的輸出也指定爲TeNe
這就是爲什麼在第一次循環迭代之後,您會看到您看到的錯誤。 L已被設置爲0.15,但是,這對於名爲TeNe的數組的索引沒有任何意義 - 在運行fminsearch之後最終會使用該索引。
考慮更改輸出變量的名稱。