Ledning till sqrt och komplexa tal
Eftersom vi inte räknar exakt kan avrundningsfel ge upphov till
komplexa tal i beräkningen av sqrt(1 - x^2 - y^2) när vi med
exakt aritmetik endast skulle få reella tal. Här ett exempel:
f = 2.8768e-01;
x = cos(f);
y = sin(f);
sqrt(1 - x^2 - y^2)
ans = 0 + 3.7253e-09i
% lika med noll om vi räknar exakt
% Förklaring
>> 1 - x^2 - y^2 % vi får ett lite avrundningsfel
här
ans = -1.3878e-17 % litet negativt tal
Eftersom surf och mesh klagar på komplexa
tal, kan vi avlägsna de små imaginärdelarna genom att
plocka ut realdelen av resultatet:
>> real(sqrt(1 - x^2 -
y^2))
ans = 0
Funktionen real
fungerar även på matriser.