Навчальний посібник Львів ліга-прес 2008 ббк 22. 1 Математика Обчисл матем., числ аналіз та програмування



Сторінка1/5
Дата конвертації03.12.2016
Розмір0.79 Mb.
  1   2   3   4   5


Міністерство освіти і науки України

ІНСТИТУТ ПІДПРИЄМНИЦТВА ТА ПЕРСПЕКТИВНИХ ТЕХНОЛОГІЙ ПРИ НАЦІОНАЛЬНОМУ УНІВЕРСИТЕТІ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»


Матвійчук Я.М.


Методи та алгоритми обчислень на ЕОМ
Навчальний посібник

Львів


ЛІГА-ПРЕС

2008
ББК 22.1 – Математика

УДК 519.6 – Обчисл. матем., числ. аналіз та програмування.

Друкується за ухвалою Вченої ради Інституту підприємництва та перспективних технологій при Національному університеті «Львівська політехніка»

(Протокол №2 від 24 жовтня 2007 року)

Рецензенти: Мандзій Б.А., д.т.н., проф.

Остудін Б.А., к.ф.-м.н., доц.

Щербина Ю.М., к.ф.-м.н., доц.

Матвійчук Я.М. Методи та алгоритми обчислень на ЕОМ / Навч. посібник. – Львів: Ліга-Прес, 2008. – 84 с.
ISBN 978-966-397-085-6
Навчальний посібник містить стислий виклад числових методів та алгоритмів розв’язування типових математичних задач, достатній для початкового вивчення предмету.

Розглянуто поняття числового методу та алгоритму його реалізації на електронній обчислювальній машині (ЕОМ). Викладено методи та алгоритми розв’язування систем лінійних і нелінійних алгебричних рівнянь, основи поліноміальної інтерполяції та апроксимації, зокрема степеневими поліномами і кубічними сплайнами, числовий обрахунок означених інтегралів та похідних, елементи оптимізації та лінійного програмування, поняття про числове розв’язування звичайних диференціальних рівнянь, зокрема жорстких.

Оскільки посібник призначено для початкового вивчення предмету, математична строгість не є визначальною. Натомість значна увага звернена на доступність, лаконічність, логічну послідовність викладу та обгрунтування доцільності саме числових методів розв’язування задач. Текст оживляють стислі інформації про вчених, імена яких пов’язані з викладом.

Лекційний матеріал супроводжують приклади програм на мові MATLAB-6, які студенти опрацьовують на практичних і лабораторних заняттях. Активне вивчення системи і мови MATLAB відбувається під час виконання практичних і лабораторних без окремих лекцій. Такий підхід передбачає певний рівень підготовки з програмування, бажано на рівні мови C.

ISBN 978-966-397-085-6
© Матвійчук Я.М., 2008

© Інститут підприємництва та перспективних технологій при НУ «ЛП», 2008



ЗМІСТ

Передмова ............................................................................................................. 4

Розділ 1. Обчислювальний метод та обчислювальний алгоритм ............. 5

Практична та лабораторна 1. Обрахунок степеневого поліному


в системі MATLAB ....... ....................................................................................... 8

Розділ 2. Розв’язування систем лінійних алгебричних рівнянь ............... 12

Практична та лабораторна 2. Розв’язування систем лінійних рівнянь


у системі MATLAB ........ .................................................................................... 18

Розділ 3. Поліноміальна інтерполяція та апроксимація ............................ 22

Практична та лабораторна 3. Інтерполяція та апроксимація


функції Рунге в системі MATLAB ..................................................................... 24

Розділ 4. Сплайн-інтерполяція та сплайн-апроксимація .......................... 28

Практична та лабораторна 4. Сплайн-інтерполяція та сплайн-


апроксимація функції Рунге в системі MATLAB ............................................. 30

Розділ 5. Наближене обчислення означених інтегралів і похідних .......... 35

Практична та лабораторна 5. Обчислення означених інтегралів


у системі MATLAB ............................................................................................. 39

Розділ 6. Розв’язування нелінійних рівнянь ................................................ 43

Практична та лабораторна 6. Розв’язування нелінійних рівнянь


у системі MATLAB ............................................................................................. 50

Розділ 7. Методи безумовної оптимізації ....................................................... 53

Практична та лабораторна 7. Оптимізація функції однієї змінної


в системі MATLAB ............................................................................................. 59

Розділ 8. Умовна оптимізація. Лінійне програмування ............................. 63

Практична та лабораторна 8. Розв’язування задачі лінійного програмування


в системі MATLAB .............................................................................................. 67

Розділ 9. Розв’язування звичайних диференціальних рівнянь ................ 70

Практична та лабораторна 9. Розв’язування системи Ван-дер-Поля


в системі MATLAB .............................................................................................. 75

Рекомендована література ............................................................................... 80

Алфавітний покажчик термінів та власних імен ................................... .... 81

Про автора ……………………………...……………………..………………. 83

Передмова

Електронні обчислювальні машини (ЕОМ) проникли і проникають у всі сфери людської діяльності. Обчислювальна техніка використовується не лише в наукових дослідженнях, інженерних та економічних науках, а й у традиційно гуманітарних галузях, таких як медицина, лінгвістика, психологія. Вражає бурхливий розвиток локальних і глобальних комп’ютерних інформаційних мереж разом з мобільною телефонією. Швидко зростає кількість людей, професійна діяльність яких пов’язана з обчислювальною технікою. Тому вміння розв’язувати на ЕОМ математичні задачі є однією з ознак комп’ютерної грамотності.

Цифрова обчислювальна техніка стала важливою складовою людської цивілізації на протязі двох поколінь. У 1945 році перша цифрова ЕОМ почала розв’язувати балістичні задачі при розрахунку артилерійських таблиць стрільби. Починаючи зі знаменитої статті 1946 року великого американ­ського математика угорського походження Джона фон Неймана (John von Neumann) практично всі ЕОМ працюють у двійковій системі числення та мають спільну пам’ять для програм і чисел. Завдяки розвитку технологій ЕОМ перейшли з вакуумних ламп до напівпровідників та великих інтегральних схем. Разом з тим у мільони разів зросла їх швидкодія та надійність, у стільки ж разів зменшились розміри та енергоспоживання.

Але ЕОМ сама працювати не може – її треба навчити, запрограмувати. Причина швидкого розвитку прикладної математики у 50-80-і роки минулого століття – це розробка методів та алгоритмів розв’язування задач на ЕОМ.

Потужний арсенал числових методів і алгоритмів об’єднано в сучасних системах програмування високого рівня – MATHEMATICA, MATHCAD, MATLAB, MAPLE. Ці системи значно спрощують практичне використання досягнень обчислювальної математики.

Розділ 1. Обчислювальний метод та обчислювальний алгоритм

Розв’язування будь-якої задачі починається з її словесного формулювання. Наприклад, задача, що виникла перед стародавнім нерозважливим царем під час плати за послугу одному хитруну. Хитрун запропонував заплатити кількістю хлібних зерен на шаховій дошці, якщо на першу клітину покласти одне зерно, на другу – два, на третю – чотири, і так далі, щоразу подвоюючи кількість зерен. Скупий цар радісно погодився з такою формою оплати та невдовзі гірко побивався, коли хитрун забрав всі запаси хліба в царстві та ще й того не вистачило.

Людська мова є дуже надлишковою та неоднозначною. Тому наступним етапом опанування задачі є її формулювання у математичній формі, тобто складання математичної моделі задачі. Неважко записати формулу підрахунку:

кількість зерен . (1.1)

Отриманий вираз є окремим випадком степеневого поліному



. (1.2)

Вираз (1.1) утворюється з (1.2) при n=64, ai=1, x=2.

Отже, розглянемо задачу підрахунку значення степеневого поліному (1.2). Така задача часто виникає в обчисленнях, зокрема в нашому курсі.

Майже завжди розв’язувати задачу за математичною моделлю можна по різному, різними методами. Щоби правильно обрати метод розв’язування задачі, треба знати різні методи та вміти вибрати такий, що найкраще відповідає умовам розв’язування.

Значення степеневого полінома можна обрахувати безпосередньо за формулою (1.2). Для цього потрібно (n-1) операцій множення, (n-2) операцій піднесення до цілого степеня та (n-1) операцій додавання.

Англійський математик початку 19-го сторіччя Вільямс Горнер (Horner) запропонував підрахунок степеневого полінома за формулою



(1.3)

Для підрахунку за формулою Горнера треба (n-1) операцій множення та (n-1) операцій додавання, що помітно простіше підрахунку за формулою (1.2). Крім того, за формулою Горнера додаються числа, що є ближчими за абсолютними значеннями, ніж доданки у формулі (1.2). Тому результат за формулою Горнера загалом точніший, якщо обчислювати з обмеженою кількістю значущих цифр.

