2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6  След.
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 19:15 
Заслуженный участник


02/08/11
7002
x51 в сообщении #824311 писал(а):
Эйлерово число проще всего указать дробью $23225/8544$

Но лучше подумать о тех, кто будет читать ваш код, и написать простую и легко узнаваемую десятичную дробь.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 20:56 
Аватара пользователя


08/02/14
53
Серпухов, Россия
warlock66613 в сообщении #824969 писал(а):
Но лучше подумать о тех, кто будет читать ваш код, и написать простую и легко узнаваемую десятичную дробь.


И при этом промазать в расчетах на приличную величину. Когда мне нужно Эйлерово число я всегда пользуюсь наиболее точной формулой (я привел ее в своем посте в этой теме, третья по счету), причем в комментариях обязательно все это указывается, иначе для чего они нужны.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 21:08 
Заслуженный участник


27/04/09
28128
x51 в сообщении #825031 писал(а):
И при этом промазать в расчетах на приличную величину.
Извините, какую?? :shock: Десятичную запись можно удлиннять без хлопот настолько, насколько хочется. У выражения типа exp(1) значение вообще будет нужной разрядности*, если она может быть разной. (В случае произвольной разрядности это вообще единственный разумный вариант, т. к. экспонента обычно там всегда есть, и даже если нет, её ряд Тейлора прост и быстр, и не сильно менее узнаваем, чем $2{,}71828\ldots$)

* Даже если и на несколько двоичных разрядов меньше, это всё равно несравнимо лучше дробей даже с комментариями.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 21:15 
Аватара пользователя


08/02/14
53
Серпухов, Россия
arseniiv в сообщении #825037 писал(а):
Извините, какую?

(Оффтоп)

На работе когда высчитывали аксептанс квадрупольных линз для углерода за $ e $ взяли 2,71... и так до 12 знака, в результате аксептанс "уехал" на несколько миллиметров, а это, извините, в ускорительной технике - полный алес: пучок лижет стенку камеры, дозиметрия сходит с ума. И только при точности 117 знаков после запятой удалось более-менее попасть в аксептанс с точностью 300 микрон.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 21:26 
Заслуженный участник
Аватара пользователя


06/10/08
6422

(Оффтоп)

x51 в сообщении #825038 писал(а):
На работе когда высчитывали аксептанс квадрупольных линз для углерода за $ e $ взяли 2,71... и так до 12 знака, в результате аксептанс "уехал" на несколько миллиметров, а это, извините, в ускорительной технике - полный алес: пучок лижет стенку камеры, дозиметрия сходит с ума. И только при точности 117 знаков после запятой удалось более-менее попасть в аксептанс с точностью 300 микрон.
Но Ваша формула-то отличается в 10 знаке

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 21:38 
Заслуженный участник


27/04/09
28128
Подкину в воздух немного цифър:

Разница между $e$ и первой записью x51$10^{-8\ldots9}$.
Разница между $e$ и третьей записью x51$10^{-9\ldots10}$.
Разница между $e$ и банальным $2{,}718281828459045$ (Львы Толстые и треугольники) — $10^{-15\ldots16}$.
Всего 18 членов ряда с факториалами превосходят эту точность. При этом для возможности получить такой результат в 15 верных знаков после запятой надо всего на три знака после запятой больше.

Python 3 на моей системе в ответ на math.e или math.exp(1) даёт 2,718281828459045, но это к слову.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 21:45 


19/05/10

3940
Россия

(Оффтоп)

Xaositect в сообщении #825042 писал(а):
...Но Ваша формула-то отличается в 10 знаке

Главное, что 115 знаков этой дроби спасли камеру и вернули в ясный ум дозиметрию

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 22:06 
Аватара пользователя


08/02/14
53
Серпухов, Россия

(Оффтоп)

Xaositect в сообщении #825042 писал(а):
Но Ваша формула-то отличается в 10 знаке

зачастую и этого достаточно,
к тому же длинное число сильно ухудшить читабельность кода, нежели дробь.

-- 10.02.2014, 19:14 --

mihailm в сообщении #825052 писал(а):
Главное, что 115 знаков этой дроби спасли камеру и вернули в ясный ум дозиметрию

Откуда вы это знаете, мы использовали число не по моей формуле, а другое, взятое отсюда:

(Оффтоп)

e приняли приближенно равным 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952605956307381323286279434907632338298807531952510190115738341879307021540891499348841675092447614606680822648001684774118537423454424371075390777449920695517027618386062613313845830007520449338265602976067371132007093287091274437470472306969772093101416928368190255151086574637721112523897844250569536967707854499699679468644549059879316368892300987931277361782154249992295763514822082698951936680331825288693984964651058209392398294887933203625094431173012381970684161403970198376793206832823764648042953118023287825098194558153017567173613320698112509961818815930416903515988885193458072738667385894228792284998920868058257492796104841984443634632449684875602336248270419786232090021609902353043699418491463140934317381436405462531520961836908887070167683964243781405927145635490613031072085103837505101157477041718986106873969655212671546889570350354

Число оформлено не по правилам из-за ограничений в LATEX, а именно нежелание выводить большие числа

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 22:57 


19/05/10

3940
Россия

(Оффтоп)

