Π‘Π°ΠΊΠ°Π»Π°Π²Ρ€
Π”ΠΈΠΏΠ»ΠΎΠΌΠ½Ρ‹Π΅ ΠΈ курсовыС Π½Π° Π·Π°ΠΊΠ°Π·

ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ вычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ²

Лабораторная Ρ€Π°Π±ΠΎΡ‚Π°ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

Π’Ρ‹Π²ΠΎΠ΄: ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мСньшС ΡƒΠ·Π»ΠΎΠ², Ρ‡Π΅ΠΌ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ (количСство ΡƒΠ·Π»ΠΎΠ² Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ мСньшС). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ число арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² мСньшС, Ρ‡Π΅ΠΌ Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Π£ ΠΎΠ±Π΅ΠΈΡ… ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ…… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ вычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

Π‘Π•Π›ΠžΠ Π£Π‘Π‘ΠšΠ˜Π™ Π“ΠžΠ‘Π£Π”ΠΠ Π‘Π’Π’Π•ΠΠΠ«Π™ Π£ΠΠ˜Π’Π•Π Π‘Π˜Π’Π•Π’ Π€ΠΠšΠ£Π›Π¬Π’Π•Π’ ΠŸΠ Π˜ΠšΠ›ΠΠ”ΠΠžΠ™ ΠœΠΠ’Π•ΠœΠΠ’Π˜ΠšΠ˜ И Π˜ΠΠ€ΠžΠ ΠœΠΠ’ИКИ Π›ΠΠ‘ΠžΠ ΠΠ’ΠžΠ ΠΠΠ― Π ΠΠ‘ΠžΠ’Π № 1

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ числСнного Π°Π½Π°Π»ΠΈΠ·Π° ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ вычислСниС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»ΠΎΠ² МИНБК — 2014

ΠŸΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ

1. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ стСпСни точности Π²ΠΈΠ΄Π°

.

2. ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ точности ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

.

ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° алгСбраичСский ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»

3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π ΡƒΠ½Π³Π΅, провСсти ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ» срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° .

4. Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» .

5. Найти с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ уравнСния .

РСшСниС

Π—Π°Π΄Π°Ρ‡Π° № 1

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ стСпСни точности Π²ΠΈΠ΄Π°

.

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ систСму Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π²ΠΈΠ΄Π°:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ:

РСшСниС этой систСмы Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:, ,, .

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΠΉ стСпСни точности Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΈΠ΄:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: вычислСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π—Π°Π΄Π°Ρ‡Π° № 2

ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π°Π»Π³Π΅Π±Ρ€Π°ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ точности ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹

.

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π²ΠΎΠΉ части

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π»Π΅Π²ΠΎΠΉ части

Из Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ АБВ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Ρ€Π°Π²Π½Π° 5.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: вычислСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

Π—Π°Π΄Π°Ρ‡Π° № 3

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π ΡƒΠ½Π³Π΅, провСсти ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π°Π½Π°Π»ΠΈΠ· ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ» срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ вычислСния ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° .

Π€ΠΎΡ€ΠΌΡƒΠ»Π° срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²:

.

Π€ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ:

.

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Π ΡƒΠ½Π³Π΅:

Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ достигнута ΠΈ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ .

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ сравнСния

КЀ ΡΡ€Π΅Π΄Π½ΠΈΡ… ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ²

КЀ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ

Кол-Π²ΠΎ ΡƒΠ·Π»ΠΎΠ² Π² ΠΏΡ€ΠΎΡΡ‚ΠΎΠΉ КЀ

Класс Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ

Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для достиТСния точности

Π¨Π°Π³, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для достиТСния точности

0,125

0,0625

ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ =)

0,478 441

0,479 534

Число ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… для достиТСния точности

Π¨Π°Π³, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для достиТСния точности

ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ =)

0,4 791 634 314

0,4 791 635 669

