Errors in solving nonlinear simultaneous equations

3 vues (au cours des 30 derniers jours)
Amit Kumar
Amit Kumar le 31 Juil 2013
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?

Réponse acceptée

Sven
Sven le 31 Juil 2013
Modifié(e) : Sven le 31 Juil 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?
  1 commentaire
Amit Kumar
Amit Kumar le 1 Août 2013
Modifié(e) : Amit Kumar le 1 Août 2013
indeed helpful reply! thanks a lot!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by