I am interested to run optimization (lsqnonlin) in the command line itself without calling or creating a ☆.m file!
clc; clear all
k = 1:10;
fun =@(x) ( 2 + 2*k-exp(k*x(1))-exp(k*x(2)) );
% Next, invoke an optimization routine.
x0 = [0.3 0.4] % Starting guess
[x,resnorm] = lsqnonlin ( fun, x0 );

2 Kommentare

What's the question? Works here...
>> [x,resnorm]=lsqnonlin(fun,x0)
Local minimum possible.
lsqnonlin stopped because the size of the current step is less than
the default value of the step size tolerance.
<stopping criteria details>
x =
0.2578 0.2578
resnorm =
124.3622
>>
which is same result as the example using the function m-file in the doc.
ARUN BORGOHAIN
ARUN BORGOHAIN am 18 Jun. 2017
Bearbeitet: ARUN BORGOHAIN am 20 Jun. 2017
How to add options is my problem (sorry left that part in pasting)!
options = optimset('Display','iter','TolX',1e-3);
[x,resnorm] = lsqnonlin ( fun, options, x0 );
%Error using lsqnonlin (line 181);LSQNONLIN only % accepts inputs of data type double.

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 18 Jun. 2017

0 Stimmen

[x,resnorm] = lsqnonlin( fun, x0, [], [], options );
Parameters are positional. options must appear in the 5th parameter.

Weitere Antworten (0)

Kategorien

Mehr zu Optimization Toolbox finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by