2014-12-02 43 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之后最终会使用该索引。
考虑更改输出变量的名称。