155GIT1 / 8. cvičení
Uživatelské funkce
Náplň
- drobné smíšené úlohy
Ukázky
Drobné úlohy
Funkce pro výpočet nekonečné řady do zadané přesnosti (příklad iterativního výpočtu)
např. výpočet funkce arctg(), viz Taylorova řada:
function [arctgx] = arctg(x,mez)
% vypocet funkce arctg rozvojem v radu do zadane presnosti
% IN: x ... vektor argumentu funkce
% mez ... zadana presnost vypoctu
% OUT: arctgx ... vektor vypoctenych uhlu z intervalu <-pi/2,pi/2>
if any(x > 1) | any(x < -1)
error('arctg: Vstupni hodnoty musi byt z intervalu <-1,1>.')
end
% vypocet pro kazdy prvek daneho vektoru samostatne
for i=1:length(x)
% start iterace pro i-ty vstupni prvek
y0 = 100; % vkladam fiktivni hodnotu, kterou x na vstupu nikdy nemuze nabyt
% 1.iterace
n = 1;
y = x(i);
while abs( y-y0 ) > mez
% n-ta iterace
n = n+1;
y0 = y;
y = y0 + (-1)^(n+1) * x(i)^(2*n-1) / (2*n-1);
end
% ulozeni vypoctene hodnoty do vystupni promenne
arctgx(i) = y;
fprintf('Pocet iteraci vypoctu: %d\n',n)
end