solve nonlinear equations

2 visualizzazioni (ultimi 30 giorni)
john birt
john birt il 14 Mar 2011
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?

Risposte (1)

Andrew Newell
Andrew Newell il 14 Mar 2011
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.

Community Treasure Hunt

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

Start Hunting!

Translated by