It looks like you're new here. If you want to get involved, click one of these buttons!

- 141.5K All Categories
- 104.7K Programming Languages
- 6.4K Assembler Developer
- 1.9K Basic
- 39.8K C and C++
- 4.3K C#
- 7.9K Delphi and Kylix
- 4 Haskell
- 9.6K Java
- 4.1K Pascal
- 1.3K Perl
- 2K PHP
- 518 Python
- 37 Ruby
- 4.3K VB.NET
- 1.6K VBA
- 20.8K Visual Basic
- 2.6K Game programming
- 312 Console programming
- 89 DirectX Game dev
- 1 Minecraft
- 110 Newbie Game Programmers
- 2 Oculus Rift
- 8.9K Applications
- 1.8K Computer Graphics
- 730 Computer Hardware
- 3.4K Database & SQL
- 522 Electronics development
- 1.6K Matlab
- 628 Sound & Music
- 257 XML Development
- 3.3K Classifieds
- 196 Co-operative Projects
- 185 For sale
- 189 FreeLance Software City
- 1.9K Jobs Available
- 600 Jobs Wanted
- 201 Wanted
- 2.9K Microsoft .NET
- 1.7K ASP.NET
- 1.1K .NET General
- 3.3K Miscellaneous
- 4 Join the Team
- 0 User Profiles
- 353 Comments on this site
- 59 Computer Emulators
- 2.1K General programming
- 182 New programming languages
- 604 Off topic board
- 170 Mobile & Wireless
- 44 Android
- 124 Palm Pilot
- 335 Multimedia
- 151 Demo programming
- 184 MP3 programming
- 0 Bash scripts
- 19 Cloud Computing
- 53 FreeBSD
- 1.7K LINUX programming
- 367 MS-DOS
- 0 Shell scripting
- 320 Windows CE & Pocket PC
- 4.1K Windows programming
- 895 Software Development
- 408 Algorithms
- 68 Object Orientation
- 89 Project Management
- 90 Quality & Testing
- 239 Security
- 7.6K WEB-Development
- 1.8K Active Server Pages
- 61 AJAX
- 2 Bootstrap Themes
- 55 CGI Development
- 19 ColdFusion
- 222 Flash development
- 1.4K HTML & WEB-Design
- 1.4K Internet Development
- 2.2K JavaScript
- 34 JQuery
- 284 WEB Servers
- 151 WEB-Services / SOAP

coolpursuit
Posts: **1**Member

in Matlab

I'm College student, and now studying Matlab.

I saw a verification problem. problem is following...

EXAMPLE

Let x(n) be a random sequence uniformly distributed between [0,1] over 0> x = rand(1,11); n=0:10;

>> k = 0:500; w = (pi/500)*k;

>> X = x * (exp(-j*pi/500)).^(n'*k); % DTFT of x

>>

>> y = x; m = n+2;

>> Y = y * (exp(-j*pi/500)).^(m'*k); % DTFT of y

>>

>> % verification

>> Y_check = (exp(-j*2).^w).*X;

>> error = max(abs(Y-Y_check)); % difference

error =

5.77e-015

My question is that,

1) What is the reason that error is NOT zero?

error is very very marginal value, but I think, that error must be zero in digital calculation(like MATLAB)

Could you tell me the reason?

2) and, if there is way that error be zero, Could you teach me about that?

Before that EXAMPLE, I think that all digital calculation has same result.

for example, 1 + 2 + 3 = 6

Anytime, and by any computer, 1 + 2 + 3 = 6.

I really really want to know about that.

Please someone answer my question...

I saw a verification problem. problem is following...

EXAMPLE

Let x(n) be a random sequence uniformly distributed between [0,1] over 0> x = rand(1,11); n=0:10;

>> k = 0:500; w = (pi/500)*k;

>> X = x * (exp(-j*pi/500)).^(n'*k); % DTFT of x

>>

>> y = x; m = n+2;

>> Y = y * (exp(-j*pi/500)).^(m'*k); % DTFT of y

>>

>> % verification

>> Y_check = (exp(-j*2).^w).*X;

>> error = max(abs(Y-Y_check)); % difference

error =

5.77e-015

My question is that,

1) What is the reason that error is NOT zero?

error is very very marginal value, but I think, that error must be zero in digital calculation(like MATLAB)

Could you tell me the reason?

2) and, if there is way that error be zero, Could you teach me about that?

Before that EXAMPLE, I think that all digital calculation has same result.

for example, 1 + 2 + 3 = 6

Anytime, and by any computer, 1 + 2 + 3 = 6.

I really really want to know about that.

Please someone answer my question...

Terms of use / Privacy statement / Publisher: Lars Hagelin

Programmers Heaven articles / Programmers Heaven files / Programmers Heaven uploaded content / Programmers Heaven C Sharp ebook / Operated by CommunityHeaven LLC

© 1997-2015 Programmersheaven.com - All rights reserved.

## Comments

41MemberThey are working with a limited number of bits and bytes, and that

creates a problem...

You're not working with continuous values but with discrete ones, and

you'll loose the information in between those discrete values.

For example, calculate this simple operation, manually and with Matlab

3*(4/3 - 1) - 1

What did you expect?