Path: news.mathworks.com!newsfeed-00.mathworks.com!newsfeed2.dallas1.level3.net!news.level3.com!postnews.google.com!s9g2000yqm.googlegroups.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Convergence of iterative procedure
Date: Thu, 28 Apr 2011 03:08:55 -0700 (PDT)
Organization: http://groups.google.com
Lines: 51
Message-ID: <d01e02ec-e1d4-4059-948f-789ab4bca203@s9g2000yqm.googlegroups.com>
References: <ipb71k$o99$1@fred.mathworks.com>
NNTP-Posting-Host: 192.102.151.35
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
X-Trace: posting.google.com 1303985335 25544 127.0.0.1 (28 Apr 2011 10:08:55 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Thu, 28 Apr 2011 10:08:55 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: s9g2000yqm.googlegroups.com; posting-host=192.102.151.35; posting-account=X3eThQoAAACh5vOSip_rNRzKAq7k0jPW
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1;
 Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR
 3.0.04506.648; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E),gzip(gfe)
Xref: news.mathworks.com comp.soft-sys.matlab:724248

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.