Path: news.mathworks.com!not-for-mail
From: "George Papazafeiropoulos" <gpapazafeiropoulos@yahoo.gr>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Convergence of iterative procedure
Date: Fri, 29 Apr 2011 05:35:19 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 46
Message-ID: <ipdimn$4pc$1@fred.mathworks.com>
References: <ipb71k$o99$1@fred.mathworks.com> <d01e02ec-e1d4-4059-948f-789ab4bca203@s9g2000yqm.googlegroups.com>
Reply-To: "George Papazafeiropoulos" <gpapazafeiropoulos@yahoo.gr>
NNTP-Posting-Host: www-04-blr.mathworks.com
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1304055319 4908 172.30.248.35 (29 Apr 2011 05:35:19 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Fri, 29 Apr 2011 05:35:19 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 2438703
Xref: news.mathworks.com comp.soft-sys.matlab:724387

Dear Mr Torsten,

Thank you very much for your reply. I tried the fsolve command and I managed to solve the problem.

Best regards,

George

Torsten <Torsten.Hennig@umsicht.fraunhofer.de> wrote in message <d01e02ec-e1d4-4059-948f-789ab4bca203@s9g2000yqm.googlegroups.com>...
> On 28 Apr., 10:04, "George Papazafeiropoulos"
> <gpapazafeiropou...@yahoo.gr> wrote:
> > Hello to everyone,
> >
> > I am dealing with an iterative procedure in which an initial estimate of a vector {c}0 is given, and at the end of the process an updated vector {c} is calculated. This is used as the initial estimate for the next loop and a more updated {c} is obtained, and this goes on until the difference of the updated {c} from the penult {c} is lower than a specified number, in which case the iterative procedure stops.
> >
> > However, in certain cases the above procedure does not converge; the estimates of {c} seem to "oscillate" around a value, and this oscillation does not always happen every two estimates, but I have observed that it could happen also every 3-6 estimates. Furthermore, the elements of {c} take extreme values in some cases, and in the next iteration they come back to acceptable values. What could I do to force these oscillations to stop and avoid the appearance of extreme values?
> >
> > I write here an indicative example of the m. file which I run:
> >
> > c=ones(2,1);
> > for i=1:Nt
> > uL=2*sum(c);
> > K=[uL^2,sqrt(uL);uL, 1/uL];
> > D=[sin(uL);cos(uL)];
> > d=c-K\D;
> > if d<ones(2,1)*0.0001
> > break
> > end
> > c=K\D;
> > end
> > c
> >
> > I would appreciate any of your help. If anyone knows something about such procedures he is kindly requested to give me some hints or suggest some links for further information.
> > Thank you very much in advance.
> 
> What makes you believe that a general iteration of the form
> K(x_i)*x_(i+1)=D(x_i)
> should always converge ?
> It's simply not the case.
> Use MATLAB's fsolve to solve the system of equations
> K(x)*x - D(x) = 0
> 
> Best wishes
> Torsten.
> 
>