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

조회 수: 9 (최근 30일)
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?

채택된 답변

Walter Roberson
Walter Roberson 2021년 6월 3일
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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Nonlinear Dynamics에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by