help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help in leasqr


From: Doug Stewart
Subject: Re: Help in leasqr
Date: Fri, 26 Aug 2016 10:32:15 -0400



On Fri, Aug 26, 2016 at 6:17 AM, Bharath R <address@hidden> wrote:
Hello all, 

Thank you very much for such a helpful forum. I am using Octave for the past couple of days. I have been working to get the parameters that best fit my function. 

Function:   g=@(x,p) [(p(1).*p(2).*x(:,1)+(p(3).*x(:,2))+(p(4)*p(5)))./((p(1)*p(2))+p(3))]

where p indicates the parameters , x indicates the independent variables and y is measured variable.
[pin]=1.0000e-002
      1.0000e+003
      1.0000e+002
      1.0000e-002
      1.0000e+003

[x]=21.33700    0.80000
     21.28800    0.10000
     20.55900   -0.80000
     21.21800   -1.40000
     20.68600   -1.70000

[y] = 19.545
       19.300
       19.300
       19.137
       19.000

When I run this function ([f, p, cvg, iter]=leasqr(x,y,pin,g)) with leasqr function it gives me the following result:

 CONVERGENCE NOT ACHIEVED!
f =

   19.710
   19.578
   18.827
   19.326
   18.824

p =

  1.6953e-001
  1.6258e+003
  4.0087e+001
  7.8664e-002
  3.9346e+003

cvg = 0
iter =  20

I would like to know what does "f" in result give as output. Is it giving me the output of function "g" after implementing the newly calculated parameters or is it something else? If it is the output of g, then I feel it is relatively closer to the measured data (y). yet it is showing " CONVERGENCE NOT ACHIEVED!". 

Also , I would like to know how do I implement a differential equation in leasqr to calculate the parameters. I look forward to your answer. 

Thanks and regards,
Bharathy





I tried your data and see what you said.

I then set pin to the resultant p and ran it 2 more times and got it to converge whit this result

f =

   19.703
   19.577
   18.828
   19.339
   18.834

p =

   4.0188e-02
   5.8681e+03
   3.1513e+01
   3.2001e-02
   6.5753e+03

cvg = 1
iter =  1

So you are on the correct  path, just use the result of one run for a better starting point for the next run.
HTH



--
DAS


reply via email to

[Prev in Thread] Current Thread [Next in Thread]