Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.

1 回表示 (過去 30 日間)
Hello, I get the following error when trying to use fsolve:
Error in fsolve (line 218)
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
It also prints the following error: Index exceeds matrix dimensions.
Can anyone see where is the error in that situation?
I call the fsolve with that line of code:
sol=fsolve(@set,[1;-1])
The function is the following:
function F=set(x)
Vcc=15;
Rth=(100/3)*10^3;
Re=10*10^3;
Rc=20*10^3;
beta_f=100;
beta_R=1;
Is=5*10^(-16);
Vt=0.025;
Voc=10;
F=[x(1)-(-Rth-Re(beta_f+1))*(Is/beta_f)*(exp(x(1)/Vt)-1)-(-Rth+beta_R*Re)*(Is/beta_f)*(exp(x(2)/Vt)-1)+Voc;
x(2)-(-Rth+Rc*beta_f)*(Is/beta_f)*(exp(x(1)/Vt)-1)-(-Rth-Rc*(beta_R+1))*(Is/beta_f)*(exp(x(2)/Vt)-1)-Vcc+Voc];
end

採用された回答

madhan ravi
madhan ravi 2019 年 4 月 15 日
編集済み: madhan ravi 2019 年 4 月 15 日
Note: Don't name your function set() will shadow the in-built function set().
sol=fsolve(@set1,[1,-1])
function F=set1(x)
Vcc=15;
Rth=(100/3)*10^3;
Re=10*10^3;
Rc=20*10^3;
beta_f=100;
beta_R=1;
Is=5*10^(-16);
Vt=0.025;
Voc=10;
F=[x(1)-(-Rth-Re*(beta_f+1))*(Is/beta_f)*(exp(x(1)/Vt)-1)-(-Rth+beta_R*Re)*(Is/beta_f)*(exp(x(2)/Vt)-1)+Voc;
% ^----- missed it
x(2)-(-Rth+Rc*beta_f)*(Is/beta_f)*(exp(x(1)/Vt)-1)-(-Rth-Rc*(beta_R+1))*(Is/beta_f)*(exp(x(2)/Vt)-1)-Vcc+Voc];
end
Gives:
Equation solved.
fsolve completed because the vector of function values is near zero
as measured by the default value of the function tolerance, and
the problem appears regular as measured by the gradient.
<stopping criteria details>
sol =
-11.3516
0.7520
>>
  2 件のコメント
Marios Karatiso
Marios Karatiso 2019 年 4 月 15 日
Sorry the 1 in @set1 was a typo.
Marios Karatiso
Marios Karatiso 2019 年 4 月 15 日
Oh that was such a bad mistake thanks a lot...

サインインしてコメントする。

その他の回答 (0 件)

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by