Errors in solving nonlinear simultaneous equations

1 view (last 30 days)
Hello all, I'm trying to solve nonlinear simultaneous equations. However, Matlab is giving errors, which I cannot rectify. Any help is much appreciated.
I made a function file:
function [ f ] = nlsimul( x)
%nlsimul has two nonlinear simultaneous equations in variable x(1), x(2)
f = [-2*(x(1).^2).*exp(-x(1).^2-(x(2).^2))+exp(-x(1).^2-(x(2).^2)); ...
-2.*x(1).*x(2)*exp(-x(1).^2-(x(2).^2))];
end
Then I made a script file to solve this system of equations:
%This script calles nlsimul() to solve nonlinear simultaneous equations
options = optimoptions('fsolve','Diagnostics','on','Display','iter','PlotFcns','@optimplotresnorm');
x0=[2,2];
[x,fval,exitflag,output] = fsolve(@nlsimul,x0,options)
Upon running this script file, Matlab gives several errors. Can someone help?

Accepted Answer

Sven
Sven on 31 Jul 2013
Edited: Sven on 31 Jul 2013
You can't plot a simultaneous equation during iterations in that way.
If you instead put:
options = optimoptions('fsolve','Diagnostics','on','Display','iter');
Then your optimisation runs perfectly.
If you instead put (note the function handle rather than string):
options = optimoptions('fsolve','Diagnostics','on','Display','iter','PlotFcns',@optimplotresnorm);
Then it solves fine as well... it's too quick to see anything plotted though...
Did that help you out?

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!