До речі, першим застосував формулу (1.3) геніальний Ньютон ще за півтора століття до Горнера. Але так історично склалось, що цю формулу називають іменем Горнера. Втім, на всесвітній авторитет Ньютона це ніяк не вплинуло.

Вибираючи метод розв’язування задачі, треба керуватись такими основними ознаками:

– громіздкість обчислень, тобто потрібна кількість арифметичних операцій;

– необхідний об’єм оперативної пам’яті;

– гарантована точність результату .

Наступний етап, близький до вибору методу, – це складання алгоритму розв’язування, тобто впорядкованої однозначної послідовності дій для досягнення мети. Майже кожну математичну задачу можна записати різними алгоритмами. “Мистецтво” програмування власне полягає у вмінні вибрати найкращий алгоритм за ознаками, подібними до ознак вибору методу розв’язування.

Складні алгоритми зручно подавати у вигляді блок-схем. Широко розповсюджені алгоритмічні мови, що є проміжними між математичною мовою та мовою машинних команд. На відміну від математичної мови алгоритмічні мови є строго однозначними. Алгоритмічні мови розрізняють за функціональним призначенням та рівнем, тобто умовним розміщенням між математичною мовою та мовою машинних команд. Чим ближча алгоритмічна мова до математичної, тим вище її рівень. Найвищі рівні мають, наприклад, мови MATHCAD та MATLAB. Найнижчі рівні у мов-асемблерів. Кожній алгоритмічній мові надається транслятор, тобто спеціальна програма, що перекладає тексти програм на мову машинних команд.

Програма, записана на алгоритмічній мові, підлягає відлагодженню. Під час відлагодження програми знаходять та виправляють помилки запису. Правильність роботи програми перевіряється на тестових задачах, від якості яких залежить якість відлагодження.

Відлагоджена програма нарешті готова до розв’язування задачі, для якої була написана. Однак отримані результати розрахунків ще не означають завершення роботи. Ці результати треба інтерпретувати, тобто зрозуміти і використати.

Часто на етапі інтерпретації виявляється, що задача була неточно або взагалі невірно сформульована, або обрано невідповідний метод чи алгоритм розв’язування. Тоді треба повертатись до попередніх етапів.

Отже, розв’язування задачі на ЕОМ складається з таких послідовних етапів:

словесне формулювання задачі;

– створення математичної моделі задачі;

– вибір методу та алгоритму розв’язування;

– запис алгоритму розв’язування на обраній алгоритмічній мові;

– відлагодження програми;

– розрахунки на ЕОМ;

– інтерпретація результатів розв’язування;

– в разі необхідності повернення до початкових етапів.

Практичне заняття 1. Обрахунок степеневого поліному в системі MATLAB

Текст MATLAB-програми обрахунку значення степеневого поліному за формулами (1.2) - (1.3) і за MATLAB-функцією polyval такий.

%******************************************************************

%**** Polynom value calculation *******************************

%******************************************************************

clear;


n=10; a=[-1 2 -3 4 -5 6 -7 8 -9 20]; x=0.9;

%**** Calculation on definition *********************************

xn(1)=x; for i=2:n; xn(i)=xn(i-1)*x; end;

pol=a(1); i=2; while i<=n; pol=pol+a(i)*xn(i); i=i+1; end;

pol,

%**** Horner’s formula *****************************************



pol=a(n)*x; i=n-1; while i>1; pol=x*(a(i)+pol); i=i-1; end;

pol=pol+a(1),

%**** MATLAB function ****************************************

a=fliplr(a);

pol=polyval(a,x),

%**** Grafic of polynom ****************************************

x=[-1:0.05:1]; pol=polyval(a,x);

plot(x,pol); title('polynom value plot'); pause;

%**** 3D grafic of polynoms ***********************************

na=40; pol=zeros(na,length(x)); av=pol;

for i=1:na; pol(i,:)=polyval(a,x);

for j=1:length(x); av(i,j)=a(1); end;

a(1)=a(1)-1;

end;


plot3(x,av,pol); grid;

Назва програми і заголовки блоків є коментарями, що починаються символом % .

Перші оператори програми очищують робочу область пам’яті та задають числові значення порядку полінома n, його коефіцієнтів (вектор а) і аргумента х. Всі ці оператори завершуються символом ; , завдяки чому результат їх виконання не виводиться у командне вікно MATLAB.

Наступний блок програми обраховує значення полінома за формулою (1.2). Перший цикл за індексом і від 2 до n з кроком 1 записує у вектор xn цілі степені x від 1 до (n-1). Цикл починається заголовком зі службового слова for і закінчується службовим словом end. У другому циклі обчислено значення полінома pol як суми добутків коефіцієнтів, що містяться у векторі а, на степені аргумента х, накопичені у векторі xn. Цей цикл починається службовим словом while і закінчується також службовим словом end. Числове значення полінома виводиться у командне вікно MATLAB “Command window” оператором pol, який закінчується комою, а не крапкою з комою.

Наступний блок програми обраховує значення полінома за формулою Горнера (1.3). Підрахунок починається з внутрішніх дужок. Числове значення полінома також виводиться у командне вікно MATLAB.

Далі значення полінома обраховується і виводиться втретє за допомогою функції MATLAB polyval. Але для правильного використання цієї функції треба впорядкувати коефіцієнти полінома у векторі а, починаючи з коефіцієнта при найвищому степені аргумента х. Таку перестановку коефіцієтів робить функція MATLAB fliplr.

Графік залежності значення полінома від аргумента будується у наступному блоці програми. Для цього х переозначується як вектор, що містить числа від -1 до 1 з кроком 0.05. Мова MATLAB є матричною. Тому звертання до функції polyval, у якому другий аргумент – вектор х, породжує вектор pol тієї ж розмірності, що й вектор х. Далі функція plot будує і виводить у графічне вікно потрібний графік, який надписується функцією title (дивись рис. 1). Оператор pause зупиняє виконання програми і дозволяє роздивитись графік, поки не буде натиснена будь-яка клавіша на клавіатурі.

Останній блок програми будує тривимірну картинку, на якій зображено na=40 графіків полінома, що змінюються зі зміною першого коефіцієнта з кроком –1. Оскільки порядок коефіцієнтів обернено функцією fliplr, першому коефіцієнту відповідає останній у векторі а на початку програми. Числові значення полінома накопичуються у рядках матриці pol (цикл за індексом і), розмір якої початково задано функцією zeros, де функція length визначає довжину вектора х. Матриця av того ж розміру, що матриця pol. Кожний рядок матриці av містить однакові значення коефіцієнта а(1) (цикл за індексом j). Із зростанням номера рядка значення коефіцієнта а(1) зменшується на 1. Тривимірний графік будує функція plot3. За осями графіка відкладено: значення аргумента х; значення змінного коефіцієнта а(1); відповідні значення полінома (дивись рис. 2). На координатні площини накладено координатні сітки (функція grid).


Лабораторна робота 1. Обрахунок степеневого поліному в системі MATLAB

1.  Набрати та відлагодити текст програми обрахунку значення полінома.

2.  Отримати в командному вікні MATLAB (Command window) три однакові значення полінома.

3.  Отримати двовимірний та тривимірний графіки полінома (рис. 1, рис. 2) та описати їх.

4.  Пояснити всі оператори MATLAB-програми.





Контрольні завдання до розділу 1

1. Назвіть основні критерії вибору метода та алгоритма розв’язування.

2. Назвіть основні ознаки алгоритмічних мов.

3. Назвіть всі етапи розв’язування задачі на ЕОМ.

4. Чому необхідний етап інтерпретації результатів?

Розділ 2. Розв’язування систем лінійних алгебричних рівнянь

Розв’язування систем лінійних алгебричних рівнянь є фундаментальною обчислювальною задачею, бо до неї зводиться більшість розрахункових задач.

Системою лінійних алгебричних рівнянь (СЛАР) називають таку систему m рівнянь з n невідомими:

(2.1)

Тут коефіцієнти aij; (i=1,…,mj=1,…,n) та праві частини рівнянь bi; (i=1,…,m) є заданими, а xj, (j=1,…,n) – невідомі. Розв’язати СЛАР – значить знайти такі xj, що задовольняють всі рівняння системи (2.1).

Систему (2.1) зручно записувати у матричному вигляді:

AX=B, (2.2)

де

Кількість рівнянь СЛАР m у загальному випадку не співпадає з кількістю невідомих n. Матриця системи A тоді є прямокутною. Якщо m=n, то матриця A є квадратною, а систему (2.2) називають СЛАР n-го порядку.

Дамо графічну інтерпретацію розв’язування СЛАР 2-го порядку:



(2.3)

Систему рівнянь (2.3) можна зобразити в площині (x1, x2) двома прямими (дивись рис. 3). Нехай пряма 1 є геометричним місцем точок, координати яких задовольняють перше рівняння системи, тобто координати кожної точки прямої 1 є розв’язком рівняння 1. Те саме стосується прямої 2 відносно рівняння 2. Тоді координати точки перетину цих прямих (x, x) є розв’язком одночасно обох рівнянь, тобто системи (2.3). Очевидно, якщо точка перетину існує, то вона єдина.



Можливі вироджені випадки, коли прямі паралельні (система (2.3) не має розв’язків), і коли прямі співпадають (розв’язків безмежно багато). У першому випадку виконуються такі співвідношення між коефіцієнтами системи (2.3): а11/а21=а12/а22b1/b2. У другому – а11/а21=а12/а22=b1/b2. Легко переконатись, що в обох випадках визначник матриці А рівний нулю: detA=0. Натомість прямі перетинаються при а11/а21а12/а22, а необхідна і достатня умова існування єдиного розв’язку така: detA≠0. Ця умова поширюється на СЛАР будь-якого порядку.

Якщо прямі на рис. 3 майже паралельні, то detA≈0, а розв’язок (x, x) сильно залежить від коефіцієнтів системи (2.3). Ці ознаки свідчать про погану обумовленість системи. Такі системи важко розв’язувати, якщо кількість значущих цифр у числах є обмеженою.

Одним із методів розв’язування квадратних СЛАР є метод Крамера (відомий швейцарський математик 18-го сторіччя). Розв’язок системи (2.3)


за цим методом є відношеннями визначників:

x=; x=; де D=detA; D1=det; D2=det.

За методом Крамера можна розв’язувати СЛАР будь-якого порядку n. Однак із зростанням n метод стає дуже громіздким, бо кількість арифметичних операцій для обчислення визначника приблизно рівна (n+1)!,


а визначників є (n+1).

Можна знаходити розв’язок СЛАР (2.2) при m=n з використанням оберненої матриці А-1. Домноживши зліва рівняння (2.2) на А-1, одержуємо Х=А-1В. Однак за кількістю арифметичних дій обертання матриці не простіше за формули Крамера.

Найпоширенішим обчислювальним методом розв’язування СЛАР є метод, запропонований ще в кінці 18-го сторіччя великим німецьким матема­тиком, фізиком та геодезистом Карлом Фрідріхом Гауссом (Carl Friedrich Gauss). Походячи з майже неграмотної бідної родини, Гаусс досяг слави найвизначнішого математика та обчислювача свого часу. Він заклав наукові основи геодезії та картографії. За кілька років до Морзе він вперше створив електричний телеграф та передав ним повідомлення. На його честь одиниця напруженості магнітного поля названа його ім’ям.

Метод Гаусса грунтується на еквівалентних перетвореннях, які не змінюють розв’язок СЛАР. Розв’язок не зміниться, якщо будь-яке рівняння СЛАР домножити на дійсну константу, а також при додаванні будь-яких рівнянь СЛАР. За методом Гаусса СЛАР еквівалентно перетворюють у систему з верхньою трикутною матрицею (прямий хід), з якої послідовно обчислюють всі складові розв’язку (зворотній хід). Верхньою трикутною є матриця, елементи якої нижче головної діагоналі є нульовими. Метод Гаусса та його модифікації вигідно вирізняються меншою кількістю арифметичних дій, приблизно рівною n3. Разом з тим, обчислення прямого та зворотнього ходу з обмеженою кількістю значущих цифр можуть накопичувати похибки, які спотворюють розв’язок великих погано обумовлених СЛАР.

Катастрофічні похибки метода Гаусса виявились лише після появи ЕОМ, коли стало можливим розв’язувати великі системи. Внаслідок грунтовних досліджень цієї проблеми був створений метод, що майже усунув ці похибки. Цей метод називають QR-розкладом (QR-factorization).

За сучасною матричною термінологією метод Гаусса полягає у розкладі матриці СЛАР на добуток двох матриць, нижньої трикутної L та верхньої трикутної U: A=LU. Завдяки цьому систему AX=B розв’язують у два етапи: спочатку розкладають матрицю А на добуток LU (прямий хід метода Гаусса),
а потім послідовно розв’язують системи LY=B та UX=Y (зворотній хід). Метод Гаусса часто називають LU-розкладом (LU-factorization).

Відповідно QR-розклад полягає у розкладі матриці СЛАР на добуток дійсної ортогональної матриці Q і верхньої трикутної R. Поетапний розв’язок системи AX=B виконують так: спочатку обчислюють Y=Q'B, а потім розв’язують систему RX=Y. Верхній штрих означає транспонування матриці.



QR-розклад складніший, ніж LU-розклад, і погано обумовлені системи не так часто зустрічаються. Але треба знати про існування надійнішого метода, коли виникне необхідність.

Перейдемо до розв’язування СЛАР з прямокутними матрицями, коли в системі (2.2) mn. В практично цікавих випадках кількість рівнянь СЛАР перевищує кількість невідомих: m>n. Очевидно, тоді не існує розв’язок, що задовольняє всі рівняння, і треба шукати якийсь компроміс.

Розглянемо графічну інтерпретацію розв’язування системи трьох рівнянь з двома невідомими

(2.4)

Кожне з рівнянь зображене на рис. 4 прямою (дивись рис. 3). У загаль­ному випадку три прямі не перетинаються в одній точці, а утворюють три точки перетину (дивись рис. 4). Координати кожної з точок перетину є розв’язком певних двох рівнянь, але не третього. Треба знайти точку S, координати якої не є точним розв’язком всіх рівнянь, а в певному сенсі є компромісом між трьома частковими розв’язками. Напрошується вибрати таку точку, щоб загальна похибка трьох рівнянь системи була найменшою.

Якщо похибка і-го рівняння дорівнює (ai1x1+ai2x2bi)2, то наша задача розв’язується за методом найменших квадратів, вперше запропонованим великим Гауссом, а її математичний запис може бути таким:

. (2.5)

Якщо ж похибка і-го рівняння дорівнює |ai1x1+ai2x2bi|, то координати компромісної точки S можна знайти за методом мінімаксу:



. (2.6)

Розв’яжемо систему (2.4) за методом найменших квадратів (2.5). Шуканий мінімум є сумісним розв’язком двох рівнянь, кожне з яких є умовою мінімуму (2.5) за однією зі змінних:



Виконаємо нескладні перетворення:





Ми отримали СЛАР другого порядку, розв’язок якої є розв’язком (2.5). Отже, задача (2.5) зводиться до розв’язку СЛАР другого порядку.

В загальному випадку розв’язок СЛАР з m рівнянь та n невідомих за методом найменших квадратів є задачею

, (2.7)
що зводиться до розв’язку СЛАР n-го порядку.

Мінімаксна задача (2.6) в загальному випадку формулюється так:



(2.8)
і зводиться до розв’язку задачі лінійного програмування, яка розглядається в розділі 8. Розв’язок (2.8) має деякі переваги порівняно з (2.7). Але задача (2.8) складніша, ніж (2.7), тому СЛАР з прямокутними матрицями найчастіше розв’язують методом найменших квадратів.

Великий Гаусс мав блискучі результати в багатьох галузях знань. Зокрема, він розробив ефективні методи розрахунку орбіт небесних тіл за результатами астрономічних спостережень, де треба було багатократно розв’язувати СЛАР. Саме цими методами користувались молоді математики й астрономи англієць Джон Адамс (Adams) та француз Урбен Левер’є (Le Verrier), коли в середині 19-го сторіччя майже одночасно і незалежно один від одного взялись за розрахунок орбіти невідомої на той час планети Нептун, що мала бути далі від орбіти планети Уран і спотворювала її рух. Адамс завершив дворічні розрахунки раніше за Левер’є, але англійські астро­номи, яким від передав результати, не поспішали підтвердити їх безпосеред­нім спостереженням. Тому гучна честь відкриття „на кінчику пера” нової планети дісталась Левер’є, який згодом став директором Паризької обсерваторії. Адамс зайняв посаду директора Кембріджської обсерваторії і став президентом Лондонського астрономічного товариства. Між бувшими суперниками встановились дружні стосунки, що тривали решту їх життя.

  1   2   3   4   5


База даних захищена авторським правом ©lecture.in.ua 2016
звернутися до адміністрації

    Головна сторінка