Adding code appendix

This commit is contained in:
PolishPigeon 2021-12-03 04:32:40 +01:00
parent 828a019165
commit e75b928c6e
12 changed files with 1307 additions and 171 deletions

View File

@ -12,7 +12,6 @@ function [zero, iterations] = falsePosition(taskFunction, a, b, tolerance)
[iterations, lastTwoA, lastTwoB, i] = initialize();
[zero, iterations, a, b, lastTwoA, lastTwoB] = firstTwoIterations(a, b, taskFunction, iterations, lastTwoA, lastTwoB);
[zero, iterations] = falsePositionLoop(taskFunction, zero, tolerance, lastTwoA, lastTwoB, i, a, b, iterations);
end
function [iterations, lastTwoA, lastTwoB, i] = initialize()
@ -47,7 +46,6 @@ function [lastTwoA, i, a, lastTwoB, b, tolerance, zero, iterations] = insideLoop
zero = calculateZero(lastTwoB, tolerance, a, b, lastTwoA, taskFunction);
iterations(:, size(iterations, 2) + 1) = [zero, taskFunction(zero)];
[a, b] = newSubInterval(taskFunction, a, b, zero);
end
function [lastTwoA, lastTwoB] = changeLastTwoAB(lastTwoA, lastTwoB, i, a, b)

View File

@ -10,7 +10,6 @@ function y = polynomial(x)
end
function [approximation, iterations] = mm1(polynomial, a, b, tolerance)
[approximation, approximationValue, iterations] = initialize(a, b, polynomial);
[approximation, iterations] = mm1Loop(approximation, tolerance, approximationValue, iterations, polynomial);
end

View File

@ -1,72 +0,0 @@
interval = [-5, 10];
rootBrackets = rootBracketing(@polynomial, interval(1), interval(2));
printGraph(@polynomial, 'Laguerre', @laguerre, interval, rootBrackets, 'Approximate zeros of function for method of ');
printComplexGraph(@polynomial, 'Laguerre', @laguerre, [-1 + i, 0], 'Aproximate complex roots of polynomial');
function y = polynomial(x)
y = -2 * x^4 + 12 * x^3 + 4* x^2 + 1 * x + 3;
end
function [zero, iterations] = laguerre(polynomial, a, b, tolerance)
[degree, zero, iterations] = initialize(a, b, polynomial);
[zero, iterations] = laguerreLoop(polynomial, zero, tolerance, iterations, degree);
end
function [degree, zero, iterations] = initialize(a, b, polynomial)
degree = 4;
zero = (a + b) / 2;
iterations = [zero; polynomial(zero)];
end
function [zero, iterations] = laguerreLoop(polynomial, zero, tolerance, iterations, degree)
while abs(polynomial(zero)) > tolerance
[iterations, zero] = insideLoop(polynomial, zero, degree, iterations);
end
end
function [iterations, zero] = insideLoop(polynomial, zero, degree, iterations)
[derrivative0, derrivative1, derrivative2] = calculateDerrivatives(polynomial, zero);
[zPlus, zMinus] = calculateZ(degree, derrivative0, derrivative1, derrivative2);
% update answer
zero = newzero;
iterations(:, size(iterations, 2) + 1) = [zero, polynomial(zero)];
end
function [derrivative0, derrivative1, derrivative2] = calculateDerrivatives(polynomial, zero)
% calculate derivatives
derrivative0 = polynomial(zero);
derrivative1 = derivative(polynomial, zero, 1);
derrivative2 = derivative(polynomial, zero, 2);
end
function [zPlus, zMinus] = calculateZ(degree, derrivative0, derrivative1, derrivative2)
expressionUnderSquareRoot = (degree - 1) * ((degree - 1) * derrivative1 ^ 2 - degree * derrivative0 * derrivative2);
lagsqrt = sqrt(expressionUnderSquareRoot);
zPlus = degree * derrivative0 / (derrivative1 + lagsqrt);
zMinus = degree * derrivative0 / (derrivative1 - lagsqrt);
end
function [] = chooseNewZero()
% choose value closer to current approximation
if abs(zPlus) < abs(zMinus)
newzero = zero - zPlus;
else
newzero = zero - zMinus;
end
% calculate the nth derivative of polynomial at x
function y = derivative(function_, x, degree)
if degree == 0
y = function_(x);
return
end
step = sqrt(eps);
y = (derivative(function_, x + step, degree - 1) - derivative(function_, x - step, degree - 1)) / (2 * step);
end

View File

@ -16,38 +16,108 @@
\gdef\HyperFirstAtBeginDocument#1{#1}
\providecommand\HyField@AuxAddToFields[1]{}
\providecommand\HyField@AuxAddToCoFields[2]{}
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Find all zeros of function}{2}{chapter.1}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {1}Find all zeros of function}{3}{chapter.1}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {1.1}a) False position method}{2}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Problem}{2}{subsection.1.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}Theoretical Introduction}{2}{subsection.1.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Properties of \emph {false position method}}{3}{section*.2}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Improvement to the method}{3}{section*.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.3}Results}{4}{subsection.1.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.2}b) the Newton's method}{4}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Problem}{4}{subsection.1.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Theoretical Introduction}{4}{subsection.1.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Results}{4}{subsection.1.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Find real and complex roots of the polynomial}{5}{chapter.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.1}a) False position method}{3}{section.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.1}Problem}{3}{subsection.1.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.2}Theoretical Introduction}{3}{subsection.1.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Properties of \emph {false position method}}{4}{section*.2}\protected@file@percent }
\@writefile{toc}{\contentsline {paragraph}{Improvement to the method}{4}{section*.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.1.3}Results}{5}{subsection.1.1.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {1.2}b) the Newton's method}{5}{section.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.1}Problem}{5}{subsection.1.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.2}Theoretical Introduction}{5}{subsection.1.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {1.2.3}Results}{5}{subsection.1.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {2}Find real and complex roots of the polynomial}{6}{chapter.2}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Problem}{5}{section.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Theoretical Introduction}{5}{section.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}MM1}{6}{subsection.2.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}MM2}{7}{subsection.2.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Results}{8}{section.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Comparison of results between MM1 and MM2}{8}{subsection.2.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Comparison of results between Newton's method and MM2}{8}{subsection.2.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Find real and complex roots of the polynomial using Laguerre's method}{9}{chapter.3}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.1}Problem}{6}{section.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.2}Theoretical Introduction}{6}{section.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.1}MM1}{7}{subsection.2.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.2.2}MM2}{8}{subsection.2.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {2.3}Results}{9}{section.2.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.1}Comparison of results between MM1 and MM2}{9}{subsection.2.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {2.3.2}Comparison of results between Newton's method and MM2}{9}{subsection.2.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {3}Find real and complex roots of the polynomial using Laguerre's method}{10}{chapter.3}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Problem}{9}{section.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Theoretical Introduction}{9}{section.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Results}{10}{section.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Comparison of results between MM1 and MM2}{10}{subsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Code appendix}{11}{chapter.4}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.1}Problem}{10}{section.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.2}Theoretical Introduction}{10}{section.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {3.3}Results}{11}{section.3.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {3.3.1}Comparison of results between MM1 and MM2}{11}{subsection.3.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {chapter}{\numberline {4}Code appendix}{12}{chapter.4}\protected@file@percent }
\@writefile{lof}{\addvspace {10\p@ }}
\@writefile{lot}{\addvspace {10\p@ }}
\@writefile{toc}{\contentsline {section}{\numberline {4.1}Task 1}{12}{section.4.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.1}task1Bisection.m}{12}{subsection.4.1.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Top of task1Bisection.m}{12}{section*.4}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{taskFunction}{12}{section*.5}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{falsePosition}{13}{section*.6}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initialize}{13}{section*.7}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{taskFunction}{13}{section*.8}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{firstTwoIterations}{14}{section*.9}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{falsePositionLoop}{14}{section*.10}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{insideLoop}{15}{section*.11}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{changeLastTwoAB}{15}{section*.12}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{calculateZero}{16}{section*.13}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{newSubInterval}{16}{section*.14}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.1.2}task1Newton.m}{16}{subsection.4.1.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Top of task1Newton.m}{16}{section*.15}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{taskFunction}{17}{section*.16}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{newtonMethod}{17}{section*.17}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initialize}{17}{section*.18}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{newtonLoop}{17}{section*.19}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{insideLoop}{18}{section*.20}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{calculateZeroIterations}{18}{section*.21}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{checkForDivergence}{18}{section*.22}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.2}Task 2}{19}{section.4.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.1}task2MM1.m}{19}{subsection.4.2.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Top of task2MM1}{19}{section*.23}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{polynomial}{19}{section*.24}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{mm1}{19}{section*.25}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initialize}{20}{section*.26}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{mm1Loop}{20}{section*.27}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{insideLoop}{20}{section*.28}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{createEquationSystem}{21}{section*.29}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{rootsOfQuadraticFormula}{21}{section*.30}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{updateApproximations}{21}{section*.31}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initializeEquationSystem}{22}{section*.32}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{solveEquationSystem}{22}{section*.33}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{createApproximatedQuadraticFormula}{23}{section*.34}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{findRootsOfQuadraticFormula}{23}{section*.35}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{chooseNewRoot}{23}{section*.36}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{addZeroToIterationVector}{23}{section*.37}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{getWorstApproximationIndex}{24}{section*.38}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{deleteWorstApproximation}{24}{section*.39}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.2.2}task2MM2.m}{25}{subsection.4.2.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{top of task2MM2.m}{25}{section*.40}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{polynomial}{25}{section*.41}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{mm2}{25}{section*.42}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initialize}{25}{section*.43}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{mm2Loop}{26}{section*.44}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{insideLoop}{26}{section*.45}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{getABC}{26}{section*.46}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{findRoots}{26}{section*.47}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{chooseNewApproximation}{27}{section*.48}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{updateApproximations}{27}{section*.49}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{derivative}{27}{section*.50}\protected@file@percent }
\@writefile{toc}{\contentsline {section}{\numberline {4.3}Task 3}{28}{section.4.3}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{Top of Task 3}{28}{section*.51}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{polynomial}{28}{section*.52}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{laguerre}{28}{section*.53}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initialize}{29}{section*.54}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{laguerreLoop}{29}{section*.55}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{insideLoop}{29}{section*.56}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{calculateDerrivatives}{30}{section*.57}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{calculateZ}{30}{section*.58}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{chooseNewZero}{30}{section*.59}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{updateZeros}{31}{section*.60}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.1}rootBrackering.m}{31}{subsection.4.3.1}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{updateZeros}{31}{section*.61}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{initializeValues}{32}{section*.62}\protected@file@percent }
\@writefile{toc}{\contentsline {subsubsection}{bracketingLoop}{33}{section*.63}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.2}printGraph.m}{34}{subsection.4.3.2}\protected@file@percent }
\@writefile{toc}{\contentsline {subsection}{\numberline {4.3.3}printComplexGraph.m}{36}{subsection.4.3.3}\protected@file@percent }
\bibcite{texbook}{1}
\gdef \@abspage@last{13}
\gdef \@abspage@last{39}

View File

@ -1,6 +1,7 @@
# Fdb version 3
["pdflatex"] 1638477392 "report.tex" "report.pdf" "report" 1638477392
["pdflatex"] 1638502319 "report.tex" "report.pdf" "report" 1638502319
"/etc/texmf/web2c/texmf.cnf" 1635008344 475 c0e671620eb5563b2130f56340a5fde8 ""
"/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc" 1165713224 4850 80dc9bab7f31fb78a000ccfed0e27cab ""
"/usr/share/texlive/texmf-dist/fonts/map/fontname/texfonts.map" 1577235249 3524 cb3e574dea2d1052e39280babc910dc8 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbi1200.tfm" 1136768653 3072 ccae1a240ab272417e4399fe942df546 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1200.tfm" 1136768653 3584 402da0b29eafbad07963b1224b222f18 ""
@ -16,6 +17,9 @@
"/usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1200.tfm" 1136768653 1536 74b7293ec3713bb7fdca8dd1bd1f469c ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex7.tfm" 1246382020 1004 54797486969f23fa377b128694d548df ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/amsfonts/cmextra/cmex8.tfm" 1246382020 988 bdf658c3bfc2d96d3c8b02cfc1c94c20 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8c.tfm" 1136768653 1268 3764023d12371df1f4893e1c3e0d608c ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm" 1136768653 1292 a0ca2398d40dc5494f22d2fbff33269b ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm" 1136768653 1380 bb8d389860f8cf35648da78ba6d79918 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmex10.tfm" 1136768653 992 662f679a0b3d2d53c1b94050fdaa3f50 ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi12.tfm" 1136768653 1524 4414a8315f39513458b80dfc63bff03a ""
"/usr/share/texlive/texmf-dist/fonts/tfm/public/cm/cmmi6.tfm" 1136768653 1512 f21f83efb36853c0b70002322c1ab3ad ""
@ -41,6 +45,9 @@
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb" 1248133631 32569 5e5ddc8df908dea60932f3c484a54c0d ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb" 1248133631 32587 1788b0c1c5b39540c96f5e42ccd6dae8 ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb" 1248133631 32626 4f5c1b83753b1dd3a97d1b399a005b4b ""
"/usr/share/texlive/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb" 1136849748 29228 440002646d60f9d1a0cdf5878b9a308f ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8c.vf" 1136768653 3344 fa4d9744acd412097dd8fe1c344cfc43 ""
"/usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf" 1136768653 2156 58631a68efc4afbec92c522ba77a542f ""
"/usr/share/texlive/texmf-dist/tex/context/base/mkii/supp-pdf.mkii" 1461363279 71627 94eb9990bed73c364d7f53f960cc8c5b ""
"/usr/share/texlive/texmf-dist/tex/generic/atbegshi/atbegshi.sty" 1575674566 24708 5584a51a7101caf7e6bbf1fc27d8f7b1 ""
"/usr/share/texlive/texmf-dist/tex/generic/bigintcalc/bigintcalc.sty" 1576625341 40635 c40361e206be584d448876bba8a64a3b ""
@ -73,6 +80,8 @@
"/usr/share/texlive/texmf-dist/tex/latex/base/report.cls" 1601675358 23204 74c91ecbcc47161218f25d9d0651c0f7 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo" 1601675358 8450 6fd3588c0e9d06f6f56c6cf4f7246466 ""
"/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty" 1581112666 2821 2c0928feafd5527387e29a1af774d030 ""
"/usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd" 1137109926 819 be55b7e3c5cc7c059be8eb7852d712b5 ""
"/usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd" 1137109926 831 61ac1af3752199781aa7647c9fc0a5aa ""
"/usr/share/texlive/texmf-dist/tex/latex/bigfoot/bigfoot.sty" 1440967810 43914 273a3a42cdc1e0e69e94929e58fcd49d ""
"/usr/share/texlive/texmf-dist/tex/latex/bigfoot/perpage.sty" 1414965027 5707 8a111e2f4c8f511ad622494ac2fe3f6d ""
"/usr/share/texlive/texmf-dist/tex/latex/bigfoot/suffix.sty" 1414965027 3090 223874a03a08cecb9fb79bd86e5dcf97 ""
@ -132,13 +141,13 @@
"/usr/share/texmf/web2c/texmf.cnf" 1613593815 38841 799d1dd9682a55ce442e10c99777ecc1 ""
"/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map" 1635008389 5160710 ecf427ae8fa19139d8691f526e47bb9b ""
"/var/lib/texmf/web2c/pdftex/pdflatex.fmt" 1635008460 2570450 6e12b1c097cbda0f70015645294afd24 ""
"report.aux" 1638477392 4167 de2115c0a42697ffec7e624e0235a5e9 "pdflatex"
"report.out" 1638477392 1599 16cc4d1f4de80185092890f377b1e58b "pdflatex"
"report.tex" 1638477392 9059 cace34d9cdf051336f277cd0cda8f606 ""
"report.toc" 1638477392 2129 401e73fff3ea793738474b538e08a686 "pdflatex"
"report.aux" 1638502319 11692 878bddd6b432a6517ccbb26f1a1883e0 "pdflatex"
"report.out" 1638502319 2232 9c816be7359e49476c78eac49d6fed11 "pdflatex"
"report.tex" 1638502318 34924 2de225dbe1fc009828226e8a7a899ff1 ""
"report.toc" 1638502319 6784 8ca8f0717e6828668dada7c66c688cf4 "pdflatex"
(generated)
"report.pdf"
"report.out"
"report.aux"
"report.pdf"
"report.toc"
"report.out"
"report.log"

