Path: news.mathworks.com!newsfeed-00.mathworks.com!newscon02.news.prodigy.net!prodigy.net!border1.nntp.dca.giganews.com!nntp.giganews.com!postnews.google.com!news4.google.com!out01a.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!in03.usenetserver.com!news.usenetserver.com!hwmnpeer01.phx!news.highwinds-media.com!hw-filter.phx!newsfe12.phx.POSTED!53ab2750!not-for-mail
From: "Nasser Abbasi" <nma@12000.org>
Newsgroups: comp.soft-sys.matlab
References: <8220611.1195636303283.JavaMail.jakarta@nitrogen.mathforum.org>
Subject: Re: What happened to so simple Matlab code?
Lines: 38
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2900.3138
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198
X-RFC2646: Format=Flowed; Original
Message-ID: <RAF1j.26885$aN3.11505@newsfe12.phx>
NNTP-Posting-Host: 68.5.204.143
X-Complaints-To: admin@cox.net
X-Trace: newsfe12.phx 1195845041 68.5.204.143 (Fri, 23 Nov 2007 12:10:41 MST)
NNTP-Posting-Date: Fri, 23 Nov 2007 12:10:41 MST
Organization: Cox
Date: Fri, 23 Nov 2007 11:10:38 -0800
Bytes: 1864
Xref: news.mathworks.com comp.soft-sys.matlab:439085




"crammer008" <luochao2000@hotmail.com> wrote in message 
news:8220611.1195636303283.JavaMail.jakarta@nitrogen.mathforum.org...
> Dear all, I have the following code and the corresponding results:
> +++++++++++++++++++++++++++++++
>>> aa = 0.005:0.01:0.025
> aa =
>    0.0050    0.0150    0.0250
>>> daa = diff(aa)
> daa =
>    0.0100    0.0100
>>> daa(1)-daa(2)
> ans =
>  1.7347e-018
> ++++++++++++++++++++++++++++++++++
> Obviously, we should have daa(1)-daa(2) = 0. Who can tell me why Matlab 
> can not give the correct result? Thanks!


use VPA on the diff, then you will get your zero:

EDU>> aa = 0.005:0.01:0.025

aa =

    0.0050    0.0150    0.0250

EDU>> daa = vpa(diff(aa));
EDU>> double(daa(1)-daa(2))

ans =

     0

Nasser