Π’Ρ‹Π²ΠΎΠ΄: ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, Ρ‡Ρ‚ΠΎ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ мСньшС ΡƒΠ·Π»ΠΎΠ², Ρ‡Π΅ΠΌ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ (количСство ΡƒΠ·Π»ΠΎΠ² Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ мСньшС). Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚ Π΄Π°Π΅Ρ‚ Π½Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ число арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π·Π°Ρ‚Ρ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² мСньшС, Ρ‡Π΅ΠΌ Ρƒ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ. Π£ ΠΎΠ±Π΅ΠΈΡ… ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡƒΠ» функция являСтся Π΄Π²Π°ΠΆΠ΄Ρ‹ Π΄ΠΈΡ„Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ, поэтому трСбуСмая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ достигаСтся ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ. Но Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π½Π΅Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ быстрСС достигаСт Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ точности, Ρ‡Π΅ΠΌ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ, Ссли ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ большС ΠΎΠΏΡ‹Ρ‚ΠΎΠ² (для нашСй Π·Π°Π΄Π°Ρ‡ΠΈ). Π˜ΡΡ…ΠΎΠ΄Ρ ΠΈΠ· Π½Π°ΡˆΠΈΡ… Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ² Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π°, Ρ‡Π΅ΠΌ квадратурная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° Ρ‚Ρ€Π°ΠΏΠ΅Ρ†ΠΈΠΉ, Ρ‚.ΠΊ. Π·Π° ΠΎΠ΄Π½Ρƒ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ ΠΎΠ½Π° Π΄Π΅Π»Π°Π΅Ρ‚ мСньшСС количСство арифмСтичСских ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π΄Π°Ρ‡ΠΈ β„–3(язык программирования Java 6):

