Как вычислить цепную дробь в excel
В се описанные в данном тексте алгоритмы устроены по единой схеме. Здесь описывается эта схема.
В данной работе нам нужно суммировать ряды вида
,
где t n+1 = g (t n ) .
В ычисления производятся стандартным способом:
(1) s 0 = 0; s n+1 = s n + t n , n >0;
в качестве условия останова фигурирует
(2) |s n+1 - s n | ? e ,
где e - требуемая точность счета.
О тметим, что для некоторых - в частности, знакопеременных - рядов известным еще из школы критерием достижения нужной точности является
О днако, вычисления производятся с конечной разрядностью, и потому при уравнивании порядков, необходимом для выполнения операции сложения, прибавляемая к s n величина t n+1 может и не совпадать с t n+1 (т.к. t n
П ри этом условие (3) начинает выполняться позже условия (2), означающего, что t n+1 ? e Поэтому во всех алгоритмах условием останова является именно (2); это приводит к уменьшению числа суммируемых членов ряда.
М ашинные эксперименты показали, что использование (3) в качестве условия останова лишь увеличивает время счета,
не увеличивая в рассмотренных алгоритмах точность вычислений.
А лгоритмы, основанные на применении рядов, все имеют следующую структуру:
/* P1 */ sum = term = t 0 ;
do
/* P2 */ term = g(term); s = sum; sum = s + term;
/* P3 */ while abs(s - sum) > e ;
return sum;
Рис. 1. Структура алгоритма, вычисляющего разложение в ряд.
О тметим, что если в условии останова цикла (шаг P3 ) строгое неравенство заменить на нестрогое, то при e = 0
(т.е. при вычислениях с машинной точностью) алгоритм зациклится.
В нескольких алгоритмах, в которых приходится суммировать 'плохо определенные' ряды с знакопеременными членами,
условием останова является
(4) abs ( s n - s n+1 ) ? e && abs(s n+1 - s n ) ? e .
Ц епные дроби удобны во многих теоретических и прикладных исследованиях. Они, в частности, используются в различных приближенных вычислениях. С их помощью можно, например, вычислять значения функций, причем очень часто алгоритм, основанный на подобном разложении, сходится быстрее, чем алгоритм, основанный на разложении функции в степенной ряд.
Ц епной, или непрерывной, дробью называется выражение
И з-за громоздкости этого способа записи он почти не используется. Обычно цепную дробь записывают в виде
Л ично я предпочитаю обозначение (5).
Д робь называется n -м звеном цепной дроби; a n и b n - членами ее n -го звена; a 1 , a 2 ,: называют ее частными числителями, а b 1 , b 2 ,: - ее частными знаменателями; b 0 называют нулевым звеном цепной дроби.
К онечная цепная дробь
называется n -й подходящей дробью дроби (5). Я опишу здесь три способа, которые
можно использовать для вычисления (6).
Э тот способ состоит в последовательном осуществлении указанных в (6) действий. Формально процесс можно выразить
следующими соотношениями
(7) r n-i = b n-i + s n-i+1 , s n-i = a n-i /r n-i , i = 0, 1, :, n-1,
где s 0 = 0 . При
этом n -я подходящая дробь w n = b 0 + s 1 .
М етод легко программируется, однако, обладает очевидным недостатком: при изменении n весь процесс нужно начинать с самого начала. А так как достигаемая точность определяется выбранным значением n , то при использовании этого способа приходится выбирать его настолько большим,
чтобы обеспечить требуемую точность в наихудшем возможном случае. При этом, часто приходится производить лишние вычисления, которые могут оказаться
довольно значительными. Мне известен лишь один пример успешного применения этого способа вычисления цепных дробей: при выводе формул вычисления элементарных функций для стандартных библиотек.
В этом способе n -я подходящая дробь вычисляется как отношение p n /q n , причем p n и q n находят из основных рекурсивных соотношений (см., например, [6]):
П реимущество этого метода по сравнению с предыдущим состоит в том, что на каждом этапе вычисленную подходящую
дробь можно сравнить с ранее вычисленными приближениями и, если нужная точность достигнута, остановить процесс.
З десь для n -й подходящей дроби используется следующее соотношение
(10) r k = a k /(b k-1 b k ), 1+ r k+1 = 1 /(1 + r k+1 (1+ r k )), k ? 2 ,
причем r 1 = r 1 = a 1 /b 1 , 1+ r 2 = 1 /(1 + r 2 ).
Э тот метод обладает тем же достоинством, что и метод 2: подходящие дроби получаются рекурсивным способом, что позволяет следить за достигнутой точностью. Вместе с тем, при вычислениях не возникают ни слишком большие, ни слишком малые числа, поэтому этот метод представляется наиболее предпочтительным.
П оскольку соотношения (9)-(10) почти не встречаются в имеющейся на русском языке литературе, приведу здесь их
вывод.
Ш ироко известно следующее равенство (см., например, [6]):
П оложим и рассмотрим отношение r n+1 =A n-1 /A n . Имеем
З десь использовано соотношение (8). Но из (8) также следует q n+1 = (q n - a n q n-2 )/b n
Т ак как r n = - a n q n-2 /q n , получаем
r n+1 = - r n+1 ( 1+ r n )/ ( 1+r n+1 ( 1+ r n )) .
О тсюда и из (11) следуют соотношения (9)-(10).
А лгоритмы, основанные на разложении функции f (x)
в цепную дробь, имеют в данном тексте следующую структуру: /*F1 */ t = b 0 ; term = a 1 /b 1 ; s = t+term; rho = 1/(1+a 2 /b 1 /b 2 );
term = (rho-1)*term; sum = s+term; k=3;
/*F2 */ r = a k /b k-1 /b k ; rho = 1/(1+r*rho);
term = (rho-1)*term; t = s; s = sum; sum = s+term;
return sum;
Рис. 2. Структура алгоритма, вычисляющего цепную дробь.
С уммирование ряда (11) производится здесь на основе алгоритма P с условием останова (4).
Е сли бы для вычисления мы использовали соотношения (8), шаги F1 и F2 алгоритма приняли бы вид:
/*F'1 */ p0 = b 0 ; q0 = 1; q1 = b 1 ; p1 = p0*q1+a 1 ; sum = p1/q1; k =
1;
/*F'2 */ k = k+1; t = b k p1+a k *p0; p0 = p1; p1 = t;
t = b k *q1+a k *q0; q0 = q1; q1 = t;
t = s; s = sum; sum = p1/q1;
М ы видим, что число операций, выполняемых в теле цикла, при этом не уменьшилось бы.
Д альнейшие сведения о цепных дробях и их приложениях можно почерпнуть из книг [3, 6]; изложение способов вычисления цепных дробей, а также множество поучительных численных примеров вы найдете в статье [14].
Если Вам приходилось работать в Excel, с большой вероятностью Вы использовали его для хранения и выполнения вычислений с данными различных типов, таких как целые числа, десятичные дроби и проценты. Однако может произойти так, что потребуется работать в Excel со значениями в виде обыкновенных дробей, таких как 1/2 (одна вторая) или 2/3 (две третьих), не переводя в десятичные дроби.
К примеру, у нас есть рецепт шоколадного печенья, и мы хотим оформить его в Microsoft Excel. В рецепте требуется ингредиент – 1/4 чайной ложки соли, его необходимо записать в столбец B, как обыкновенную дробь.
Перед тем, как начать вводить ингредиенты, мы должны кое-что изменить в нашей таблице. Как Вы, вероятно, помните (в том числе из наших уроков), к любой ячейке в Excel можно применить специальное форматирование, т.е. числовой формат. В Excel существует дробный числовой формат, который позволяет вводить значения в виде дробей. Для этого мы выделяем столбец B, а затем на вкладке Home (Главная) в выпадающем списке Number Format (Числовой формат) выбираем пункт Fraction (Дробный).
Обратите внимание, что мы в этом примере работаем в Excel 2013, но этот способ будет работать в Excel 2010 и 2007 точно также. Что касается Excel 2003 и более ранних версий, выделите нужные ячейки и нажмите сочетание клавиш Ctrl+1, чтобы настроить числовой формат. Учтите, что такой возможности нет в Google Sheets.
Теперь, когда числовой формат настроен, мы готовы вводить дроби в столбец B.
Заметьте, что числа могут отображаться как смешанные дроби, в виде 2 3/4 (два и три четверти). Если Вы выделите одну из таких ячеек, в строке формул станет видно, что на самом деле Excel обрабатывает эти значения как десятичные – формат обыкновенной дроби изменяет лишь способ отображения числа в ячейке. Например, 2 3/4 это то же самое, что и 2.75.
Вы можете использовать обыкновенные дроби в формулах и функциях. Представим, что этот рецепт рассчитан на две порции печенья. Если требуется приготовить четыре порции печенья, то при помощи Excel можно удвоить рецептуру. Если нам нужно удвоить количество соли в рецепте, мы должны умножить значение ячейки B2 на 2; формула будет вот такая: =B2*2. А дальше мы можем скопировать формулу в другие ячейки столбца C, выделив ячейку и потянув за маркер автозаполнения.
Мы получили новые дробные значения для нашего удвоенного рецепта! Как видите, используя такой числовой формат в Excel работать с дробями становится заметно проще, особенно, если Вы не хотите преобразовывать обыкновенные дроби в десятичные.
В настоящее время в большинстве вычислений используются десятичные дроби. Однако в некоторых случаях вы можете столкнуться с простыми (обыкновенными) дробями.[1] Это может быть учебный пример, или диаметр вентиля (в долях дюйма), или, наконец, вес золотого слитка (в долях унции). 🙂
Excel предлагает 9 стандартных форматов обыкновенных дробей (рис. 1). Кроме того, вы можете создать пользовательский формат по своему усмотрению (об этом чуть позже).
Рис. 1. Стандартные форматы обыкновенных дробей в Excel
Если вы уже ввели в ячейку число, например, 0,5, и хотите его отобразить в виде простой дроби, кликните на ячейке правой кнопкой мыши, выберите «Формат ячеек…», далее «Дробный» и «Простыми дробями» (рис. 2).
Рис. 2. Выбор формата «Дробный»
Excel так же, как и мы знает, что простые дроби используются редко, поэтому при попытке ввести в ячейку 1/2, Excel решит, что вы вводите дату и покажет «01.фев». Чтобы отобразить в ячейке дробь, введите 0, пробел, а затем 1/2. Аналогично вводится и составная дробь: наберите целую часть, пробел и дробную часть. Например, 1 2/3. Если вы выделите эту ячейку, в строке формул появится значение 1,666666666667, а запись в этой ячейке будет представлена как дробь.
Если числитель больше знаменателя, то Excel преобразует такую дробь в целую и дробную часть. Например, если вы введете 0 25/4, то Excel выразит это число как 6 1/4.
Рис. 3. Пользовательский дробный формат
В контрактах с иностранными компаниями я сталкивался с записью центов в виде простой дроби; что-то типа: 20 и 7/100 долларов. Начните с ввода в ячейку: 20, «пробел», 1/100. Выберите формат «Сотыми долями» (рис. 4а). Далее выберите «(все форматы)», и дополните шаблон двумя словами: «и», «долларов» (рис. 4б).
Рис. 4. Формат для отображения долларов и центов
В заключительном примере значение отображается в 16-х долях; за числом следует знак дюймов (рис. 5). Поскольку кавычки являются служебным символом для шаблона, чтобы отобразить сами кавычки, нужно перед ними набрать косую черту: \ "
Рис. 5. Формат для отображения дюймов
[1] Использованы официальные материалы Microsoft и советы Джона Уокенбаха.
Используйте формат "Дроб", чтобы отображать или ввести числа как фактические дроби, а не в десятичных числах.
Выделите ячейки, которые нужно отформатировать.
На вкладке Главная нажмите кнопку вызова диалогового окна рядом с именем группы Число.
В списке Категория выберите дроби.
В списке Тип выберите нужный тип формата дроби.
Формат дроби
В этом формате 123,456 отображается как
Дробная часть с одной цифрой
123 1/2, округление до ближайшего однозначного значения дроби
123 26/57, округлизация до ближайшего двузначного значения дроби
Трижды значок дроби
123 57/125, округлизация до ближайшего трехзначного значения дроби
Дробный в качестве дробей
Дробный по кварталам
Дробный в качестве частиц
Дробные части в качестве шестнадцатых
Дробный в качестве десятых
Дробные части в качестве сотых
Число в активной ячейке выбранного на этом сайте отображается в поле Образец, чтобы можно было просмотреть выбранные параметры форматирования.
Советы для отображения дробей
После применения формата дроби к ячейке дробные числа, а также фактические дроби, которые вы в нее введите, будут отображаться как дроби. Например, если ввести 0,5 или 1/2, то при формате ячейки с типом дроби до одной цифры будет 1/2.
Если к ячейке не применен формат дроби и вы введите дробную часть, например 1/2,она будет отформатирована как дата. Чтобы отобразить дробную часть, применив формат дроби, а затем впечатаем ее еще раз.
Если вам не нужно выполнять вычисления с дробями, перед тем как ввести в нее дробную часть, можно отформать ячейку как текст, щелкнув Текст в списке Категория. В этом случае дробные части не будут уменьшаться или преобразовываться в десятичных. Однако математические вычисления с дробями, которые отображаются как текст, выполнять нельзя.
Чтобы сбросить числовом формате, в диалоговом окне Категория(диалоговое окно Формат ячеек) или Числовом формате(вкладкаГлавная, группа Число) нажмите кнопку Общий. В ячейках с форматом Общий форматирование к числам не применяется.
Как написать дробь в Excel. Я хочу написать это точно так, как показано на картинке.
Возможно ли то, что я хочу?
- В Excel перейдите к Insert → Object .
- Из списка выберите «Microsoft Equation 3.0».
- Выберите уравнение, которое соответствует вашим потребностям. В этом случае:
- Введите 2, нажмите клавишу TAB, чтобы переместить курсор, а затем 3.
Это мой результат:
Если вы не хотите связываться с редактором уравнений, и все, что вам нужно, это отобразить дробь, вы можете просто использовать обычные ячейки с границей между верхней и нижней ячейками. Затем измените размеры ячеек, чтобы отформатировать их так, как вам нравится.
Внутри текстового поля (Вставка → Текстовое поле), но, к сожалению, не внутри ячейки, вы можете использовать Alt + = (или "Новое уравнение" на вкладке вставки). Это позволяет вам свободно набирать уравнение (или использовать редактор ленты); ввод x/y автоматически переформатирует его в дробь, или вы можете вручную вставить дробь и ввести в нее.
Я рекомендую это через Вставка → Объект, потому что этот тип уравнения использует более новый, более чистый редактор (и вам не нужно ждать загрузки списка объектов). Ни один из вариантов не может быть использован внутри ячейки, поэтому этот вариант предпочтительнее.
Другая возможность - использовать индексы и надстрочные индексы Unicode, если вам нужны произвольные значения, а не только общие дроби, такие как ⅔, ¼, ⅝ .
Числитель может быть записан с использованием чисел ⁰¹²³⁴⁵⁶⁷⁸⁹ индекса ⁰¹²³⁴⁵⁶⁷⁸⁹, а знаменатель может быть записан с помощью чисел ₀₁₂₃₄₅₆₇₈₉ индекса ₀₁₂₃₄₅₆₇₈₉ . Разделителем между ними может быть солидус / или дробная черта ⁄ зависимости от вашего вкуса.
ОП не указал, есть ли необходимость фактически использовать дробь в электронной таблице или просто необходимо отобразить дробь.
Отображать и не использовать в качестве значения
Если вы хотите просто сделать ячейку отображать дробь
Затем нажмите Ctrl + U, затем 153, затем Ctrl + U, затем Alt + Enter и 71
Хотя это будет отображаться в виде дроби, значением ячейки будет строка 15371, поэтому она не подходит для формулы, в которой требуется фактическое значение дроби.
Показать дробь и использовать в качестве значения
Вы можете заставить Excel отображать значение в виде дроби, однако формат не показывает горизонтальную линию, а использует 153/71
Чтобы заставить Excel отображать число в виде дроби, отформатируйте ячейку так, чтобы пользовательский формат чисел был следующим:
Читайте также: