155GIT1 / 8. cvičení: Porovnání verzí

Z GeoWikiCZ
mBez shrnutí editace
mBez shrnutí editace
Řádek 3: Řádek 3:


== Náplň ==
== Náplň ==
# drobné smíšené úlohy


== Ukázky ==
== 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 {{wikipedia|Taylorova řada}}:
<source lang=octave>
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
</source>


== Úlohy ==
== Úlohy ==

Verze z 10. 2. 2022, 00:36

Uživatelské funkce

Náplň

  1. 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

Úlohy