2014 dxdy logo

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

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


Правила форума


Посмотреть правила форума



Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение06.07.2015, 19:28 
Заслуженный участник


31/12/05
1527
upgrade в сообщении #1034144 писал(а):
1. надо функцию вставлять как индикатор целости числа в разные проверки, есть подозрения, что с арифметическими действиями машина работает быстрее, чем с встроенными алгоритмами (узнали, что число целое (дробное) - не стали его считать).
Язык-то хоть какой?

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение06.07.2015, 19:32 


07/08/14
4231

(Оффтоп)

паскаль и функции экселя.
П.С.
А можно вопросы по практическому применению отдельно как-то?

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение06.07.2015, 19:37 
Заслуженный участник
Аватара пользователя


09/02/14

1377
Так ответы на основной вопрос вам уже дали, можно ещё добавить, что с $N=\ln{\frac{\sqrt{(x^4-x^2)^2}}{(x^4-x^2)}}$ дело обстоит ровно наоборот с тем, что вы сказали: при $|x|>1, N=0$, а при $|x| \leqslant 1$ $N$ вообще не существует.

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение06.07.2015, 19:45 
Заслуженный участник


20/08/14
11881
Россия, Москва
Команда FIST (сохранение результата в виде целого числа) занимает порядка 10 тактов.
Команда VCVTTPD2DQ работает ещё вдвое быстрее, да ещё и сразу над 4-мя числами.
Даже связка из загрузки double числа и выгрузки в целое займёт порядка 15 тактов, даже без AVX/SSE.
Никакую вычисляемую функцию быстрее не вычислить.

PS. Чтобы мышка не подвисала при работе программ можно выставлять приоритет вычислительному процессу ниже среднего (можно даже idle - но с ним считаться будет чуть медленнее). Можно мышкой в Диспетчере задач, можно параметром при запуске из командной строки, можно в самой программе себе самой.

-- 06.07.2015, 20:04 --

Дельфи для выделения целой (trunc) и дробной (frac) части вещественного числа делает много служебных действий, да ещё и командой FRDNINT пользуется (для дробной части) с временем выполнения больше 20 тактов, что в теории сильно замедляет вычисления при большом количестве повторений.
Но реальный замер скорости работы программы на дельфи даёт время вычислений обоих функций порядка 5-10 нс (100-200 млн в секунду), что на фоне прочих Ваших вычислений явно ничтожно малая величина. Потому искать им замену бессмысленно.

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение06.07.2015, 20:44 
Заслуженный участник


31/12/05
1527
upgrade в сообщении #1034170 писал(а):
паскаль и функции экселя.
П.С.
А можно вопросы по практическому применению отдельно как-то?
С теоретическим вопросом уже наступила полная ясность. А практически, конечно, есть вероятность, что в экселе встроенные функции реализованы медленнее встроенных же операций, но влияние этого маловероятного события ничтожно, так как накладные расходы на интерпретацию формулы, доставание исходных значений из других клеток и запоминание результата во много раз превышают несколько арифметических действий в этой формуле.

А насчет компилируемого языка типа дельфи уже объяснили выше.

Если же на самом деле тема - прикрытие для разговора о ВТФ, ее место в другом разделе :)

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение07.07.2015, 08:51 


07/08/14
4231
с $N=\ln{\frac{\sqrt{(x^4-x^2)^2}}{(x^4-x^2)}}$ дело обстоит ровно наоборот

Минус забыл поставить перед логарифмом.
Dmitriy40
Спасибо, посмотрю подробнее описание функций.
tolstopuz в сообщении #1034189 писал(а):
С теоретическим вопросом уже наступила полная ясность.

А в точках разрыва никак нельзя узнать значение функции?
tolstopuz в сообщении #1034189 писал(а):
Если же на самом деле тема - прикрытие для разговора о ВТФ, ее место в другом разделе :)

надо целые числа получать аналитически, они дальше - показатель степени. про ВТФ просто вспомнилось.

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение07.07.2015, 22:41 


27/02/09
253
Без периодических функций едва ли получится. С периодическими можно что-то вроде: $$\lfloor x \rfloor=x-\frac{1}{2}+\frac{1}{\pi}\arctg \ctg \pi x$$ Правда, нужно ещё дырки закрывать в области определения.

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение27.05.2016, 13:32 


07/08/14
4231
Кажется нашел решение.
Возводим какое-либо отрицательное число (например, $-1$) в степень равную искомому, и если искомое число дробное, то результатом возведения будет комплексное число с ненулевым коэффициентом при мнимой части. Если искомое число целое, коэффициент при мнимой части равен нулю. Таким образом, отделение дробной части от целой таки возможно, по крайней мере для дробных чисел, которые могут быть представлены дробями с четными знаменателями.

 Профиль  
                  
 
 Re: как выделить целую часть числа помощью арифм-х действий
Сообщение27.05.2016, 13:56 
Заслуженный участник
Аватара пользователя


19/12/10
1546
Это замаскированное вычисление $\sin\pi x.$

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

Модераторы: Модераторы Математики, Супермодераторы



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

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


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

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