x51 в сообщении #825062 писал(а):
...Откуда вы это знаете, мы использовали число не по моей формуле, а другое, взятое отсюда: e приняли приближенно равным 2,7182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952605956307381323286279434907632338298807531952510190115738341879307021540891499348841675092447614606680822648001684774118537423454424371075390777449920695517027618386062613313845830007520449338265602976067371132007093287091274437470472306969772093101416928368190255151086574637721112523897844250569536967707854499699679468644549059879316368892300987931277361782154249992295763514822082698951936680331825288693984964651058209392398294887933203625094431173012381970684161403970198376793206832823764648042953118023287825098194558153017567173613320698112509961818815930416903515988885193458072738667385894228792284998920868058257492796104841984443634632449684875602336248270419786232090021609902353043699418491463140934317381436405462531520961836908887070167683964243781405927145635490613031072085103837505101157477041718986106873969655212671546889570350354...

Ну это не по вашим же правилам!!! Надо представить это число в виде дроби))) ну в крайнем случае в виде какого синуса или кубического корня

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 23:05 
Аватара пользователя


08/02/14
53
Серпухов, Россия
mihailm, не это все не то, то что я привел в виде формул испоьзуется там, где сверхбольшая точность не важна (прикадные задачи программирования, механика, термодинамика (?) и т. д.).

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 23:26 
Заслуженный участник


27/04/09
28128
x51 в сообщении #825062 писал(а):
Число оформлено не по правилам из-за ограничений в LATEX, а именно нежелание выводить большие числа
Ну и разбили бы его на кусочки. В текущем виде тоже плохо — оно ужасно растягивает страницу.

x51 в сообщении #825062 писал(а):
к тому же длинное число сильно ухудшить читабельность кода, нежели дробь.
Неправда, комментарии рядом всё равно должны быть.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 23:40 


19/05/10

3940
Россия
x51, давайте без лапши, она НИГДЕ не важна.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 23:48 
Заслуженный участник
Аватара пользователя


30/01/06
72407

(Оффтоп)

2,7182818284 5904523536 0287471352 6624977572 4709369995 9574966967 6277240766 3035354759 4571382178 5251664274 2746639193 2003059921 8174135966 2904357290 0334295260 5956307381 3232862794 3490763233 8298807531 9525101901 1573834187 9307021540 8914993488 4167509244 7614606680 8226480016 8477411853 7423454424 3710753907 7744992069 5517027618 3860626133 1384583000 7520449338 2656029760 6737113200 7093287091 2744374704 7230696977 2093101416 9283681902 5515108657 4637721112 5238978442 5056953696 7707854499 6996794686 4454905987 9316368892 3009879312 7736178215 4249992295 7635148220 8269895193 6680331825 2886939849 6465105820 9392398294 8879332036 2509443117 3012381970 6841614039 7019837679 3206832823 7646480429 5311802328 7825098194 5581530175 6717361332 0698112509 9618188159 3041690351 5988885193 4580727386 6738589422 8792284998 9208680582 5749279610 4841984443 6346324496 8487560233 6248270419 7862320900 2160990235 3043699418 4914631409 3431738143 6405462531 5209618369 0888707016 7683964243 7814059271 4563549061 3031072085 1038375051 0115747704 1718986106 8739696552 1267154688 9570350354

Вот теперь страница будет растянута только у пользователей мобильных телефонов :-)


(Оффтоп)

2,7182818284 5904523536 0287471352 6624977572 4709369995 ' 9574966967 6277240766 3035354759 4571382178 5251664274 '' 2746639193 2003059921 8174135966 2904357290 0334295260 ' 5956307381 3232862794 3490763233 8298807531 9525101901 '' 1573834187 9307021540 8914993488 4167509244 7614606680 ' 8226480016 8477411853 7423454424 3710753907 7744992069 '' 5517027618 3860626133 1384583000 7520449338 2656029760 ' 6737113200 7093287091 2744374704 7230696977 2093101416 '' 9283681902 5515108657 4637721112 5238978442 5056953696 ' 7707854499 6996794686 4454905987 9316368892 3009879312 '' 7736178215 4249992295 7635148220 8269895193 6680331825 ' 2886939849 6465105820 9392398294 8879332036 2509443117 '' 3012381970 6841614039 7019837679 3206832823 7646480429 ' 5311802328 7825098194 5581530175 6717361332 0698112509 '' 9618188159 3041690351 5988885193 4580727386 6738589422 ' 8792284998 9208680582 5749279610 4841984443 6346324496 '' 8487560233 6248270419 7862320900 2160990235 3043699418 ' 4914631409 3431738143 6405462531 5209618369 0888707016 '' 7683964243 7814059271 4563549061 3031072085 1038375051 ' 0115747704 1718986106 8739696552 1267154688 9570350354 ''

А теперь - ни у кого не должна быть растянута. Хотя и не так красиво.

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение10.02.2014, 23:54 
Аватара пользователя


08/02/14
53
Серпухов, Россия

(Оффтоп)

mihailm в сообщении #825112 писал(а):
НИГДЕ

Не будьте так критичны

 Профиль  
                  
 
 Re: Вопрос по языку FORTRAN
Сообщение11.02.2014, 22:34 
Заслуженный участник


11/05/08
32166
mihailm в сообщении #825052 писал(а):
Главное, что 115 знаков этой дроби спасли камеру и вернули в ясный ум дозиметрию

Если ошибка в 114-м знаке умудрилась порушить камеру на 10-м -- то это свидетельствует лишь о безграмотности вычислительного процесса и ни о чём более.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 88 ]  На страницу Пред.  1, 2, 3, 4, 5, 6  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group