lect02 variables operations

73
Lecture 2 - Variables, Operations

Upload: matthew-cole

Post on 18-Jul-2016

244 views

Category:

Documents


1 download

DESCRIPTION

variable operations

TRANSCRIPT

Page 1: Lect02 Variables Operations

����������� �������� ��������� �

������������ ������� � � �� ��

Lecture 2 - Variables, Operations

Page 2: Lect02 Variables Operations

� �����

• � ����������� ����� ������� ��������������� ��� �

• !���� �"���!�����!�� ������#�������$

• ���������� ����������� � %���&���!���������

• �������������' ��� ��� �������(��� ��)�������#������• �������������' ��� ��� �������(��� ��)�������#������

!������������ ��$

• *� %�+ ��� � ����" !���� %���&��(��� ��� �

Page 3: Lect02 Variables Operations

��� �����

• � ����������' ��,��������� "����!����������!�� ����

�-

• �(����������������� � ����� "������!������&�

• .����(��!�� ������ �������/������������� ���• .����(��!�� ������ �������/������������� ���

Page 4: Lect02 Variables Operations

[ ] [ ]

���

���

=

==

011001-

1.35.1 5.3

C

BA

���

����

=

20001-1011

C

Page 5: Lect02 Variables Operations

������������������� ��� ���

• � ������������!�� ���������*� ��� ���+

• � ��� � #� �×××× �$� �������&���� ����������"��� ����' ��

#� $���������� ���#�$

• ������1�5�×××× 5�� ��� �

• 2�' �������1�5�×××× ��� ��� �

6���� ��������1�� �×××× 5�� ��� �• 6���� ��������1�� �×××× 5�� ��� �

[ ] [ ]

���

���

−−−−

−=

���

���

−==

−==

22.715.05.92.3425231

21.73.2

02.5'

21.73.202.5 27.5

DBC

BA

Page 6: Lect02 Variables Operations

• ����(������������������������#�* ���������������* ���������������������+�������,�

• %���������������������������- ��� �* ���������������#�������,./#01+��&'�&2�����������#�������,./#01+��&'�&2

• (�����������������������* ���������������#���������������������������(�����������!�����+������,����������32�!������

Page 7: Lect02 Variables Operations

>> pians =

3.1416

>> size(pi)ans =

1 1

>> a=[1 2 3; 4 5 6]a =

1 2 3 4 5 6

>> size(a)ans =1 1 ans =

2 3

14163.pi ====��������

������������

����====

654321

a

Page 8: Lect02 Variables Operations

» x=3+5-0.2x =

7.8000» y=3*x^2+5y =187.5200

» z=x*sqrt(y)z =106.8116

» A=[1 2 3; 4 5 6]A =

» who

Your variables are:

A b y C x z

» whosName Size Bytes Class

MATLAB Example

A =1 2 34 5 6

» b=[3;2;5]b =

325

» C=A*bC =

2252

A 2x3 48 double arrayC 2x1 16 double arrayb 3x1 24 double arrayx 1x1 8 double arrayy 1x1 8 double arrayz 1x1 8 double array

» save

Saving to: matlab.mat

» save matrix1

default filename

Filename “matrix1”

Page 9: Lect02 Variables Operations

6 ��(���' ��������� �������������������� ��

• Long rows can be continued on the next line through the use • Long rows can be continued on the next line through the use of a comma and three periods (an ellipsis)

Page 10: Lect02 Variables Operations

•Elements of a matrix can be changed individually by referring to a specific location

If S = [5,6,4]we can change the second element of S from 6 to 8 by issuing the command S(2) = 8

•We can define a matrix using previously defined matrices. •We can define a matrix using previously defined matrices. For example, if S=[5,6,4], we can do the following

S

Page 11: Lect02 Variables Operations

� ��� ��6��������� ��

[[[[ ]]]] [[[[ ]]]] 497y ; 321x ========

[[[[ ]]]] [[[[ ]]]] 497321yxz ========

[[[[ ]]]] [[[[ 321y ;x u ========

[[[[ ]]]] [[[[]]]] 321497

497321 xy ;y xv ========

[[[[ ]]]] [[[[]]]] 497

321y ;x u ========

Page 12: Lect02 Variables Operations

6������ �������• �����������������������!������* ��(������������(����������"���* �

����������7����������#������������������������������������������!�������(�������������� ����������������������������������(�����������������(��������(������������#�����������������������������������* �����������

C = [-1,0,0; 1,1,0; 1,-1,0; 0,0,2]

x = C (:,1); % stores the first column of C in the column vector x.

y = C (:,2); % stores the second column of C in the column vector y.

z = C (:,3); % stores the third column of C in the column vector z.

Page 13: Lect02 Variables Operations

6������ �������

• 6���� �"���' �� ��� ����&��� ������ �� �"�� ��� �

C = [1,2,5; -1,0,1; 3,2,-1; 0,1,4]

F = C(:, 2:3) = [2,5; 0,1; 2,-1; 1,4]

����������������

����

����

����������������

����

����

−−−−====

����������������

����

����

����������������

����

����

−−−−−−−−

====

41121052

F

410123101521

C

Page 14: Lect02 Variables Operations

6������ �������• 6���� �"���' �� ��� ����&��� ������ �� �"�� ��� �

�������� 521

C = [1,2,5; -1,0,1; 3,2,-1; 0,1,4]

E = C(2:3,:) = [-1 0 1; 3 2 -1]

��������

������������

����

−−−−−−−−

====

����������������

����

����

����������������

����

����

−−−−−−−−

====123101

E

410123101521

C

Page 15: Lect02 Variables Operations

6������ �������

• 6���� �"���' �� ��� ����&��� ������ �� �"�� ��� �

�������� 521

C = [1,2,5; -1,0,1; 3,2,-1; 0,1,4]

G = C(3:4,1:2) = [3,2; 0,1]

��������

������������

����====

����������������

����

����

����������������

����

����

−−−−−−−−

====1023

G

410123101521

C

Page 16: Lect02 Variables Operations

�(�������

• ����������������������������"�����!����������������

�������#��!������������������������������������

�����������������������������

�-�517

������������������������������

��-�85179

����������������* �������

Page 17: Lect02 Variables Operations

The default increment is 1, but if you want to use a different increment put it between the first and final values

Page 18: Lect02 Variables Operations

6������ �������

• ��� ����:��� ��-��1����1�

� � ��-��;�1�;71<;7

� � ��-�8�;����;7��5;���5;7��<;���<;79

• =�"�� !�� ����� ���• =�"�� !�� ����� ���

!������-�5�151<

!������-�85���>��?��@��A��7��B����<9

Page 19: Lect02 Variables Operations

� �������)���� ��

• � ������#�5���<$" !���5����!���,��������!���������' �����5������<

��-�� ������#�5��<$

• � ������#�����$"�����������/����,���������� ����

���' ������������

��-�� ������#�����$

» linspace(0,2,11)

ans =

Columns 1 through 7

0 0.2000 0.4000 0.6000 0.8000 1.0000 1.2000

Columns 8 through 11

1.4000 1.6000 1.8000 2.0000

Page 20: Lect02 Variables Operations

��"������)���� ��

• ��"�����#�����$��"�������������"�� �(� ����,��/����,����������' �!�����

��-���"�����#�����$

• ��"�����#���$�"���������7����"�� �(� ����,��/����,�

��������� ���

��-���"�����#���$��-���"�����#���$

» logspace(-4,2,7)

ans =

0.0001 0.0010 0.0100 0.1000 1.0000 10.0000 100.0000

Page 21: Lect02 Variables Operations

• ����� - �����������������* ��������������������������

��������#���"�

''��89:

��8

Note that an empty matrix is different from a matrix that contains only zeros.

��8

9:

Page 22: Lect02 Variables Operations

���� ��������������� ��� ���

• ���������(��������#�- ��� �������* ������!����������(�����!�����������������"���������

; �����������������- ��� �(������"����������������#���"�#

<���

����8�/�303=

; �#�>����������������!����

; �(��������- ��� ����������(�����(�����#�����#�3�?

; @����������- ��� ����������������(������������ �+

�(��������������(���?�?����������

Page 23: Lect02 Variables Operations

; �������������������������������#���"�#

<������

����8

3�?�A??/�B

3�CCD?�?�??E?�?�?2D?�?�?2/?�?�?3=?�?�?F?E

; �����������������������������������"�(�����

''�����

����8����8

3F&%��&2??D

; ��������������������(������"&����������������* ������* �

��������������((��#���"�#

<����

����8�2�22?0�&?3=

Page 24: Lect02 Variables Operations

���� ���� ��� ���

��������

��������====����

��������

������������

====

������������

����

����

������������

����

����

====������������

����

����

������������

����

����

====

1111ones(2,4) 111

111)3(ones

000000

zeros(3,2) 100010001

)3(eye

��������

��������

====������������

����������������

����

====1111

ones(2,4) 111111)3(ones

C= [1 2 3; 4 2 5]; D = eye(size(C));

>> D = eye(size(C))

D =

1 0 00 1 0

Page 25: Lect02 Variables Operations

• %�������(������������

zeros(n) Returns a n X n matrix of zeros zeros(m,n) Returns a m X n matrix of zeros

ones(n) Returns a n X n matrix of onesones(m,n) Returns a m X n matrix of onesones(m,n) Returns a m X n matrix of ones

size(A)For a m X n matrix A, returns the row vector [m,n] containing the number of rows and columns in matrix

length(A) Returns the larger of the number of rows or columns in A

Page 26: Lect02 Variables Operations

.����3����6����!�������(�����������������������������������"�������������������"�����

�������������#�* ��������������������������"����������* �����(�����������������

!���������������������������!�������������(�����(���������������!��������������

�������������������#�����������������������������������

Page 27: Lect02 Variables Operations

=�� ����0 ����,

• %������(���@�������

– ������"����������������������������������������������#����

���G����* �������������* ����������������!�������"�����!����

��������������

– ��- ��� #�!����������������(��������������������"������– ��- ��� #�!����������������(��������������������"������

* ������������* �������������������������������������

.H����������������������������������������������1�

Page 28: Lect02 Variables Operations

It is important to omit blanks between the decimal number and the exponent. For example, MATLAB will interpret

6.022 e23as two values (6.022 and 1023 )

Page 29: Lect02 Variables Operations

0 ����,�)��� ��

• - ����������������(������������!�������

• @���������* ������������(����������������#�- ��� �

����������������������(������"����������������������

�������������

• - ��� ������������������"������������������������• - ��� ������������������"������������������������

���(������"��������������

Page 30: Lect02 Variables Operations

File -> Preferences

Page 31: Lect02 Variables Operations

Changing the data format

>> value = 12.345678901234567;format short → 12.3457format long → 12.34567890123457format short e → 1.2346e+001format long e → 1.234567890123457e+001format long e → 1.234567890123457e+001format short g → 12.346format long g → 12.3456789012346format rat → 1000/81

Page 32: Lect02 Variables Operations

���������������.1��������������������������������������

����������(���������

>> disp('A Text String to Display.')A Text String to Display.>> M = [1, 2; 3, 4];>> disp(M)

1 23 4

A fully customizable way of printing both text and matrices is the fprintf() command

fprintf(format_string,matrices)

Page 33: Lect02 Variables Operations

���(�����������"�������������������* �������������������"�

* ������� ���� ����� #�J �#�J (#�����J "#�* ����������(�����(�

��* ��������������������!��!��������������������������

; J �#�J (#����J " ������������������#�(����������#����"�����

.�������J (����J ��* ������!�������������1

; K��������- ��� ��������������* �����; K��������- ��� ��������������* �����''�(�����(.LM����#�* ����!����8�J (��������8�J =�0(��K�L#���

�#��1

M����#�* ����!����8�20�F=D???��������8�/�303=��

''�(�����(.LM����#�* ����!����8�J (��������8�J 32�0(��K�L#�#��1

M����#�* ����!����8�20�F=D???��������8�������/�303=��

''�(�����(.LM����#�* ����!����8�J (��������8�J 32�=(��K�L#�#��1

M����#�* ����!����8�20�F=D???��������8�����/�303FC/��

''�(�����(.LM����#�* ����!����8�J (��������8�J 3?�=(��K�L#�#��1

M����#�* ����!����8�20�F=D???��������8���/�303FC/��

Page 34: Lect02 Variables Operations

�����)���������* �����

• =������������� ����������������������������������������

����N��+

• =��������"�������9

O������ "����������������� �+O������ "����������������� �+

O�=������������������"���������������"���� +

• )����������"���"�������9

O� ��� "�������"��������������

O�"�����""�������"��"������ ������+

Page 35: Lect02 Variables Operations

�#����� ��������� ��

• �����������������#��������3 �-� ��3 # �#������������

�� ���������#���������3 �#��#��@��� ���$'A������ ���

$��� ���9�/� ����� ������% �����0'&

• �# ������� �����4�����������% ������������� ����#��• �# ������� �����4�����������% ������������� ����#��

���% ��� ��� ������� ���.������3 ���"-���� �������������

���"���� ����& �% "������3 �# ���#�����% ������ ���

����@����������% % ����A�3 # �#���������3 #��������

#�3 ��#����������������"��3 � ����&

Page 36: Lect02 Variables Operations

•)������������������!������"������������������� �����

������� ��� � ������� +�)������������������!���� ������ ������������������+

•=������������������������ �������� �"������ "������������� �+�)���"�����!����� �������������� ���������� ��+

��������������������

•F ��"���������������!

•F �"������������"�������������������!���"���� •F �"������������"�������������������!���"����

•F "�"����������"�����!�����������

•F ��"����������"�����!����������������������"���������

•F !�"�����������������������"���"��������F "���F �

•C�������������������������������!•C���������������������������!

Page 37: Lect02 Variables Operations

���% ����)�������� �F !��������������!������������������,�F "���������"��� ������������,�F ��� �����������!��,��� ��F ���������!+ ���������������������������������������BF ���� ������������������������"��� ��� ����� �������������"� �!�����"�������� �����������+ 1������������>����� 9

• "�����"�PF G!P,?Q ���?Q

• "�����"�PF ?Q+@"P,?JI+@GA ��?JI+@GA�• "�����"�PF ?Q+@"P,?JI+@GA ��?JI+@GA�

• "�����"�PF ?Q�P,�P"�� P ������"��

������������������������������!�"������������ ���������������

B������ ��"������9

• ����>������P5�������������9�P #

• ����>������P5�������������9�P,�P�P #

Page 38: Lect02 Variables Operations

��� ���$�'����������

temp = 98.6;

fprintf(‘The temperature is %8.1f degrees F.\n’, temp);

The temperature is 98.6 degrees F.

fprintf(‘The temperature is %8.3e degrees F.\n’, temp);

The temperature is 9.860e+001 degrees F.

fprintf(‘The temperature is %08.2f degrees F.\n’, temp);

The temperature is 00098.60 degrees F.

Page 39: Lect02 Variables Operations

��� ���$�'�������� ���

Score = [1 2 3 4; 75 88 102 93; 99 84 95 105]

Game 1 score: Houston: 75 Dallas: 99

fprintf(‘Game %1.0f score: Houston: %3.0f Dallas: %3.0f \n’,Score)

Game 1 score: Houston: 75 Dallas: 99

Game 2 score: Houston: 88 Dallas: 84

Game 3 score: Houston: 102 Dallas: 95

Game 4 score: Houston: 93 Dallas: 105

fprintf control codes\n Start new line \t Tab

Page 40: Lect02 Variables Operations

��������� �(� �� ��� ����� ���

bababaabaabaab

÷÷÷÷−−−−−−−−−−−−

/ ;* ; division and tionMultiplica/ * Negation

^ tionExponentia^ Form MATLABOperation Symbol

� In order of priority

bababa

baabba

bababaab

−−−−++++±±±±−−−−++++

====

÷÷÷÷

; nsubtractio and Addition

\ \ division Left\

/ ;* ; division and tionMultiplica/ *

(Matrix inverse)

Page 41: Lect02 Variables Operations

� ������&�������������&��� �(� �� ��� ����� ���

1. Parentheses, starting with the innermost pair2. Exponentiation, from left to right3. Multiplication and division with equal precedence, 3. Multiplication and division with equal precedence,

from left to right4. Addition and subtraction with equal precedence,

from left to right

Page 42: Lect02 Variables Operations

� ������&�� ����� ��

5*(3+6) = 45

5*3+6 = 21

White space does not matter!!!

5*3 + 6 = 21

Page 43: Lect02 Variables Operations

6�� �����&��� ���&������ "(�

5*6/6*5 = 25

5*6/(6*5) = 15*6/(6*5) = 1

Page 44: Lect02 Variables Operations

������(����

• ���������.�1

• N�O�����9�:��������������"���((������

• - ��� ��������������������������

5 * (3+4) not 5(3+4)

Page 45: Lect02 Variables Operations

� ������&�������������&��� �(� �� ��� ����� ���

� The priority order can be overridden with parentheses» y = -7.3^2

y =

-53.2900

» a=3; b=5; c=2;

» s1 = a-b*c

s1 =

» y=(-7.3)^2

y =

53.2900

-7

» s2=(a-b)*c

s2 =

-4

Exponentiation has higher priority than negation

Multiplication has higher priority than subtraction

Page 46: Lect02 Variables Operations

=�� �� ����� � ��� ���• �������������"���(���������- ��� �����* ����* �������(����

±3?&/?E ���±3?/?E

• (��!��(��* �.��������������"�1��������- ��� ���

��������������������(��(#�������"���(�����

• (������(��* �.����������������1��������- ��� ��

��������������������(�?>> a = 5.00e200; % same as 5*10^200>> b = 3.00e150; % same as 3*10^150>> b = 3.00e150; % same as 3*10^150>> a*b

ans =

Inf

>> 1/a * 1/b

ans =

0>>

Page 47: Lect02 Variables Operations

• 4 �������������������������* ��������������������(�

���������������"�? ����?�?�

• 7�������(����������- ��� �"�!�����������������"���(���!��� ���

$�����������������(

• ������������������- ��� �"�!�����������������"���(

��!�������$����������������@�@

Page 48: Lect02 Variables Operations

2���� �����������" ����� ��������

Operator Description���� Returns � for every element location that is � � � �

(nonzero) in both arrays, and � for all other elements.

���� Returns � for every element location that is � � � �(nonzero) in either one or the other, or both, arrays and � for all other elements.

���� ����� Complements each element of input array, �.

���� Less than�������� Less than or equal to���� Greater than�������� Greater than or equal to� �� �� �� � Equal to�������� Not equal to

Page 49: Lect02 Variables Operations

��" ���������� ���

>> A = [2 5 7 1 3];>> B = [0 6 5 3 2];>> A >= 5ans =0 1 1 0 0>> A >= Bans =ans =1 0 1 0 1>> C = [1 2 3]>> A > C??? Error using ==> gt

Matrix dimensions must agree;

Page 50: Lect02 Variables Operations

��" ���������� ����#���� ����$

>> A = [true true false false];

>> B = [true false true false];

>> A & B

ans =

1 0 0 0

>> A | B>> A | B

ans =

1 1 1 0

Page 51: Lect02 Variables Operations

��)�������1��(��& ���&���� ��

• )��������"�������������!��>> C = find(B)

ans =

[1 3]

• ��� (���������������������"�����• ���find(...) (���������������������"�����

!�����������������������������������������(�

��������������(������!��������������������

Page 52: Lect02 Variables Operations

����,�� ����� ���

• �������,������� ��� �����&��� ������� ����,���� ���

B(3);* A(3) C(3)B(2);* A(2) C(2)B(1);* A(1) C(1)

============

B(5);* A(5) C(5)B(4);* A(4) C(4)B(3);* A(3) C(3)

============

MATLAB: C = A.*B;

Page 53: Lect02 Variables Operations

��� ����, ��� ����� ����� ���

] ,[] ,[] ,[nsubtractio Array-] ,[] ,[] ,[addition Array

] ,[] ,[nsubtractio array-Scalar-] ,[] ,[addition array-Scalar

ExampleFormOperationSymbol

343864BA9123864BA

32638bA97364bA

−−−−====−−−−−−−−====++++++++++++

−−−−====−−−−−−−−====++++++++++++

] ,[]^ ,^[] ,[].^ ,[] ,[]^ ,^[] ,[.^

] ,[]^ ,^[].^ ,[.^tionexponentia Array.^].,.[]\ ,\[] ,[\]. ,[division left Array\.

].,.[]/ ,/[] ,/[]. ,[division right Array./] ,[] ,[*]. ,[tionmultiplica Array*.

812543254235243953235238643234324BA

71430667257835873A.\B4001375057835873A./B

1863263A.*B

========================

================

−−−−====−−−−

Page 54: Lect02 Variables Operations

MATLAB interprets * to mean matrix multiplication. The arrays a and b are not the correct size for matrix multiplication in this example

Page 55: Lect02 Variables Operations

�(��� ��� ������� � �,��&�� ������� �C���

�����,������������ � !���������� ���

• 7����������#��������������!����������(���"����

�����"��������������* ����������������!�������

������������������

– 7�������������!���������������������

– P��(�������������������

π2360RD =

Page 56: Lect02 Variables Operations

Either the * or the .* operator can be used for this problem, because it is composed of scalars and a single matrix

The value of pi is built into MATLAB as a floating point number, called pi

Page 57: Lect02 Variables Operations

������������ ��� �������� ���

But a*b gives an error (undefined) because

������������

����

����

������������

����

����

====++++������������

����

����

������������

����

����

====������������

����

����

������������

����

����

====1173

ba 642

b 531

a

But a*b gives an error (undefined) because dimensions are incorrect. Need to use .*

������������

����

����

������������

����

����

====������������

����

����

������������

����

����

====30122

6*54*32*1

b.*a

Page 58: Lect02 Variables Operations

������ %���� ��� ��� ����� ���

[[[[ ]]]][[[[ ]]]]

[[[[ ]]]]240122B.*AC

2541B

1832A

========

====

====

[[[[ ]]]][[[[ ]]]]

[[[[ ]]]][[[[ ]]]]9243813B).^3(F

15122783.^AE

5.06.175.02B/.AD

240122B.*AC

========

========

========

========

Page 59: Lect02 Variables Operations

����,�� ����� ����&���

� �×××× ��� ��� ���

��������

�������� 2015105

[[[[ ]]]]������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−========

121343214321

1 - 21 3-4;:-1:1 -4;:1A

������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−========

51051520151052015105

5.*AB

������������

����

����

������������

����

����

−−−−−−−−−−−−−−−−−−−−========

18127642781642781

3.^AC

Page 60: Lect02 Variables Operations

� ��� �����������[[[[ ]]]] [[[[ ]]]]

[[[[ ]]]]84124

2-13

y' ; 324

'x

213y ; 324x

��������

�������� −−−−

��������

��������

������������

����

����

������������

����

����

====������������

����

����

������������

����

����

−−−−====

−−−−====−−−−====

[[[[ ]]]]

[[[[ ]]]] 4)2(3)1)(2()3)(4(2-13

324'y*x

639426213

32y'*x

====−−−−++++−−−−++++====������������

����

����

������������

����

����

−−−−====

������������

����������������

���� −−−−−−−−−−−−====−−−−

������������

����������������

����

−−−−====

Page 61: Lect02 Variables Operations

The transpose operator makes it easy to create tables

Page 62: Lect02 Variables Operations

table =[degrees;radians]’ would have given the same result

Page 63: Lect02 Variables Operations

The transpose The transpose operator works on both one dimensional and two dimensional arrays

Page 64: Lect02 Variables Operations

Linear Combinations

Page 65: Lect02 Variables Operations

����&���(���������(��������$��"�

������• ���.�1��,�����������������"����!���������

• ���.�1 ,�����������������������!���������

• ���.�1���,�������������������(������������������

• ����.�1��,�����������������������(�����������������

• ����.�1)����������������.�!���"��!����1�(��������������• ����.�1)����������������.�!���"��!����1�(��������������

�(�����!��������

• ������.�1,���������������������!������(�����������������

����!�������

• �����.�1����������!������* ��������!�������(����� ��������"�

������

Page 66: Lect02 Variables Operations

���� ��

* �8�9?��&2��D:��������8�9/�&3�F�D:�������8�9�3�/�D+�2�E�0+�=�&3�&2:�

����������������� ������� � ��� ��

• ���.* 1��

• ���.�1�

• ���.*#�1�• ���.*#�1�

• ����.�1�

• ������.* 1�

• ����.2B* A�1�

• ����.�1

Page 67: Lect02 Variables Operations

��� ��� ������� �����

• The way in which the numbers are presented in the computer is a source of roundoff errors.

Ex:>>1-5*0.2=0;>>1-5*0.2=0;>>format long1-0.2-0.2-0.2-0.2-0.2=5.551115123125783e-017

• WHY?

Page 68: Lect02 Variables Operations

#���������������������������%������ �� ���

122792.02792.12 = x 210

ExponentMantissa

Page 69: Lect02 Variables Operations

#������%���� �������� ��

64 bits

Mantissa (52 bits)

Exponent (11 bits)

Sign of mantissa (1 bit)

Page 70: Lect02 Variables Operations

��� �)����� ������������������

Page 71: Lect02 Variables Operations
Page 72: Lect02 Variables Operations
Page 73: Lect02 Variables Operations

Numbers: precision and accuracyNumbers: precision and accuracy

Good Accuracy Good Precision

Good PrecisionPoor Accuracy

Good AccuracyPoor Precision

Poor AccuracyPoor Precision

•Low precision: π = 3.14•High precision: π = 3.140101011•Low accuracy: π = 3.10212•High accuracy: π = 3.14159•High accuracy & precision: π = 3.141592653

Precision and accuracy are not the same!