mirror of
https://github.com/TheAlgorithms/C-Plus-Plus.git
synced 2026-03-22 12:52:48 +08:00
Documentation for 67e26cfbae
This commit is contained in:
@@ -178,7 +178,7 @@ Functions</h2></td></tr>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>value of f(x) for given x. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  {</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> (x*x-x); <span class="comment">// original equation</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="keywordflow">return</span> (x * x - x); <span class="comment">// original equation</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -207,30 +207,33 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Main function. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">float</span> a=0, b=0,i=0,root=0;</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  int16_t count=0;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="keywordtype">float</span> range = 100000; <span class="comment">//Range in which we have to find the root. (-range,range)</span></div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">float</span> gap = 0.5; <span class="comment">// interval gap. lesser the gap more the accuracy</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  a = <a class="code" href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">numerical_methods::false_position::eq</a>((-1)*range);</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  i=((-1)*range + gap);</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="comment">//while loop for selecting proper interval in provided range and with provided interval gap.</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">while</span>(i<=range){</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  b = <a class="code" href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">numerical_methods::false_position::eq</a>(i);</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <span class="keywordflow">if</span>(b==0){</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  count++;</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="../../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345">numerical_methods::false_position::printRoot</a>(i,count);</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">if</span>(a*b<0){</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  root = <a class="code" href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">numerical_methods::false_position::regula_falsi</a>(i-gap,i,a,b);</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  count++;</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <a class="code" href="../../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345">numerical_methods::false_position::printRoot</a>(root,count);</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  }</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  a=b;</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  i+=gap;</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> }</div>
|
||||
<div class="fragment"><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  {</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="keywordtype">float</span> a = 0, b = 0, i = 0, root = 0;</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  int16_t count = 0;</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  <span class="keywordtype">float</span> range =</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  100000; <span class="comment">// Range in which we have to find the root. (-range,range)</span></div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordtype">float</span> gap = 0.5; <span class="comment">// interval gap. lesser the gap more the accuracy</span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  a = <a class="code" href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">numerical_methods::false_position::eq</a>((-1) * range);</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  i = ((-1) * range + gap);</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// while loop for selecting proper interval in provided range and with</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">// provided interval gap.</span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <span class="keywordflow">while</span> (i <= range) {</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  b = <a class="code" href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">numerical_methods::false_position::eq</a>(i);</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">if</span> (b == 0) {</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  count++;</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  <a class="code" href="../../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345">numerical_methods::false_position::printRoot</a>(i, count);</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  }</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <span class="keywordflow">if</span> (a * b < 0) {</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  root = <a class="code" href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">numerical_methods::false_position::regula_falsi</a>(i - gap, i,</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  a, b);</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  count++;</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <a class="code" href="../../dd/d29/false__position_8cpp.html#a85cb7bfb90abc898e042d624372c5345">numerical_methods::false_position::printRoot</a>(root, count);</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  }</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  a = b;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  i += gap;</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -268,20 +271,17 @@ Here is the call graph for this function:</div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span>(count==1){</div>
|
||||
<div class="fragment"><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  {</div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <span class="keywordflow">if</span> (count == 1) {</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your 1st root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  }</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(count==2){</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your 2nd root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  }</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">else</span> <span class="keywordflow">if</span>(count==3){</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your 3rd root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count == 2) {</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your 2nd root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (count == 3) {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your 3rd root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your "</span> << count << <span class="stringliteral">"th root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">else</span>{</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Your "</span><<count<<<span class="stringliteral">"th root is : "</span> << root << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> }</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -346,29 +346,28 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>root of the equation in the given interval. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keywordtype">float</span> diff = x1-x2;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordflow">if</span>(diff<0){</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  diff= (-1)*diff;</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  }</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">if</span>(diff<0.00001){ </div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">if</span> (y1<0) {</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  y1=-y1;</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  }</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (y2<0) {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  y2=-y2;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="keywordflow">if</span> (y1<y2) {</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">return</span> x1;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  }</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  {</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keywordtype">float</span> diff = x1 - x2;</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  <span class="keywordflow">if</span> (diff < 0) {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  diff = (-1) * diff;</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  }</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="keywordflow">if</span> (diff < 0.00001) {</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="keywordflow">if</span> (y1 < 0) {</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  y1 = -y1;</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  }</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">if</span> (y2 < 0) {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  y2 = -y2;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> (y1 < y2) {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> x1;</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> x2;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">float</span> x3=0,y3=0;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  x3 = x1 - (x1-x2)*(y1)/(y1-y2);</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">float</span> x3 = 0, y3 = 0;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  x3 = x1 - (x1 - x2) * (y1) / (y1 - y2);</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  y3 = <a class="code" href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">eq</a>(x3);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <a class="code" href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">regula_falsi</a>(x2,x3,y2,y3);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <a class="code" href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">regula_falsi</a>(x2, x3, y2, y3);</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -381,7 +380,7 @@ Here is the call graph for this function:</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div class="ttc" id="afalse__position_8cpp_html_a7d69b49dc37da1c02b3ab8c7fe783494"><div class="ttname"><a href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">numerical_methods::false_position::regula_falsi</a></div><div class="ttdeci">static float regula_falsi(float x1, float x2, float y1, float y2)</div><div class="ttdoc">This function finds root of the equation in given interval i.e. (x1,x2).</div><div class="ttdef"><b>Definition:</b> false_position.cpp:54</div></div>
|
||||
<div class="ttc" id="afalse__position_8cpp_html_a7d69b49dc37da1c02b3ab8c7fe783494"><div class="ttname"><a href="../../dd/d29/false__position_8cpp.html#a7d69b49dc37da1c02b3ab8c7fe783494">numerical_methods::false_position::regula_falsi</a></div><div class="ttdeci">static float regula_falsi(float x1, float x2, float y1, float y2)</div><div class="ttdoc">This function finds root of the equation in given interval i.e. (x1,x2).</div><div class="ttdef"><b>Definition:</b> false_position.cpp:55</div></div>
|
||||
<div class="ttc" id="afalse__position_8cpp_html_a85a6ec58b5064d63d4f0df3854496713"><div class="ttname"><a href="../../dd/d29/false__position_8cpp.html#a85a6ec58b5064d63d4f0df3854496713">numerical_methods::false_position::eq</a></div><div class="ttdeci">static float eq(float x)</div><div class="ttdoc">This function gives the value of f(x) for given x.</div><div class="ttdef"><b>Definition:</b> false_position.cpp:44</div></div>
|
||||
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
|
||||
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
|
||||
|
||||
Reference in New Issue
Block a user