View File

@ -1,4 +1,4 @@
PWD /home/kuchy/Zlew/Studia/SEM_5/enume_done/Project/projectB
PWD /home/kuchy/Zlew/Studia/SEM_5/enume_done/Project/projectB/Report
INPUT /etc/texmf/web2c/texmf.cnf
INPUT /usr/share/texmf/web2c/texmf.cnf
INPUT /usr/share/texlive/texmf-dist/web2c/texmf.cnf
@ -811,9 +811,23 @@ INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbx1440.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecti1200.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/tcrm1200.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/jknappen/ec/ecbi1200.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8t.tfm
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd
INPUT /usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8c.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8t.vf
INPUT /usr/share/texlive/texmf-dist/fonts/tfm/public/bera/fvmr8r.tfm
INPUT /usr/share/texlive/texmf-dist/fonts/vf/public/bera/fvmr8c.vf
INPUT report.aux
INPUT ./report.out
INPUT ./report.out
INPUT /usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc
INPUT /usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb
@ -825,6 +839,7 @@ INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb
INPUT /usr/share/texlive/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfbi1200.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfbx1200.pfb
INPUT /usr/share/texmf/fonts/type1/public/cm-super/sfbx1440.pfb

View File

@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.10.23) 2 DEC 2021 21:36
This is pdfTeX, Version 3.14159265-2.6-1.40.21 (TeX Live 2020/Debian) (preloaded format=pdflatex 2021.10.23) 3 DEC 2021 04:31
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@ -467,52 +467,279 @@ File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Live
\c@lstlisting=\count326
[1
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./report.toc)
{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}] (./report.tocpdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored
<to be read again>
\relax
l.39 ...4.1.2}task1Newton.m}{16}{subsection.4.1.2}
% [1
])
\tf@toc=\write4
\openout4 = `report.toc'.
pdfTeX warning (ext4): destination with the same identifier (name{page.1}) has been already used, duplicate ignored
<to be read again>
\relax
l.47 \chapter
{Find all zeros of function} [1
[2]
Chapter 1.
[3
] [4] [5]
Chapter 2.
[6
] [7] [8] [9]
Chapter 3.
[10
] [11]
Chapter 4.
LaTeX Font Info: Trying to load font information for T1+fvm on input line 223.
(/usr/share/texlive/texmf-dist/tex/latex/bera/t1fvm.fd
File: t1fvm.fd 2004/09/07 scalable font definitions for T1/fvm.
)
LaTeX Font Info: Font shape `T1/fvm/m/n' will be
(Font) scaled to size 10.20007pt on input line 223.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 224.
LaTeX Font Info: Trying to load font information for TS1+fvm on input line 227.
(/usr/share/texlive/texmf-dist/tex/latex/bera/ts1fvm.fd
File: ts1fvm.fd 2004/09/07 scalable font definitions for TS1/fvm.
)
LaTeX Font Info: Font shape `TS1/fvm/m/n' will be
(Font) scaled to size 10.20007pt on input line 227.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 235.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 235.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 235.
[12
]
Chapter 1.
[2
] [3] [4]
Chapter 2.
[5
] [6] [7] [8]
Chapter 3.
[9
] [10]
Chapter 4.
[11
] [12
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 269.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 269.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 269.
[13]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 280.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 280.
[14] [15]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 333.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 334.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 334.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 335.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 336.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 336.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 338.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 338.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 365.
[16]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 376.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 376.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 376.
[17]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 428.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 428.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 429.
[18]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 454.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 459.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 467.
[19] [20] [21]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 552.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 553.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 554.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 555.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 566.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 569.
[22]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 591.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 591.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 592.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 592.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 592.
[23]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 624.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 627.
[24]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 655.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 660.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 668.
[25]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 733.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 733.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 734.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 734.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 734.
[26]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 772.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 772.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 772.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 772.
[27]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 782.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 787.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 795.
[28] [29]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 862.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 862.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 862.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 866.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 876.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 878.
[30] [31]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 914.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 917.
[32] [33]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 969.
[34] [35]
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 1006.
Package textcomp Info: Symbol \textminus not provided by
(textcomp) font family fvm in TS1 encoding.
(textcomp) Default family used instead on input line 1012.
[36] [37] [38
] (./report.aux)
Package rerunfilecheck Info: File `report.out' has not changed.
(rerunfilecheck) Checksum: 16CC4D1F4DE80185092890F377B1E58B;1599.
(rerunfilecheck) Checksum: 9C816BE7359E49476C78EAC49D6FED11;2232.
)
Here is how much of TeX's memory you used:
11913 strings out of 479304
210891 string characters out of 5869778
526071 words of memory out of 5000000
28865 multiletter control sequences out of 15000+600000
419699 words of font info for 68 fonts, out of 8000000 for 9000
12956 strings out of 479304
224136 string characters out of 5869778
945251 words of memory out of 5000000
29341 multiletter control sequences out of 15000+600000
420612 words of font info for 71 fonts, out of 8000000 for 9000
1141 hyphenation exceptions out of 8191
81i,6n,88p,548b,753s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc}{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbi1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx17
28.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx2488.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm2074.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfti1200.pfb>
Output written on report.pdf (13 pages, 251184 bytes).
81i,6n,88p,548b,2255s stack positions out of 5000i,500n,10000p,200000b,80000s
{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-t1.enc}{/usr/share/texmf/fonts/enc/dvips/cm-super/cm-super-ts1.enc}</usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr12.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmr8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy10.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy6.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/amsfonts/cm/cmsy8.pfb></usr/share/texlive/texmf-dist/fonts/type1/public/bera/fvmr8a.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbi1200.pfb></usr/share/texmf/fonts/type1/public/cm-super
/sfbx1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx1728.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfbx2488.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1200.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm1440.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfrm2074.pfb></usr/share/texmf/fonts/type1/public/cm-super/sfti1200.pfb>
Output written on report.pdf (39 pages, 325697 bytes).
PDF statistics:
273 PDF objects out of 1000 (max. 8388607)
237 compressed objects within 3 object streams
41 named destinations out of 1000 (max. 500000)
185 words of extra memory for PDF output out of 10000 (max. 10000000)
1078 PDF objects out of 1200 (max. 8388607)
1007 compressed objects within 11 object streams
598 named destinations out of 1000 (max. 500000)
265 words of extra memory for PDF output out of 10000 (max. 10000000)

View File

@ -21,3 +21,13 @@
\BOOKMARK [1][-]{section.3.3}{Results}{chapter.3}% 21
\BOOKMARK [2][-]{subsection.3.3.1}{Comparison of results between MM1 and MM2}{section.3.3}% 22
\BOOKMARK [0][-]{chapter.4}{Code appendix}{}% 23
\BOOKMARK [1][-]{section.4.1}{Task 1}{chapter.4}% 24
\BOOKMARK [2][-]{subsection.4.1.1}{task1Bisection.m}{section.4.1}% 25
\BOOKMARK [2][-]{subsection.4.1.2}{task1Newton.m}{section.4.1}% 26
\BOOKMARK [1][-]{section.4.2}{Task 2}{chapter.4}% 27
\BOOKMARK [2][-]{subsection.4.2.1}{task2MM1.m}{section.4.2}% 28
\BOOKMARK [2][-]{subsection.4.2.2}{task2MM2.m}{section.4.2}% 29
\BOOKMARK [1][-]{section.4.3}{Task 3}{chapter.4}% 30
\BOOKMARK [2][-]{subsection.4.3.1}{rootBrackering.m}{section.4.3}% 31
\BOOKMARK [2][-]{subsection.4.3.2}{printGraph.m}{section.4.3}% 32
\BOOKMARK [2][-]{subsection.4.3.3}{printComplexGraph.m}{section.4.3}% 33

Binary file not shown.

View File

@ -214,6 +214,816 @@ This formula is similar to the one from MM2 but also takes order of the polynomi
\chapter{Code appendix}
\section{Task 1}
\subsection{task1Bisection.m}
\subsubsection{Top of task1Bisection.m}
\begin{simplechar}
\begin{lstlisting}
interval = [-5, 10];
rootBrackets = rootBracketing(@taskFunction, interval(1), interval(2));
printGraph(@taskFunction, 'False Position', @falsePosition, interval, rootBrackets, 'Approximate zeros of function for method of ');
\end{lstlisting}
\end{simplechar}
\subsubsection{taskFunction}
\begin{simplechar}
\begin{lstlisting}
function y = taskFunction(x)
y = -2.1 + 0.3*x - x*exp(1)^(-x);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{falsePosition}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = falsePosition(taskFunction, a, b, tolerance)
[iterations, lastTwoA, lastTwoB, i] = initialize();
[zero, iterations, a, b, lastTwoA, lastTwoB] = firstTwoIterations(a, b, taskFunction, iterations, lastTwoA, lastTwoB);
[zero, iterations] = falsePositionLoop(taskFunction, zero, tolerance, lastTwoA, lastTwoB, i, a, b, iterations);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{initialize}
\begin{simplechar}
\begin{lstlisting}
function [iterations, lastTwoA, lastTwoB, i] = initialize()
iterations = double.empty(2, 0);
lastTwoA = double.empty(2, 0);
lastTwoB = double.empty(2, 0);
i = 0;
end
\end{lstlisting}
\end{simplechar}
\subsubsection{taskFunction}
\begin{simplechar}
\begin{lstlisting}
function y = taskFunction(x)
y = -2.1 + 0.3*x - x*exp(1)^(-x);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{firstTwoIterations}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations, a, b, lastTwoA, lastTwoB] = firstTwoIterations(a, b, taskFunction, iterations, lastTwoA, lastTwoB)
for j = 1 : 2
zero = (a*taskFunction(b) - b * taskFunction(a)) / (taskFunction(b) - taskFunction(a));
iterations(:, size(iterations, 2) + 1) = [zero, taskFunction(zero)];
if sign(taskFunction(a)) ~= sign(taskFunction(zero))
b = zero;
else
a = zero;
end
lastTwoA(j) = a;
lastTwoB(j) = b;
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{falsePositionLoop}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = falsePositionLoop(taskFunction, zero, tolerance, lastTwoA, lastTwoB, i, a, b, iterations)
while abs(taskFunction(zero)) > tolerance
[lastTwoA, i, a, lastTwoB, b, tolerance, zero, iterations] = insideLoop(lastTwoA, i, a, lastTwoB, b, tolerance, taskFunction, iterations);
end
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{insideLoop}
\begin{simplechar}
\begin{lstlisting}
function [lastTwoA, i, a, lastTwoB, b, tolerance, zero, iterations] = insideLoop(lastTwoA, i, a, lastTwoB, b, tolerance, taskFunction, iterations)
[lastTwoA, lastTwoB] = changeLastTwoAB(lastTwoA, lastTwoB, i, a, b);
zero = calculateZero(lastTwoB, tolerance, a, b, lastTwoA, taskFunction);
iterations(:, size(iterations, 2) + 1) = [zero, taskFunction(zero)];
[a, b] = newSubInterval(taskFunction, a, b, zero);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{changeLastTwoAB}
\begin{simplechar}
\begin{lstlisting}
function [lastTwoA, lastTwoB] = changeLastTwoAB(lastTwoA, lastTwoB, i, a, b)
lastTwoA(mod(i, 2) + 1) = a;
lastTwoB(mod(i, 2) + 1) = b;
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{calculateZero}
\begin{simplechar}
\begin{lstlisting}
function [zero] = calculateZero(lastTwoB, tolerance, a, b, lastTwoA, taskFunction)
if(abs(lastTwoB(1) - lastTwoB(2)) < tolerance)
zero = (a*(taskFunction(b) / 2) - b * taskFunction(a)) / (taskFunction(b) / 2 - taskFunction(a));
elseif (abs(lastTwoA(1) - lastTwoA(2)) < tolerance)
zero = (a*taskFunction(b) - b * (taskFunction(a) / 2)) / (taskFunction(b) - (taskFunction(a) / 2));
else
zero = (a*taskFunction(b) - b * taskFunction(a)) / (taskFunction(b) - taskFunction(a));
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{newSubInterval}
\begin{simplechar}
\begin{lstlisting}
function [a, b] = newSubInterval(taskFunction, a, b, zero)
if sign(taskFunction(a)) ~= sign(taskFunction(zero))
b = zero;
else
a = zero;
end
end
\end{lstlisting}
\end{simplechar}
\subsection{task1Newton.m}
\subsubsection{Top of task1Newton.m}
\begin{simplechar}
\begin{lstlisting}
interval = [-5, 10];
rootBrackets = rootBracketing(@taskFunction, interval(1), interval(2));
printGraph(@taskFunction, 'Newton', @newtonMethod, interval, rootBrackets, 'Approximate zeros of function for method of ');
\end{lstlisting}
\end{simplechar}
\subsubsection{taskFunction}
\begin{simplechar}
\begin{lstlisting}
function y = taskFunction(x)
y = -2.1 + 0.3*x - x*exp(1)^(-x);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{newtonMethod}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = newtonMethod(taskFunction, a, b, tolerance)
[iterations, iteration, zero] = initialize(a, b);
[zero, iterations] = newtonLoop(iterations, iteration, zero, a, b, tolerance, taskFunction);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{initialize}
\begin{simplechar}
\begin{lstlisting}
function [iterations, step, zero] = initialize(a, b)
iterations = double.empty(2, 0);
step = sqrt(eps);
zero = (a + b) / 2;
iterations(:, size(iterations, 2) + 1) = [zero, taskFunction(zero)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{newtonLoop}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = newtonLoop(iterations, iteration, zero, a, b, tolerance, taskFunction)
while abs(taskFunction(zero)) > tolerance
[zero, iterations] = insideLoop(taskFunction, zero, iteration, iterations, a, b);
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{insideLoop}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = insideLoop(taskFunction, zero, iteration, iterations, a, b)
[zero, iterations] = calculateZeroIterations(taskFunction, zero, iteration, iterations);
checkForDivergence(zero, a, b);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{calculateZeroIterations}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = calculateZeroIterations(taskFunction, zero, iteration, iterations)
derivative = (taskFunction(zero + iteration) - taskFunction(zero - iteration)) / (2 * iteration);
zero = zero - taskFunction(zero) / derivative;
iterations(:, size(iterations, 2) + 1) = [zero, taskFunction(zero)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{checkForDivergence}
\begin{simplechar}
\begin{lstlisting}
function checkForDivergence(zero, a, b)
if zero < a || zero > b
error('Divergent iteration');
end
end
\end{lstlisting}
\end{simplechar}
\newpage
\section{Task 2}
\subsection{task2MM1.m}
\subsubsection{Top of task2MM1}
\begin{simplechar}
\begin{lstlisting}
interval = [-5, 10];
rootBrackets = rootBracketing(@polynomial, interval(1), interval(2));
printGraph(@polynomial, 'MM1', @mm1, interval, rootBrackets, 'Approximate zeros of function for method of ');
printComplexGraph(@polynomial, 'MM1', @mm1, [-1 + i, 0], 'Aproximate complex roots of polynomial');
\end{lstlisting}
\end{simplechar}
\subsubsection{polynomial}
\begin{simplechar}
\begin{lstlisting}
function y = polynomial(x)
y = -2 * x^4 + 12 * x^3 + 4* x^2 + 1 * x + 3;
end
\end{lstlisting}
\end{simplechar}
\subsubsection{mm1}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = mm1(polynomial, a, b, tolerance)
[approximation, approximationValue, iterations] = initialize(a, b, polynomial);
[approximation, iterations] = mm1Loop(approximation, tolerance, approximationValue, iterations, polynomial);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{initialize}
\begin{simplechar}
\begin{lstlisting}
function [approximation, approximationValue, iterations] = initialize(a, b, polynomial)
approximation = [a, b, (a + b) / 2];
approximationValue = arrayfun(polynomial, approximation);
iterations = [approximation(3); polynomial(approximation(3))];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{mm1Loop}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = mm1Loop(approximation, tolerance, approximationValue, iterations, polynomial)
while abs(polynomial(approximation(3))) > tolerance
[approximation, approximationValue, iterations] = insideLoop(approximation, approximationValue, polynomial, iterations);
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{insideLoop}
\begin{simplechar}
\begin{lstlisting}
function [approximation, approximationValue, iterations] = insideLoop(approximation, approximationValue, polynomial, iterations)
equationsSystem = createEquationSystem(approximation, approximationValue);
[zPlus, zMinus] = rootsOfQuadraticFormula(equationsSystem, approximationValue);
[approximation, approximationValue, iterations] = updateApproximations(zPlus, zMinus, approximation, iterations, polynomial);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{createEquationSystem}
\begin{simplechar}
\begin{lstlisting}
function equationsSystem = createEquationSystem(approximation, approximationValue)
[z0, z1, difference0, difference1] = initializeEquationSystem(approximation, approximationValue);
equationsSystem = solveEquationSystem(z0, difference0, z1, difference1);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{rootsOfQuadraticFormula}
\begin{simplechar}
\begin{lstlisting}
function [zPlus, zMinus] = rootsOfQuadraticFormula(equationsSystem, approximationValue)
[a, b, c] = createApproximatedQuadraticFormula(equationsSystem, approximationValue);
[zPlus, zMinus] = findRootsOfQuadraticFormula(a, b, c);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{updateApproximations}
\begin{simplechar}
\begin{lstlisting}
function [approximation, approximationValue, iterations] = updateApproximations(zPlus, zMinus, approximation, iterations, polynomial)
newApproximation = chooseNewRoot(zPlus, zMinus, approximation);
iterations = addZeroToIterationVector(newApproximation, iterations, polynomial);
worstApproximationIndex = getWorstApproximationIndex(approximation, newApproximation);
[approximation, approximationValue] = deleteWorstApproximation(worstApproximationIndex, approximation, polynomial, newApproximation);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{initializeEquationSystem}
\begin{simplechar}
\begin{lstlisting}
function [z0, z1, difference0, difference1] = initializeEquationSystem(approximation, approximationValue)
z0 = approximation(1) - approximation(3);
z1 = approximation(2) - approximation(3);
difference0 = approximationValue(1) - approximationValue(3);
difference1 = approximationValue(2) - approximationValue(3);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{solveEquationSystem}
\begin{simplechar}
\begin{lstlisting}
function equationsSystem = solveEquationSystem(z0, difference0, z1, difference1)
equationsSystem = [z0 ^ 2, z0, difference0; z1 ^ 2, z1, difference1];
reductor = equationsSystem(2, 1) / equationsSystem(1, 1);
equationsSystem(2, :) = equationsSystem(2, :) - reductor * equationsSystem(1, :);
equationsSystem(2, 1) = 0;
equationsSystem(2, :) = equationsSystem(2, :) ./ equationsSystem(2, 2);
equationsSystem(1, :) = equationsSystem(1, :) - equationsSystem(1, 2) * equationsSystem(2, :);
equationsSystem(1, :) = equationsSystem(1, :) ./ equationsSystem(1, 1);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{createApproximatedQuadraticFormula}
\begin{simplechar}
\begin{lstlisting}
function [a, b, c] = createApproximatedQuadraticFormula(equationsSystem, approximationValue)
a = equationsSystem(1, 3);
b = equationsSystem(2, 3);
c = approximationValue(3);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{findRootsOfQuadraticFormula}
\begin{simplechar}
\begin{lstlisting}
function [zPlus, zMinus] = findRootsOfQuadraticFormula(a, b, c)
zPlus = -2 * c / (b + sqrt(b ^ 2 - 4 * a * c));
zMinus = -2 * c / (b - sqrt(b ^ 2 - 4 * a * c));
end
\end{lstlisting}
\end{simplechar}
\subsubsection{chooseNewRoot}
\begin{simplechar}
\begin{lstlisting}
function newApproximation = chooseNewRoot(zPlus, zMinus, approximation)
if abs(zPlus) < abs(zMinus)
newApproximation = approximation(3) + zPlus;
else
newApproximation = approximation(3) + zMinus;
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{addZeroToIterationVector}
\begin{simplechar}
\begin{lstlisting}
function iterations = addZeroToIterationVector(newApproximation, iterations, polynomial)
zero = newApproximation;
iterations(:, size(iterations, 2) + 1) = [zero, polynomial(zero)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{getWorstApproximationIndex}
\begin{simplechar}
\begin{lstlisting}
function worstApproximationIndex = getWorstApproximationIndex(approximation, newApproximation)
worstApproximationIndex = -1;
worstApproximationDifference = 0;
for i = 1:size(approximation, 2)
diff = abs(approximation(i) - newApproximation);
if diff > worstApproximationDifference
worstApproximationIndex = i;
worstApproximationDifference = diff;
end
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{deleteWorstApproximation}
\begin{simplechar}
\begin{lstlisting}
function [approximation, approximationValue] = deleteWorstApproximation(worstApproximationIndex, approximation, polynomial, newApproximation)
approximation(worstApproximationIndex) = [];
approximation(3) = newApproximation;
approximationValue = arrayfun(polynomial, approximation);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsection{task2MM2.m}
\subsubsection{top of task2MM2.m}
\begin{simplechar}
\begin{lstlisting}
interval = [-5, 10];
rootBrackets = rootBracketing(@polynomial, interval(1), interval(2));
printGraph(@polynomial, 'MM2', @mm2, interval, rootBrackets, 'Approximate zeros of function for method of ');
printComplexGraph(@polynomial, 'MM2', @mm2, [-1 + i, 0], 'Aproximate complex roots of polynomial');
\end{lstlisting}
\end{simplechar}
\subsubsection{polynomial}
\begin{simplechar}
\begin{lstlisting}
function y = polynomial(x)
y = -2 * x^4 + 12 * x^3 + 4* x^2 + 1 * x + 3;
end
\end{lstlisting}
\end{simplechar}
\subsubsection{mm2}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = mm2(polynomial, a, b, tolerance)
[approximation, iterations] = initialize(a, b, polynomial);
[approximation, iterations] = mm2Loop(approximation, iterations, polynomial, tolerance);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{initialize}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = initialize(a, b, polynomial)
approximation = (a + b) / 2;
iterations = [approximation; polynomial(approximation)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{mm2Loop}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = mm2Loop(approximation, iterations, polynomial, tolerance)
while abs(polynomial(approximation)) > tolerance
[approximation, iterations] = insideLoop(approximation, polynomial, iterations);
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{insideLoop}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = insideLoop(approximation, polynomial, iterations)
[a, b, c] = getABC(approximation, polynomial);
[zPlus, zMinus] = findRoots(a, b, c);
newApproximation = chooseNewApproximation(zPlus, zMinus, approximation);
[approximation, iterations] = updateApproximations(newApproximation, iterations, polynomial);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{getABC}
\begin{simplechar}
\begin{lstlisting}
function [a, b, c] = getABC(approximation, polynomial)
c = polynomial(approximation);
b = derivative(polynomial, approximation, 1);
a = derivative(polynomial, approximation, 2) / 2;
end
\end{lstlisting}
\end{simplechar}
\subsubsection{findRoots}
\begin{simplechar}
\begin{lstlisting}
function [zPlus, zMinus] = findRoots(a, b, c)
zPlus = -2 * c / (b + sqrt(b ^ 2 - 4 * a * c));
zMinus = -2 * c / (b - sqrt(b ^ 2 - 4 * a * c));
end
\end{lstlisting}
\end{simplechar}
\subsubsection{chooseNewApproximation}
\begin{simplechar}
\begin{lstlisting}
function newApproximation = chooseNewApproximation(zPlus, zMinus, approximation)
if abs(zPlus) < abs(zMinus)
newApproximation = approximation + zPlus;
else
newApproximation = approximation + zMinus;
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{updateApproximations}
\begin{simplechar}
\begin{lstlisting}
function [approximation, iterations] = updateApproximations(newApproximation, iterations, polynomial)
approximation = newApproximation;
iterations(:, size(iterations, 2) + 1) = [approximation, polynomial(approximation)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{derivative}
\begin{simplechar}
\begin{lstlisting}
function y = derivative(function_, x, degree)
if degree == 0
y = function_(x);
return
end
step = sqrt(eps);
y = (derivative(function_, x + step, degree - 1) - derivative(function_, x - step, degree - 1)) / (2 * step);
end
\end{lstlisting}
\end{simplechar}
\section{Task 3}
\subsubsection{Top of Task 3}
\begin{simplechar}
\begin{lstlisting}
interval = [-5, 10];
rootBrackets = rootBracketing(@polynomial, interval(1), interval(2));
printGraph(@polynomial, 'Laguerre', @laguerre, interval, rootBrackets, 'Approximate zeros of function for method of ');
printComplexGraph(@polynomial, 'Laguerre', @laguerre, [-1 + i, 0], 'Aproximate complex roots of polynomial');
\end{lstlisting}
\end{simplechar}
\subsubsection{polynomial}
\begin{simplechar}
\begin{lstlisting}
function y = polynomial(x)
y = -2 * x^4 + 12 * x^3 + 4* x^2 + 1 * x + 3;
end
\end{lstlisting}
\end{simplechar}
\subsubsection{laguerre}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = laguerre(polynomial, a, b, tolerance)
[degree, zero, iterations] = initialize(a, b, polynomial);
[zero, iterations] = laguerreLoop(polynomial, zero, tolerance, iterations, degree);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{initialize}
\begin{simplechar}
\begin{lstlisting}
function [degree, zero, iterations] = initialize(a, b, polynomial)
degree = 4;
zero = (a + b) / 2;
iterations = [zero; polynomial(zero)];
end
\end{lstlisting}
\end{simplechar}
\subsubsection{laguerreLoop}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = laguerreLoop(polynomial, zero, tolerance, iterations, degree)
while abs(polynomial(zero)) > tolerance
[iterations, zero] = insideLoop(polynomial, zero, degree, iterations);
end
end
\end{lstlisting}
\end{simplechar}
\subsubsection{insideLoop}
\begin{simplechar}
\begin{lstlisting}
function [iterations, zero] = insideLoop(polynomial, zero, degree, iterations)
[derrivative0, derrivative1, derrivative2] = calculateDerrivatives(polynomial, zero);
[zPlus, zMinus] = calculateZ(degree, derrivative0, derrivative1, derrivative2);
newZero = chooseNewZero(zPlus, zMinus, zero);
[zero, iterations] = updateZeros(newZero, iterations, polynomial);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{calculateDerrivatives}
\begin{simplechar}
\begin{lstlisting}
function [derrivative0, derrivative1, derrivative2] = calculateDerrivatives(polynomial, zero)
derrivative0 = polynomial(zero);
derrivative1 = derivative(polynomial, zero, 1);
derrivative2 = derivative(polynomial, zero, 2);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{calculateZ}
\begin{simplechar}
\begin{lstlisting}
function [zPlus, zMinus] = calculateZ(degree, derrivative0, derrivative1, derrivative2)
expressionUnderSquareRoot = (degree - 1) * ((degree - 1) * derrivative1 ^ 2 - degree * derrivative0 * derrivative2);
lagsqrt = sqrt(expressionUnderSquareRoot);
zPlus = degree * derrivative0 / (derrivative1 + lagsqrt);
zMinus = degree * derrivative0 / (derrivative1 - lagsqrt);
end
\end{lstlisting}
\end{simplechar}
\subsubsection{chooseNewZero}
\begin{simplechar}
\begin{lstlisting}
function newZero = chooseNewZero(zPlus, zMinus, zero)
if abs(zPlus) < abs(zMinus)
newZero = zero - zPlus;
else
newZero = zero - zMinus;
end
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{updateZeros}
\begin{simplechar}
\begin{lstlisting}
function [zero, iterations] = updateZeros(newZero, iterations, polynomial)
zero = newZero;
iterations(:, size(iterations, 2) + 1) = [zero, polynomial(zero)];
end
\end{lstlisting}
\end{simplechar}
\subsection{rootBrackering.m}
\subsubsection{updateZeros}
\begin{simplechar}
\begin{lstlisting}
% find the root brackets of a function within the given range
function rootBrackets = rootBracketing(givenFunction, intervalLeft, intervalRight)
[a, b, rootBrackets, resolution] = initializeValues(intervalLeft, intervalRight);
rootBrackets = bracketingLoop(a, b, rootBrackets, intervalRight, resolution, givenFunction);
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{initializeValues}
\begin{simplechar}
\begin{lstlisting}
function [a, b, rootBrackets, resolution] = initializeValues(intervalLeft, intervalRight)
% define search resolution
resolution = (intervalRight - intervalLeft) / 6;
% The higher the value of denominator the less iterations will it take
% to reach the roots, however in order to have nice graph showing those
% brackets I will choose relatively small denominator - I have choosen
% the smallest natural number that still generates brackets on a graph
% start search at the start of the range
a = intervalLeft;
b = intervalLeft + resolution;
rootBrackets = double.empty(2, 0); % initialize empty vector of size 2
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsubsection{bracketingLoop}
\begin{simplechar}
\begin{lstlisting}
function rootBrackets = bracketingLoop(a, b, rootBrackets, intervalRight, resolution, givenFunction)
while b ~= intervalRight % if the bracket can't be expanded end loop
% if the function changes sign inside the interval that means that we passed through a root that means that a bracket has been found
if sign(givenFunction(a)) ~= sign(givenFunction(b))
% save bracket
rootBrackets(:, size(rootBrackets, 2) + 1) = [a, b]; % Add the new bracket to existing ones
end
% check next bracket
a = b;
b = min(a + resolution, intervalRight);
% Once a + resolution > intervalRight, then we will know that we
% reached beyond the interval and we must stop
end
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsection{printGraph.m}
\begin{simplechar}
\begin{lstlisting}
% graph the real roots of a function
function printGraph(taskFunction, algorithmName, algorithm, interval, rootBrackets, plotTitle)
figure()
grid on; % Get y values lines
hold on; % Retain current plot when adding new plots
title([plotTitle, algorithmName]);
set(gca, 'XAxisLocation', 'origin'); % Set properties of current axis
x = interval(1):0.01:interval(2);
% x is a vector of values between left and right interval with every value being higher by 0.01
y = arrayfun(taskFunction, x); % We sketch the function from task for each x
plot(x, y);
% iterate over rootBrackets and add them to the plot
for rootBracket = rootBrackets
% find all zeros within the bracket using the given algorithm
% Get all steps from the algorithm we use
[~, steps] = algorithm(taskFunction, rootBracket(1), rootBracket(2), 1e-10);
firstStepColor = [1 0 0]; % Red
otherStepsColor = [0 1 0]; % Green
% plot first steps
scatter(steps(1, 1), steps(2, 1), [], firstStepColor);
text(steps(1, 1), steps(2, 1), 'firstStep', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'top'); % It makes text appear neatly
% plot other steps
scatter(steps(1, 2:end), steps(2, 2:end), [], otherStepsColor);
% print root table
disp([plotTitle, ' (', algorithmName, ')']);
columns = {'step', 'root', 'value at root'};
disp(table((1:size(steps, 2))', steps(1, :)', steps(2, :)', 'VariableNames', columns));
end
end
\end{lstlisting}
\end{simplechar}
\newpage
\subsection{printComplexGraph.m}
\begin{simplechar}
\begin{lstlisting}
% graph the complex roots of a function
function printComplexGraph(printComplexGraph, algorithmName, algorithm, rootBrackets, plottitle)
figure();
grid on; % Get y values lines
hold on; % Retain current plot when adding new plots
title([plottitle, algorithmName]);
xlabel("Real part");
ylabel("Imaginary part");
set(gca, 'XAxisLocation', 'origin'); % Set properties of current axis
% find all zeros within the bracket using the given algorithm
[~, steps] = algorithm(printComplexGraph, rootBrackets(1), rootBrackets(2), 1e-15);
% plot first step
text(real(steps(1, 1)), imag(steps(1, 1)), 'start', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'top');
% plot steps on graph
plot(real(steps(1, :)), imag(steps(1, :)), '-x');
% plot last step
text(real(steps(1, end)), imag(steps(1, end)), 'end', 'HorizontalAlignment', 'center', 'VerticalAlignment', 'top');
% print root table
disp([plottitle, ' (', algorithmName, ')']);
columns = {'step', 'root', 'abs value at root'};
disp(table([1:size(steps, 2)]', steps(1, :)', abs(steps(2, :))', 'VariableNames', columns));
end
\end{lstlisting}
\end{simplechar}
\begin{thebibliography}{9}
\bibitem{texbook}
Piotr Tatjewski (2014) \emph{Numerical Methods}, Oficyna Wydawnicza Politechniki Warszawskiej

View File

@ -1,25 +1,95 @@
\contentsline {chapter}{\numberline {1}Find all zeros of function}{2}{chapter.1}%
\contentsline {section}{\numberline {1.1}a) False position method}{2}{section.1.1}%
\contentsline {subsection}{\numberline {1.1.1}Problem}{2}{subsection.1.1.1}%
\contentsline {subsection}{\numberline {1.1.2}Theoretical Introduction}{2}{subsection.1.1.2}%
\contentsline {subsubsection}{Properties of \emph {false position method}}{3}{section*.2}%
\contentsline {paragraph}{Improvement to the method}{3}{section*.3}%
\contentsline {subsection}{\numberline {1.1.3}Results}{4}{subsection.1.1.3}%
\contentsline {section}{\numberline {1.2}b) the Newton's method}{4}{section.1.2}%
\contentsline {subsection}{\numberline {1.2.1}Problem}{4}{subsection.1.2.1}%
\contentsline {subsection}{\numberline {1.2.2}Theoretical Introduction}{4}{subsection.1.2.2}%
\contentsline {subsection}{\numberline {1.2.3}Results}{4}{subsection.1.2.3}%
\contentsline {chapter}{\numberline {2}Find real and complex roots of the polynomial}{5}{chapter.2}%
\contentsline {section}{\numberline {2.1}Problem}{5}{section.2.1}%
\contentsline {section}{\numberline {2.2}Theoretical Introduction}{5}{section.2.2}%
\contentsline {subsection}{\numberline {2.2.1}MM1}{6}{subsection.2.2.1}%
\contentsline {subsection}{\numberline {2.2.2}MM2}{7}{subsection.2.2.2}%
\contentsline {section}{\numberline {2.3}Results}{8}{section.2.3}%
\contentsline {subsection}{\numberline {2.3.1}Comparison of results between MM1 and MM2}{8}{subsection.2.3.1}%
\contentsline {subsection}{\numberline {2.3.2}Comparison of results between Newton's method and MM2}{8}{subsection.2.3.2}%
\contentsline {chapter}{\numberline {3}Find real and complex roots of the polynomial using Laguerre's method}{9}{chapter.3}%
\contentsline {section}{\numberline {3.1}Problem}{9}{section.3.1}%
\contentsline {section}{\numberline {3.2}Theoretical Introduction}{9}{section.3.2}%
\contentsline {section}{\numberline {3.3}Results}{10}{section.3.3}%
\contentsline {subsection}{\numberline {3.3.1}Comparison of results between MM1 and MM2}{10}{subsection.3.3.1}%
\contentsline {chapter}{\numberline {4}Code appendix}{11}{chapter.4}%
\contentsline {chapter}{\numberline {1}Find all zeros of function}{3}{chapter.1}%
\contentsline {section}{\numberline {1.1}a) False position method}{3}{section.1.1}%
\contentsline {subsection}{\numberline {1.1.1}Problem}{3}{subsection.1.1.1}%
\contentsline {subsection}{\numberline {1.1.2}Theoretical Introduction}{3}{subsection.1.1.2}%
\contentsline {subsubsection}{Properties of \emph {false position method}}{4}{section*.2}%
\contentsline {paragraph}{Improvement to the method}{4}{section*.3}%
\contentsline {subsection}{\numberline {1.1.3}Results}{5}{subsection.1.1.3}%
\contentsline {section}{\numberline {1.2}b) the Newton's method}{5}{section.1.2}%
\contentsline {subsection}{\numberline {1.2.1}Problem}{5}{subsection.1.2.1}%
\contentsline {subsection}{\numberline {1.2.2}Theoretical Introduction}{5}{subsection.1.2.2}%
\contentsline {subsection}{\numberline {1.2.3}Results}{5}{subsection.1.2.3}%
\contentsline {chapter}{\numberline {2}Find real and complex roots of the polynomial}{6}{chapter.2}%
\contentsline {section}{\numberline {2.1}Problem}{6}{section.2.1}%
\contentsline {section}{\numberline {2.2}Theoretical Introduction}{6}{section.2.2}%
\contentsline {subsection}{\numberline {2.2.1}MM1}{7}{subsection.2.2.1}%
\contentsline {subsection}{\numberline {2.2.2}MM2}{8}{subsection.2.2.2}%
\contentsline {section}{\numberline {2.3}Results}{9}{section.2.3}%
\contentsline {subsection}{\numberline {2.3.1}Comparison of results between MM1 and MM2}{9}{subsection.2.3.1}%
\contentsline {subsection}{\numberline {2.3.2}Comparison of results between Newton's method and MM2}{9}{subsection.2.3.2}%
\contentsline {chapter}{\numberline {3}Find real and complex roots of the polynomial using Laguerre's method}{10}{chapter.3}%
\contentsline {section}{\numberline {3.1}Problem}{10}{section.3.1}%
\contentsline {section}{\numberline {3.2}Theoretical Introduction}{10}{section.3.2}%
\contentsline {section}{\numberline {3.3}Results}{11}{section.3.3}%
\contentsline {subsection}{\numberline {3.3.1}Comparison of results between MM1 and MM2}{11}{subsection.3.3.1}%
\contentsline {chapter}{\numberline {4}Code appendix}{12}{chapter.4}%
\contentsline {section}{\numberline {4.1}Task 1}{12}{section.4.1}%
\contentsline {subsection}{\numberline {4.1.1}task1Bisection.m}{12}{subsection.4.1.1}%
\contentsline {subsubsection}{Top of task1Bisection.m}{12}{section*.4}%
\contentsline {subsubsection}{taskFunction}{12}{section*.5}%
\contentsline {subsubsection}{falsePosition}{13}{section*.6}%
\contentsline {subsubsection}{initialize}{13}{section*.7}%
\contentsline {subsubsection}{taskFunction}{13}{section*.8}%
\contentsline {subsubsection}{firstTwoIterations}{14}{section*.9}%
\contentsline {subsubsection}{falsePositionLoop}{14}{section*.10}%
\contentsline {subsubsection}{insideLoop}{15}{section*.11}%
\contentsline {subsubsection}{changeLastTwoAB}{15}{section*.12}%
\contentsline {subsubsection}{calculateZero}{16}{section*.13}%
\contentsline {subsubsection}{newSubInterval}{16}{section*.14}%
\contentsline {subsection}{\numberline {4.1.2}task1Newton.m}{16}{subsection.4.1.2}%
\contentsline {subsubsection}{Top of task1Newton.m}{16}{section*.15}%
\contentsline {subsubsection}{taskFunction}{17}{section*.16}%
\contentsline {subsubsection}{newtonMethod}{17}{section*.17}%
\contentsline {subsubsection}{initialize}{17}{section*.18}%
\contentsline {subsubsection}{newtonLoop}{17}{section*.19}%
\contentsline {subsubsection}{insideLoop}{18}{section*.20}%
\contentsline {subsubsection}{calculateZeroIterations}{18}{section*.21}%
\contentsline {subsubsection}{checkForDivergence}{18}{section*.22}%
\contentsline {section}{\numberline {4.2}Task 2}{19}{section.4.2}%
\contentsline {subsection}{\numberline {4.2.1}task2MM1.m}{19}{subsection.4.2.1}%
\contentsline {subsubsection}{Top of task2MM1}{19}{section*.23}%
\contentsline {subsubsection}{polynomial}{19}{section*.24}%
\contentsline {subsubsection}{mm1}{19}{section*.25}%
\contentsline {subsubsection}{initialize}{20}{section*.26}%
\contentsline {subsubsection}{mm1Loop}{20}{section*.27}%
\contentsline {subsubsection}{insideLoop}{20}{section*.28}%
\contentsline {subsubsection}{createEquationSystem}{21}{section*.29}%
\contentsline {subsubsection}{rootsOfQuadraticFormula}{21}{section*.30}%
\contentsline {subsubsection}{updateApproximations}{21}{section*.31}%
\contentsline {subsubsection}{initializeEquationSystem}{22}{section*.32}%
\contentsline {subsubsection}{solveEquationSystem}{22}{section*.33}%
\contentsline {subsubsection}{createApproximatedQuadraticFormula}{23}{section*.34}%
\contentsline {subsubsection}{findRootsOfQuadraticFormula}{23}{section*.35}%
\contentsline {subsubsection}{chooseNewRoot}{23}{section*.36}%
\contentsline {subsubsection}{addZeroToIterationVector}{23}{section*.37}%
\contentsline {subsubsection}{getWorstApproximationIndex}{24}{section*.38}%
\contentsline {subsubsection}{deleteWorstApproximation}{24}{section*.39}%
\contentsline {subsection}{\numberline {4.2.2}task2MM2.m}{25}{subsection.4.2.2}%
\contentsline {subsubsection}{top of task2MM2.m}{25}{section*.40}%
\contentsline {subsubsection}{polynomial}{25}{section*.41}%
\contentsline {subsubsection}{mm2}{25}{section*.42}%
\contentsline {subsubsection}{initialize}{25}{section*.43}%
\contentsline {subsubsection}{mm2Loop}{26}{section*.44}%
\contentsline {subsubsection}{insideLoop}{26}{section*.45}%
\contentsline {subsubsection}{getABC}{26}{section*.46}%
\contentsline {subsubsection}{findRoots}{26}{section*.47}%
\contentsline {subsubsection}{chooseNewApproximation}{27}{section*.48}%
\contentsline {subsubsection}{updateApproximations}{27}{section*.49}%
\contentsline {subsubsection}{derivative}{27}{section*.50}%
\contentsline {section}{\numberline {4.3}Task 3}{28}{section.4.3}%
\contentsline {subsubsection}{Top of Task 3}{28}{section*.51}%
\contentsline {subsubsection}{polynomial}{28}{section*.52}%
\contentsline {subsubsection}{laguerre}{28}{section*.53}%
\contentsline {subsubsection}{initialize}{29}{section*.54}%
\contentsline {subsubsection}{laguerreLoop}{29}{section*.55}%
\contentsline {subsubsection}{insideLoop}{29}{section*.56}%
\contentsline {subsubsection}{calculateDerrivatives}{30}{section*.57}%
\contentsline {subsubsection}{calculateZ}{30}{section*.58}%
\contentsline {subsubsection}{chooseNewZero}{30}{section*.59}%
\contentsline {subsubsection}{updateZeros}{31}{section*.60}%
\contentsline {subsection}{\numberline {4.3.1}rootBrackering.m}{31}{subsection.4.3.1}%
\contentsline {subsubsection}{updateZeros}{31}{section*.61}%
\contentsline {subsubsection}{initializeValues}{32}{section*.62}%
\contentsline {subsubsection}{bracketingLoop}{33}{section*.63}%
\contentsline {subsection}{\numberline {4.3.2}printGraph.m}{34}{subsection.4.3.2}%
\contentsline {subsection}{\numberline {4.3.3}printComplexGraph.m}{36}{subsection.4.3.3}%