<?xml version='1.0' encoding="utf-8"?>
      <rss version='2.0'>
      <channel>
      <title>Форум на Исходниках.RU</title>
      <link>https://forum.sources.ru</link>
      <description>Форум на Исходниках.RU</description>
      <generator>Форум на Исходниках.RU</generator>
  	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=723659</guid>
        <pubDate>Thu, 19 May 2005 21:09:52 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=723659</link>
        <description><![CDATA[e-moe: <strong class='tag-b'>shadeofgray</strong>, спсибо за критику, как появится время исправлю ;)]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=723009</guid>
        <pubDate>Thu, 19 May 2005 12:12:20 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=723009</link>
        <description><![CDATA[shadeofgray: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93534&view=findpost&p=708955'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>e&#045;moe &#064; <time class="tag-quote__quoted-time" datetime="2005-05-07T19:08:54+00:00">07.05.05, 19:08</time></span><div class='quote '>интеграл - площадь фигуры, а следовательно не может быть отрицательной, поэтому используем абсолютное значение функции (или по-русски модуль</div></div><br>
<strong class='tag-b'>Ошибка&#33;</strong> Вообще-то интеграл запросто может быть отрицательным. И интеграл это не площадь. Наоборот, площадь - это интеграл. А интеграл определяется совсем по-другому.<br>
<br>
Вообще, не хочу остужать энтузиазм или заниматься саморекламой, но загляните по адресу http://alglib.sources.ru/integral/]]></description>
        <author>shadeofgray</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710646</guid>
        <pubDate>Mon, 09 May 2005 20:22:24 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710646</link>
        <description><![CDATA[e-moe: понятно ;)]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710263</guid>
        <pubDate>Mon, 09 May 2005 11:50:58 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710263</link>
        <description><![CDATA[Romtek: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93534&view=findpost&p=710142'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>e&#045;moe &#064; <time class="tag-quote__quoted-time" datetime="2005-05-09T09:39:39+00:00">09.05.05, 09:39</time></span><div class='quote '>может сделать отдельную тему где писать все такие &quot;штучки&quot;, а тут все-таки написать нормальный исходник по интегрированию?</div></div>Зачем плодить лишние темы? &quot;Штучки&quot; можно вполне и здесь обсудить (это и есть цель темы).<br>
Как только появится что-то оформленное и обсуждённое, можно тогда создавать новую тему, в которую &quot;оно&quot; перемещается.]]></description>
        <author>Romtek</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710142</guid>
        <pubDate>Mon, 09 May 2005 09:39:39 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=710142</link>
        <description><![CDATA[e-moe: <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93534&view=findpost&p=709003'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romtek &#064; <time class="tag-quote__quoted-time" datetime="2005-05-07T20:06:03+00:00">07.05.05, 20:06</time></span><div class='quote '>e-moe, а теперь подробнее про каждый метод: :) </div></div><br>
Угу, я это и хочу расписать ;) :))<br>
Только вот не знаю, может сделать отдельную тему где писать все такие &quot;штучки&quot;, а тут все-таки написать нормальный исходник по интегрированию?<br>
<br>
<div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93534&view=findpost&p=709003'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romtek &#064; <time class="tag-quote__quoted-time" datetime="2005-05-07T20:06:03+00:00">07.05.05, 20:06</time></span><div class='quote '>...но я его с трудом понимаю.</div></div><br>
Эт точно, если не расписать как это работает, то я и сам скоро забуду....  :lol:]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=709003</guid>
        <pubDate>Sat, 07 May 2005 20:06:03 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=709003</link>
        <description><![CDATA[Romtek: <strong class='tag-b'>e-moe</strong>, а теперь подробнее про каждый метод: :) <br>
Что, как и почему.<br>
Не знаю на кого рассчитан сей код, но я его с трудом понимаю.]]></description>
        <author>Romtek</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=708955</guid>
        <pubDate>Sat, 07 May 2005 19:08:54 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=708955</link>
        <description><![CDATA[e-moe: Долго думал куда это запостить:  то ли в &quot;Маразм прогамееров&quot;, то ли в топик, где обсуждались самые &quot;корявые исходники&quot;  :lol: <br>
Решил запостить сюда, ведь это все работает(пусть не так оптимально как хотелось бы, но зато мало строк ;) )....<br>
Тем более <div class='tag-quote'><a class='tag-quote-link' href='https://forum.sources.ru/index.php?showtopic=93534&view=findpost&p=702447'><span class='tag-quote-prefix'>Цитата</span></a> <span class='tag-quote__quote-info'>Romtek &#064; <time class="tag-quote__quoted-time" datetime="2005-05-02T22:08:13+00:00">02.05.05, 22:08</time></span><div class='quote '>методы и пути решения, и т.д. ;)</div></div><br>
имхо, если грамотно раписать как это &quot;чудо&quot; работает, то это будет полезнее чем просто расписать как программить формулы ;)<br>
Подробнее см. комменты в конце кода...<br>
<br>
З.Ы. че скажите?<br>
<br>
<div class='tag-code'><span class='pre_code'></span><div class='code  code_collapsed ' title='Подсветка синтаксиса доступна зарегистрированным участникам Форума.' style=''><div><div><ol type="1"><div class="code_line">{</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Labinskiy Nikolay aka e-moe (c) 2005&#39;);</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;See you later on forum.sources.ru ;)&#39;);</div><div class="code_line">}</div><div class="code_line">{$N+,E+,G+}</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;a = -1.1;</div><div class="code_line">&nbsp;&nbsp;b = 0.9;</div><div class="code_line">&nbsp;</div><div class="code_line">type</div><div class="code_line">&nbsp;&nbsp;Tfunc = function(x: extended):extended;</div><div class="code_line">&nbsp;</div><div class="code_line">function func(x: extended): extended; far;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;func:=0.9*cos(-1.77*x)+2.65*exp(-1.57*x)-11.48*x*x*x*x+1.29*x-10.49;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function Int1(f: TFunc; a,b: extended; n: byte): extended;</div><div class="code_line">{ Правило трапеций }</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;res: double; &nbsp; { времееная переменная, будет хранить результат }</div><div class="code_line">&nbsp;&nbsp;{если extended, то надо обнулить отдельно, а не в цикле :( TP7.1}</div><div class="code_line">&nbsp;&nbsp;i: byte; &nbsp; &nbsp; &nbsp; { счетцик цикла }</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;{ на 0 делить нельзя! }</div><div class="code_line">&nbsp;&nbsp;inc(n,byte(n=0));</div><div class="code_line">&nbsp;&nbsp;for i:=0 to n do</div><div class="code_line">&nbsp;&nbsp; &nbsp;res:=res*byte(i&#60;&#62;0)+(byte((i&#62;0)and(i&#60;n))+1)*f(a+i*(b-a)/n)*(b-a)/n*0.5;</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;{ интеграл - площадь фигуры, а следовательно не может</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;быть отрицательной, поэтому используем абсолютное значение</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;функции (или по-русски модуль) }</div><div class="code_line">&nbsp;&nbsp;Int1:=res;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function Int2(f: TFunc; a,b: extended; n,m: byte): extended;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;{ n&#60;&#62;m &amp;&amp; n*m &#60;&#62; 0 }</div><div class="code_line">&nbsp;&nbsp;inc(n,byte(n=0));</div><div class="code_line">&nbsp;&nbsp;inc(m,byte(m=0)*(byte(n=1)+1)-byte((m=255) and (n=255))*2+byte(m=n));</div><div class="code_line">&nbsp;&nbsp;{ Для подготовки к вычислению надо в 2 раза больше строк чем</div><div class="code_line">&nbsp;&nbsp; &nbsp;на само вычисление... Странно, не так ли? :) }</div><div class="code_line">&nbsp;&nbsp;Int2:=Int1(f,a,b,n)+(Int1(f,a,b,n)-Int1(f,a,b,m))/((n*n)/(m*m)-1)</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function Int3(f: TFunc; a,b: extended; n: byte): extended;</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;res: double; {если extended, то надо обнулить отдельно, а не в цикле :( TP7.1}</div><div class="code_line">&nbsp;&nbsp;i: byte;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;inc(n,byte(n and 1)+byte(n=0)*2-byte(n=255)*2); &nbsp;{ (n mod 2=0) &amp;&amp; n&#60;&#62;0 }</div><div class="code_line">&nbsp;&nbsp;for i:=0 to n do</div><div class="code_line">&nbsp;&nbsp; &nbsp;res:=res*byte(n&#60;&#62;0)+(1 shl (byte((i&#62;0)and(i&#60;n))+byte(odd(i)and(i&#62;0)and(i&#60;n))))*f(a+i*(b-a)/n)*(b-a)/n/3;</div><div class="code_line">&nbsp;&nbsp;Int3:=res;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">function Int4(f: TFunc; a,b: extended; n: byte): extended;</div><div class="code_line">const</div><div class="code_line">&nbsp;&nbsp;AiMi : array[2..6,1..12] of extended =</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; ((0.5773502692,1,-0.5773502692,1,0,0,0,0,0,0,0,0),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (0.7745966692,0.5555555556,-0.7745966692,0.5555555556,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0,0.8888888889,0,0,0,0,0,0),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (0.8611363116,0.3478548451,-0.8611363116,0.3478548451,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.3399810436,0.6521451549,-0.3399810436,0.6521451549,0,0,0,0),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (0.9061798459,0.2369268851,-0.9061798459,0.2369268851,0.5384693101,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.4786286705,-0.5384693101,0.4786286705,0.0,0.5688888889,0,0),</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; (0.9324695142,0.1713244924,-0.9324695142,0.1713244924,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.6612093865,0.3607615730,-0.6612093865,0.3607615730,</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 0.2386191861,0.4679139346,-0.2386191861,0.4679139346));</div><div class="code_line">var</div><div class="code_line">&nbsp;&nbsp;i:byte;</div><div class="code_line">&nbsp;&nbsp;res: double; {если extended, то надо обнулить отдельно, а не в цикле :( TP7.1}</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;{ n&#62;=2 &amp;&amp; n &#60;=6 }</div><div class="code_line">&nbsp;&nbsp;inc(n,byte(n&#60;2)*(2-n)-byte(n&#62;6)*(n-6));</div><div class="code_line">&nbsp;&nbsp;for i:=1 to n do</div><div class="code_line">&nbsp;&nbsp; &nbsp;res:=res*byte(i&#60;&#62;1)+AiMi[n,i*2]*((b-a)*f((b-a)*AiMi[n,i*2-1]/2+(b+a)/2)/2);</div><div class="code_line">&nbsp;&nbsp;Int4:=res;</div><div class="code_line">end;</div><div class="code_line">&nbsp;</div><div class="code_line">begin</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39; &nbsp; &nbsp; Численное интегрирование:&#39;,#10);</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;f(x) = 0.9*cos(-1.77x) + 2.65*e^(-1.57x) - 11.48*x^4 + 1.29x - 10.49&#39;);</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Int(-1.1, 0.9)[f(x)]&#39;,#10);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Правило трапеций:&#39;);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=2 &nbsp; &nbsp; &nbsp;I=&#39;,Int1(func,a,b,2):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=8 &nbsp; &nbsp; &nbsp;I=&#39;,Int1(func,a,b,8):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=32 &nbsp; &nbsp; I=&#39;,Int1(func,a,b,32):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=64 &nbsp; &nbsp; I=&#39;,Int1(func,a,b,64):5:5);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Экстраполяционный переход к пределу::&#39;);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=2,8 &nbsp; &nbsp;I=&#39;,Int2(func,a,b,2,8):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=8,16 &nbsp; I=&#39;,Int2(func,a,b,8,16):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=16,32 &nbsp;I=&#39;,Int2(func,a,b,16,32):5:5);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Правило Симпсона:&#39;);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=2 &nbsp; &nbsp; &nbsp;I=&#39;,Int3(func,a,b,2):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=8 &nbsp; &nbsp; &nbsp;I=&#39;,Int3(func,a,b,8):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=32 &nbsp; &nbsp; I=&#39;,Int3(func,a,b,32):5:5);</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp;Writeln(&#39;Метод Гаусса:&#39;);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=2 &nbsp; &nbsp; &nbsp;I=&#39;,Int4(func,a,b,2):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=3 &nbsp; &nbsp; &nbsp;I=&#39;,Int4(func,a,b,3):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=4 &nbsp; &nbsp; &nbsp;I=&#39;,Int4(func,a,b,4):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=5 &nbsp; &nbsp; &nbsp;I=&#39;,Int4(func,a,b,5):5:5);</div><div class="code_line">&nbsp;&nbsp;writeln(&#39;n=6 &nbsp; &nbsp; &nbsp;I=&#39;,Int4(func,a,b,6):5:5);</div><div class="code_line">&nbsp;</div><div class="code_line">end.</div><div class="code_line">З.Ы.</div><div class="code_line">&nbsp;&nbsp; &nbsp; не знаю что на меня нашло :), но я решил макисмально</div><div class="code_line">&nbsp;&nbsp; &nbsp; сократить число строк во всех функциях, вот что из</div><div class="code_line">&nbsp;&nbsp; &nbsp; всего этого вышло... :)</div><div class="code_line">&nbsp;</div><div class="code_line">З.З.Ы.</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp;параметры функций:</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;f - ссылка на подинтегральную функцию</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;a,b - координаты начальной и конечной точнек интегрирования</div><div class="code_line">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;n[,m] - чило разбиений.</div><div class="code_line">&nbsp;</div><div class="code_line">&nbsp;&nbsp; &nbsp; в функции можно передавать любые n и m: если нужно,</div><div class="code_line">&nbsp;&nbsp; &nbsp; то прога сама их подправит так, как нужно для</div><div class="code_line">&nbsp;&nbsp; &nbsp; конкретного метода;)</div><div class="code_line">&nbsp;</div><div class="code_line">З.З.З.Ы.</div><div class="code_line">&nbsp;&nbsp; &nbsp; как это работает? а кто его знает... я уже и</div><div class="code_line">&nbsp;&nbsp; &nbsp; сам не пойму :) а если серьезно, то могу помочь</div><div class="code_line">&nbsp;&nbsp; &nbsp; разобраться что тут к чему ;)</div></ol></div></div></div></div><script>preloadCodeButtons('1');</script><br>
<br>
Че-то мне кажется, что более короткой реализации этих процедур еще не делали ;)  :lol:]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=703617</guid>
        <pubDate>Tue, 03 May 2005 18:18:49 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=703617</link>
        <description><![CDATA[e-moe: ok, буду че-то думать ;)]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=702447</guid>
        <pubDate>Mon, 02 May 2005 22:08:13 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=702447</link>
        <description><![CDATA[Romtek: Теория - это, конечно, хорошо. Но всё же я рекомендую составлять поэтапное решение поставленных задач, опираясь на источники теории, дабы научить народ переводить математические формулы в программный код.<br>
<strong class='tag-b'>Важна &quot;история&quot; развития программы</strong>: с чего начинать (типы, процедуры, циклы), методы и пути решения, и т.д. ;)]]></description>
        <author>Romtek</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      <item>
        <guid isPermaLink='true'>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=702413</guid>
        <pubDate>Mon, 02 May 2005 20:59:39 +0000</pubDate>
        <title>Численное интегрирование</title>
        <link>https://forum.sources.ru/index.php?showtopic=93534&amp;view=findpost&amp;p=702413</link>
        <description><![CDATA[e-moe: subj in attach (CP-866)<br><br>Че скажите?<br><br>09.05.05: Исправил ошибку в методе Симпсона...]]></description>
        <author>e-moe</author>
        <category>Все языки: Статьи, заготовки в FAQ</category>
      </item>
	
      </channel>
      </rss>
	