solve nonlinear equations

2 次查看(过去 30 天)
john birt
john birt 2011-3-14
Im trying to solve 5 nonlinear equations with 5 unknowns, but im getting an error?
x0 = [-0.0018; 2.8914; 30.6782; 35.3729; 0.2481]; % Make a starting guess at the solution
options=optimset('Display','iter'); % Option to display output
[x,fval] = fsolve(@moments,x0,options) % Call solver
??? Error using ==> vertcat
CAT arguments dimensions are not consistent.
Error in ==> moments at 2
F = [2*x(4)*x(2)*x(5)*(x(3)^((x(5)-1)/x(5))) + x(1) + 0.000216678;
Error in ==> fsolve at 254
fuser = feval(funfcn{3},x,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. FSOLVE cannot continue.
What is the error in moments.m at line 2? what did i do wrong?

回答(1 个)

Andrew Newell
Andrew Newell 2011-3-14
The problem may be in the following line. Make sure it is just a scalar. To give an example,
F = [2*x(4)*x(2)*x(5)*(x(3)^((x(5)-1)/x(5))) + x(1) + 0.000216678;
x(1)];
will not trigger a vertcat error, but
F = [2*x(4)*x(2)*x(5)*(x(3)^((x(5)-1)/x(5))) + x(1) + 0.000216678;
x(1:2)];
will.

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by