Раздел: Документация
0 ... 71 72 73 74 75 76 77 ... 177 7,1. Разложение выражений « 235 правого маркера — это избыточная операция и проводить ее не обязательно. Поэтому обычно правый маркер просто удаляют. Пример 7.1. Разложение выражений различных типов Разложение алгебраического выражения. Система перемножает выражения в числителе и производит приведение слагаемых к общему знаменателю. Затем раскрывается степень в знамени-теле, после чего числитель делится на знаменатель. х + 2-х + 3-х -+ 3-х+ 1 храпа (х + Г)5хб + 3-х5 + 10-х4 + 10-х3 + 5-х2 + х Разложение тригонометрического выражения. Система переходит от sin(2x) и tg(3x) к функциям от х, после чего делят числитель на знаменатель. 2 6Л expand -—-sin(x)cos(x)---sin(x)eos(x)tan(x) nin(2x) 3tan{x) - taa(x)33tan(x) - um(x)3 Разложение логарифмического выражения. Обратите внимание на то, что десятичный логарифм представляется через отношение натуральных логарифмов. 40 ,их» expand Ln(10)b Внимательный читатель может задать вопрос: зачем у оператора expand имеется правый маркер, если то, заполнен он или нет, никак не сказывается на результате. Действительно, в большинстве случаев указывать, исходя из какой переменной (или выражения) должно производиться разложение выражения, совсем необязательно. Однако иногда то, заполнен ли правый маркер или же нет, может весьма существенно сказываться на результате." Дело в том, что, когда правый маркер удален, аналитический процессор пытается разложить выражение «по максимуму», что не всегда приемлемо. Например, пусть имеется выражение вроде (sin(2r)+1)*. Если использовать оператор expand без заполнения правого маркера, то сначала система возведет выражение в третью степень, а затем перейдет от sin(2x) к функциям от х. Однако может оказаться так, что в рамках решаемой задачи нужно лишь произвести возведение в степень, не переходя от удвоенного к одинарному аргументу. В этом случае в качестве параметра разложения в правом маркере оператора expand следует указать 2х, При этом система «поймет», что 2х должно входить в результат, и не будет разлагать синус (см. пример 7.2). Описанный подход применим и к выражениям других типов. Общий принцип следующий: если выражение образовано несколькими частями и одна из его частей не должна быть разложена, то ее следует прописать в правом маркере оператора expand. При этом она будет сохранена аналитическим процессором в первоначальном виде. Также довольно тонкое различие в формате ответа при заполнении правого маркера и его удалении обнаруживается, если упрощаемое выражение является дробью. Так, если переменная разложения прописана, то система разделит числитель на знаменатель. Если же правый маркер оператора expand был удален, то никакого деления проводиться не будет. Пример 7,2. Различие в результате разложения при заполнении правого маркера оператора expand и его удалении По умолчанию оператор expand производит как вол веление в степень, так н приведение тригонометрических функций к одинарному аргументу. Чтобы отменить последнюю операцию, прописываем удвоенный аргумент в правом маркере (1 + sin(2x))3 expand -+ 1 + 6sin(x)cos(x) + 128in(x)2-cos(x)2 + 8-sin(x)3cos(x)3 (1 + sm(2x))3 expand,2x -» 1 + 3 sin(2-x) + 3sui(2x)2 + sin(2 x)3 Чтобы разложить лишь одну часть выражения, подлежащую сохранению, его часть указываем в правом маркере оператора expand. 7?22 (х+у) +(х+у+1) expand -» 2-х + Фху + 2-у +2>x+2y+l (х+ у)2 + (х + у + t)2 expand,х+ у + 1 члЧ 2-х-у + у2 + (х+ у + I)2 Если правый маркер expand заполнен, то. в случае выражений в виде дроби, числитель будет разделен на знаменатель. 33 2 (х+ I)х + Зх + 3-х+ 1 - expand -» - (х+2)4х4+8-х3 + 24х2 + 32х+ 16 (х+ I)3 1 3 3 2 3 1 -expand,х -+--х +--х +--х+- (х+2)4(х+2)4 (х+2)4 (х+2)4 (х+2)4 Эффективно использовать оператор expand в случае логарифмических выражение можно далеко не всегда. Причина - результат генерируется так, что в нем присутствуют только натуральные логарифмы. Логарифмы же по другим основаниям при этом приводятся к натуральным по формуле log(>/-ln(x)/In(e). Увы, но обойти этот недостаток системы невозможна. Поэтому при решении соответствующих задач просто заменяйте отношения натуральных логарифмов нужными логарифмами по основанию е. В Mathcad нет оператора, обратного expand. Имеется оператор factor, преобразующий алгебраические суммы в произведения. Он является обратным к expand в случае тождеств вроде--(х-уух+у). Однако «понять», что 2sin(jr)-cos(jf) есть не что иное, Kaxsin(2r) (или что ln(jr)+ln{) тождественно равняется h(x-y)). ни оператор factor, ни оператор simplify не смогут. Проведение подобных преобразований — это довольно значительная проблема в Mathcad. Обычно с ней справляются банальной подстановкой формулы - и ничего лучшего пока не придумано. Пример этой операции имеется в разделе, посвященном оператору simplify. Кстати, помимо своего прямого назначения, оператор expand может быть использован а качестве своеобразного справочника математических формул по символьной алгебре (особенно тригонометрии). Например, с его помощью легко узнать, чему равняется sin(5or) илиcos(r+y+z). 7,2. Разложение на множители и приведение к общему знаменателю * 237 7.2. Разложение на множители и приведение к общему знаменателю Произвести разложение выражения на множители в системе Mathcad можно с помощью оператора factor (от англ factoring — разложение на множители). По функциям данный оператор не является полной противоположностью оператору expand. Tate, с помощью оператора factor нельзя преобразовать логарифмическое или тригонометрическое выражение. Разложить па множители можно только не очень сложное алгебраическое выражение. Особенностью использования оператора factor является то. что он содержит лишний правый маркер. Если вам требуется произвести разложение выражения на множители, этот маркер нужно затереть. Иначе, если аналогично оператору expand в правый маркер ввести имя переменной (илн выражение), по которой должно вестись разложение, даже в самом простом случае результат не будет получен. При разложении алгебраического выражения на множители в качестве таковых могут выступать не только линейные множители, но и полиномы более низкой степени, чем у исходною выражения. В отличие от символьного решения уравнений, аналитический процессор не ищет комплексных множителей, ограничиваясь только действительными. Разложение на множители с использованием оператора factor может быть проведено и в том случае, если В выражения входят специальные функции (см. третье преобразование в примере 7.3). Пример 7.3. Разложение многочленов на множители х3 - 1 factor -Их- 1){х2 + х+ 1 х4 - 10-х3 + 35-х2 - 50-Х+ 24 factor (х- 1)-(х- 2)-(х- 3)(х- 4) 22 sin(x) - соа(х) factor -» -(cos(x) - sinlx)! (cos(x) + sin(x)) 2222 x + 2xy + 2x-z + у + 2y-z + z factor -+ (x + у + z) Второй по важности задачей, для решения которой используется оператор factor, является разложение целых чисел на простые множители. Эта возможность символьного процессора активно применяется при поиске корней полиномов, решении учебных задач по криптографии (алгоритм RSA), а также упрощении выражений. Пример 7.4. Определить, является ли число 11п+13 простым У5 4 - it* * 13 factor -> 2 -3 197-293-1907 Вывод: данное число простым не валяется, так как сто можно получить перемножением пяти различных чисел Довольно иитереаюй возможностью оператора factor является преобразование десятичных дробей в дроби простые. Естественно, что такая операция возможна лишь в случае отдельных десятичных дробей. Самое важное требование - дробь должна быть конечной (например, 0,25, по не 03333333333...). Описанную возможность можно использовать для приведения выражения в более простую для аналитического процессора форму (простые дроби он «понимает* лучше, чем десятичные), а также для «улучшения» ответа, полученного при численном решении уравнений или численном тгтегрированни. 0 ... 71 72 73 74 75 76 77 ... 177
|