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

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 2017년 6월 18일
편집: ARUN BORGOHAIN 2017년 6월 20일
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.

댓글을 달려면 로그인하십시오.

 채택된 답변

Walter Roberson
Walter Roberson 2017년 6월 18일

0 개 추천

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

추가 답변 (0개)

질문:

2017년 6월 17일

편집:

2017년 6월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by