public class Test{

public static double e = 0.001,//0.1

a = 1, b = 3;

public static double f_x (double x){

return Math.log(Math.sin(x)*Math.sin(x)+3)/(x*x+2*x-1);

}

public static double f_middle_rect (int n){

double sum = 0.0;

for(int i=1; i<=n; i++) sum += f_x(a+(i-0.5)*(b-a)/n);

return sum*(b-a)/n;

}

public static double f_trap (int n){

double sum = 0.5*(f_x(a)+f_x(b));

for(int i=1; if_x (a+i*(b-a)/n);

return sum*(b-a)/n;

}

public static double h (int n){ return (b-a)/n; }

public static void main (String[] args){

int n1 = 1, n2 = 2, i = 1; double f;

while((f = Math.abs(h(n2)*h(n2)*(f_middle_rect(n2) —f_middle_rect(n1))/

(h(n1)*h(n1) —h(n2)*h(n2))))>e){ n1 *= 2; n2 *= 2; i++;}

System.out.printf («%dn%.10fn%.10fn», i, h(n2), f_middle_rect(n2)+f*h(n2)*h(n2));

n1 = 1; n2 = 2; i = 1;

while((f = Math.abs(h(n2)*h(n2)*(f_trap(n2) —f_trap(n1))/

(h(n1)*h(n1) —h(n2)*h(n2))))>e){ n1 *= 2; n2 *= 2; i++;}

System.out.printf («%dn%.10fn%.10fn», i, h(n2), f_trap(n2)+f*h(n2)*h(n2));

}

}

Π—Π°Π΄Π°Ρ‡Π° № 4

Π’Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» .

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ исходный ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π» ΠΊ Π±ΠΎΠ»Π΅Π΅ ΠΆΠ΅Π»Π°Π½Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ:

Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡΡ Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΎΠΉ:

ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ дальнСйшиС вычислСния ΠΏΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅, начиная с =1, =2. На ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅ΠΌ значСния, Π² 2 Ρ€Π°Π·Π°. ВрСбуСмая Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ достигаСтся ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ условия:

ΠžΡ‚Π²Π΅Ρ‚: послС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ k=4, Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π²Π½Π° 0,145 681, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° с Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΠΎΠΉ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ .

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π΄Π°Ρ‡ΠΈ β„–4(язык программирования Java 6):

public class Test{

public static double e = 0.0001, a = -1, b = 1;

public static double f_x (double x){

return (1-x*x)*Math.sin(x*x)/(1+Math.log(x+1)*Math.log(x+1));

}

public static double f_NAST (int n){

double sum = 0.0;

for(int i=0; i<=n; i++) sum += f_x(Math.cos(Math.PI*(2*i+1)/(2*n+2)));

return sum*Math.PI/(n+1);

}

public static void main (String[] args){

int n1 = 1, n2 = 2, i = 1; double f;

while((f = Math.abs(f_NAST(n2) —f_NAST(n1)))>e){ n1 *= 2; n2 *= 2; i++; }

System.out.printf («%dn%.10fn%.10fn», i, f, f_NAST(n2));

}

}

Π—Π°Π΄Π°Ρ‡Π° № 5

Найти с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ уравнСния

ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ΅ ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠ΅:

Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΡŒΡŽΡ‚ΠΎΠ½Π° ΠΏΠΎ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅:

Наша расчСтная Ρ„ΠΎΡ€ΠΌΡƒΠ»Π° для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ уравнСния ΠΏΡ€ΠΈΠΌΠ΅Ρ‚ Π²ΠΈΠ΄:

ΠŸΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π°, находящСгося Π² Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»Π΅ расчСтной Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρ‹ для нахоТдСния корня уравнСния, Π±ΡƒΠ΄Π΅ΠΌ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΏΠΎ ΡΠΎΡΡ‚Π°Π²Π½ΠΎΠΉ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΡƒΡ€Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡƒΠ»Π΅ срСдних ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π ΡƒΠ½Π³Π΅ (Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ).

Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ€Π½Π΅ΠΉ:

1. с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ; с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ ;

2., Π½Π΅ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ ΠΈ ΡΠΎΡ…раняСт Π·Π½Π°ΠΊ Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅; , Π½Π΅ Ρ€Π°Π²Π½Π° Π½ΡƒΠ»ΡŽ ΠΈ ΡΠΎΡ…раняСт Π·Π½Π°ΠΊ Π½Π° ΠΎΡ‚Ρ€Π΅Π·ΠΊΠ΅ ;

3. ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ·ΡŒΠΌΠ΅ΠΌ. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ условия Π€ΡƒΡ€ΡŒΠ΅:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΌΡ‹ Π½Π°ΡˆΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΡ€ΠΈΠ±Π»ΠΈΠΆΠ΅Π½ΠΈΠ΅ для нахоТдСния корня нашСго Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ уравнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠΡŒΡŽΡ‚ΠΎΠ½Π°: .

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: вычислСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π½Π° WolframAlpha.

ΠžΡ‚Π²Π΅Ρ‚: послС запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ: ΠΏΡ€ΠΈ количСствС ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ , с Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΡŽ (квадратичная ΡΡ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΡŒΡŽΡ‚ΠΎΠ½Π°).

Π˜Ρ‚Π΅Ρ€Π°Ρ†ΠΈΡ

РСшСниС Π½Π΅Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠ³ΠΎ уравнСния

Π’ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ

2,67 254 642

0,227 453 578 767 844

2,52 436 649

0,148 179 930 565 486

2,46 362 236

0,60 744 123 524 822

2,45 478 895

0,8 833 410 818 934

2,45 462 216

0,166 793 744 647

2,45 462 210

0,59 009 325

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ для Π·Π°Π΄Π°Ρ‡ΠΈ β„–5(язык программирования Java 6):

public class Test{

public final static double e = 0.0001, a = 0;

public static double f_x (double x){ //ΠΏΠΎΠ΄Ρ‹Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅.

return Math.pow(x-1, 6)*(Math.log10(Math.pow(x*x+1, 0.5))+2);

}

public static double df_dx (double x){ //производная ΠΏΠΎΠ΄Ρ‹Π½Ρ‚Π΅Π³Ρ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ выраТСния.

return 6*Math.pow(x-1, 5)*(Math.log10(Math.pow(x*x+1, 0.5))+2)+

x*Math.pow(x-1, 6)/(Math.log(10)*(x*x+1));

}

public static double f_middle_rect (double b, double h, int n){ //КЀБП.

double sum = 0.0;

for(int i=1; i<=n; i++) sum += f_x(a+(i-0.5)*h);

return sum*h;

}

public static double calc_integral_acc (double b){ //ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ Π ΡƒΠ½Π³Π΅.

int n1 = 1, n2 = 2;

double f, h1 = (b-a)/n1, h2 = (b-a)/n2,

I1 = f_middle_rect(b, h1, n1), I2 = f_middle_rect(b, h2, n2);

while((f = Math.abs(h2*h2*(I2-I1)/(h1*h1-h2*h2)))>e){

n1 = n2; n2 *= 2; h1 = h2; h2 /= 2;

I1 = I2; I2 = f_middle_rect(b, h2, n2);

}

return I2+f*h2*h2; //Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Π»Π° с Ρ‚ΠΎΡ‡Π½ΠΎΡΡŒΡŽ e.

}

public static double calc_newton (double x){ //ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΡŒΡŽΡ‚ΠΎΠ½Π°.

return x-(calc_integral_acc(x)-5.0)/f_x(x);

}

public static void main (String[] args){

System.out.println (calc_integral_acc(3)-5);//для отдСлСния ΠΊΠΎΡ€Π½Π΅ΠΉ. 2,3].

System.out.println (f_x(2.9)); //для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

System.out.println (df_dx(2.9));//для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.

System.out.println ((calc_integral_acc(2.9)-5)*df_dx(2.9));// условиС Π€ΡƒΡ€ΡŒΠ΅.

double xk = 0.0, xk1 = 2.9; int i = 0;

while(true){

xk = xk1; xk1 = calc_newton(xk);

i++;

if(Math.abs(xk1-xk)<e) break;

System.out.printf («%dn%.15fn%.15fn», i, xk1, Math.abs(xk1-xk));

}

System.out.printf («%dn%.15fn%.15fn», i, xk1, Math.abs(xk1-xk));

}

}

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