running function in the command line

2 visualizaciones (últimos 30 días)
ARUN BORGOHAIN
ARUN BORGOHAIN el 17 de Jun. de 2017
Editada: ARUN BORGOHAIN el 20 de Jun. de 2017
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 comentarios
dpb
dpb el 17 de Jun. de 2017
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 el 18 de Jun. de 2017
Editada: ARUN BORGOHAIN el 20 de Jun. de 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.

Iniciar sesión para comentar.

Respuesta aceptada

Walter Roberson
Walter Roberson el 18 de Jun. de 2017
[x,resnorm] = lsqnonlin( fun, x0, [], [], options );
Parameters are positional. options must appear in the 5th parameter.

Más respuestas (0)

Categorías

Más información sobre Get Started with Optimization Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by