How do I input a time dependent variable from one function to fsolve function equations?

3 Ansichten (letzte 30 Tage)
function F = A_U_G(x)
a = 2360000000;
b = 1610000000;
c = 700000;
d = 4640000000;
F(1) = x(1) - (u/b) + (b*x(2)); % qAmm
F(2) = x(2) - ((u/c)*(c/(c + d))); % qUrd
F(3) = x(3) - (u/Yd) - (x(1)*t); % qGln
end
Above is the fsolve function
x0 = [0,0,0];
x = fsolve('A_U_G',x0);
qA = x(1);
qU = x(2);
qG = x(3);
Above is the call
Now in the same function where call is made for fsolve function lies variable u, t that changes with time after each iteration.
And I want them to also change their values in function F. So, what changes need to be done?

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 3 Jun. 2021
u = randn();
x0 = [0,0,0];
x = fsolve( @(x) A_U_G(x,u), x0);
Unrecognized function or variable 'Yd'.

Error in solution>A_U_G (line 16)
F(3) = x(3) - (u/Yd) - (x(1)*t); % qGln

Error in solution (line 4)
x = fsolve( @(x) A_U_G(x,u), x0);

Error in fsolve (line 260)
fuser = feval(funfcn{3},x,varargin{:});

Caused by:
Failure in initial objective function evaluation. FSOLVE cannot continue.
qA = x(1);
qU = x(2);
qG = x(3);
function F = A_U_G(x, u)
a = 2360000000;
b = 1610000000;
c = 700000;
d = 4640000000;
F(1) = x(1) - (u/b) + (b*x(2)); % qAmm
F(2) = x(2) - ((u/c)*(c/(c + d))); % qUrd
F(3) = x(3) - (u/Yd) - (x(1)*t); % qGln
end

Weitere Antworten (0)

Kategorien

Mehr zu Systems of Nonlinear Equations finden Sie in Help Center und File Exchange

Produkte


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by