Математический редактор MathCAD

         

10.1.1. Обычные функции Бесселя

Функции Бесселя первого и второго рода обычно возникают как решения волнового уравнения с цилиндрическими граничными условиями.

Конкретный вид соответствующих дифференциальных уравнений можно без труда отыскать в справочниках по спецфункциям или в справочной системе Mathcad.

Рис. 10.1. Функции Бесселя первого рода

Рис. 10.2. Функции Бесселя второго рода

J0(z) — функция Бесселя первого рода нулевого порядка; J1(z) — функция Бесселя первого рода первого порядка; Jn(m, z) — функция Бесселя т-го порядка; Y0(z) — функция Бесселя второго рода нулевого порядка, х>0; Y1(z) — функция Бесселя второго рода первого порядка, х>0; Yn(m, z) — функция Бесселя второго рода m-го порядка, х>0;

z — действительный или комплексный безразмерный скаляр; m — порядок, целое число 0<m<100.

Внешний вид нескольких первых функций Бесселя первого и второго рода показан на рис. 10.1 и 10.2, соответственно.


10.1.2. Модифицированные функции Бесселя

Перечислим их:

I0(z) — модифицированная функция Бесселя первого рода нулевого порядка; I1(z) — модифицированная функция Бесселя первого рода первого порядка; In(m,z) — модифицированная функция Бесселя первого рода m-го порядка; K0(z) — модифицированная функция Бесселя второго рода нулевого порядка, х>0; K1(z) — модифицированная функция Бесселя второго рода первого порядка, х>0; Kn(m,z) — модифицированная функция Бесселя второго рода m-го порядка, х>0; z — действительный или комплексный безразмерный скаляр; m — порядок, целое число 0<m<100.

Рис. 10.3. Модифицированные функции Бесселя первого рода

Примеры нескольких первых модифицированных функций Бесселя показаны на рис. 10.3 и 10.4.

Рис. 10.4. Модифицированные функции Бесселя второго рода


10.1.3. Функции Эйри

Функции Эйри являются независимыми решениями ОДУ y' '=zy. Их вид показан на рис. 10.5. Итак:

Ai (z) — функция Эйри первого рода; Bi (z) — функция Эйри второго рода; z — действительный или комплексный безразмерный скаляр, х<103.892.

Рис. 10.5. Функции Эйри


10.1.4. Функции Бесселя-Кельвина

Комплексная комбинация функций Бесселя-Кельвина вида ber(n,x) + i bei(n,x) является решением соответствующего ОДУ, зависящего от параметра n. Вид графиков функции bei для n=i и 2 показан на рис. 10.6.

bei (n,x) — мнимая часть функции Бесселя-Кельвина порядка n; ber(n,x) — действительная часть функции Бесселя-Кельвина порядка n; n — порядок (безразмерное неотрицательное целое число); х — действительный безразмерный скаляр.

Рис. 10.6. Функции Бесселя-Кельвина


10.1.5. Сферические функции Бесселя

График сферических функций Бесселя первого порядка показан на рис. 10.7.

js(n, z) — сферическая функция Бесселя первого рода порядка n, х>0; ys (n, z) — сферическая функция Бесселя второго рода порядка n, х>0; n — порядок (целое число), n>200; z — действительный или комплексный безразмерный скаляр, х>0.

10.2. Функции работы с комплексными числами (Complex Numbers)

В Mathcad имеется несколько функций, облегчающих работу с комплексными числами.

Re(z) — действительная часть комплексного числа z; im(z) — мнимая часть комплексного числа z;

Рис. 10.7. Сферические функции Бесселя первого порядка

arg(z) — аргумент комплексного числа z, --pi<arg(z)<pi; csgn(z) — функция комплексного знака числа (возвращает либо 0, если z=0; либо 1, если Re(z)>0, или если Re(z)=o и im(z)>0; либо -1 — в остальных случаях); signum(z) — возвращает 1, если z=0, и z/|z| — в остальных случаях; z — действительное, мнимое или комплексное число.

Комплексное число можно ввести как обычно, в виде суммы действительной и мнимой частей, либо как результат любого комплексного выражения. Несколько примеров действия функций работы с комплексными числами приведены в листингах 10.1—10.3.

Листинг 10.1. Базовые функции работы с комплексными числами

Листинг 10.2. Пример действия функции csgn

Листинг 10.3. Пример действия функции signum


10.3. Логарифмы и экспонента (Log and Exponential)

Перечислим без комментариев хорошо известные логарифмические функции (рис. 10.8) и экспоненциальную функцию:

exp(z) — значение е (основание натурального логарифма) в степени z; ln (z) — натуральный логарифм; log(z) — десятичный логарифм; log(z,b) — логарифм z по основанию b. lnGamma(z) — логарифм гамма-функции Эйлера (см. разд 10.6);

Рис. 10.8. Логарифмические функции


10.4. Тригонометрические функции (Trigonometric)

acos(z) —арккосинус; acot(z) — котангенс; acsc(z) — арккосеканс (листинг 10.4); angle(x,y) — угол между точкой (х,у) и осью ох; asec(z) — арксеканс; asin(z) — арксинус (листинг 10.4); atan (z) — арктангенс; atan2(x,y) — угол, отсчитываемый от оси ОХ до точки (х,у) (листинг 10.5); cos(z) —косинус; cot(z) — котангенс; csc(z) — косеканс (листинг 10.4); sec(z) —секанс; sin(z) — синус (листинг 10.4); tan(z) — тангенс; z — безразмерный скаляр.

Аргумент тригонометрических функций и результат обратных тригонометрических функций выражаются в радианах. Чтобы использовать значение угла в градусах, его необходимо перевести в радианы (листинг 10.6). Аргумент тригонометрических функций может быть комплексным.

Листинг 10.4. Примеры тригонометрических функций

Листинг 10.5. Примеры расчета угла между прямой и осью OX

Листинг 10.6. Расчет тригонометрических функций в градусах


10.5. Гиперболические функции (Hyperbolic)

Гиперболические функции, согласно определению, выражаются через различные комбинации ez и е~г (пример приведен в листинге 10.7). Аргумент гиперболических функций также может быть комплексным. Графики трех основных гиперболических функций показаны на рис. 10.9.

Рис. 10.9. Основные гиперболические функции

acosh(z) — гиперболический арккосинус; acoth(z) — гиперболический котангенс; asinh(z) — гиперболический арксинус; acsch(z) — гиперболический арккосеканс; atanh(z) — обратный гиперболический тангенс; asech(z) — обратный гиперболический секанс; cosh(z) —гиперболический косинус; coth(z) — гиперболический котангенс; sinh(z) — гиперболический синус; csch(z) — гиперболический косеканс; tanh(z) — гиперболический тангенс; sech(z) —гиперболический секанс; z — безразмерный скаляр.

Листинг 10.7. Пример гиперболических функций


10.6. Другие спецфункции (Special)

Приведем перечень остальных спецфункций, которые рассчитываются Mathcad встроенным образом. Действие некоторых функций иллюстрируется листингом 10.8, а некоторые полиномы — графиками на рис. 10.11—10.13.

erf (z) — функция ошибок (см. разд. "Нормальное (Гауссово) распределение" гл. 14) erfc(z)=1-erf(z); z — скаляр. fhyper(а,b,с,х) —Гауссова гипергеометрическая функция; mhyper(a,b,x) — конфлюэнтная гипергеометрическая функция; а, b, с — параметры; х — действительный скаляр, -1<х<1. Gamma (z) — гамма-функция Эйлера; z — скаляр, |z|<1. Gamma (а, х) — неполная гамма-функция порядка а; х — действительный положительный скаляр.

Гамма-функция в документе Mathcad отображается греческой буквой Г (листинг 10.8).

нег(n,х) — полином Эрмита порядка n с аргументом х (рис. 10.10); n — порядок (неотрицательное целое число); х — скаляр.

Рис. 10.10. Полиномы Эрмита

ibeta(a,x,y) — неполная бета-функция для х и у с параметром а; а — действительный скаляр, 0<a<i; х,у — действительные скаляры, х>0, у>0. Jac (n, а, b, х) — полином Якоби степени n в точке х с параметрами а и b; Lag(n,x) — полином Лагерра степени n в точке х (рис. 10.11);

Рис. 10.11. Полиномы Лаггера

Leg(n,x) — полином Лежандра степени п в точке х (рис. 10.12); n — порядок (неотрицательное целое число); х - действительный скаляр; а,b — действительные скаляры, а>-1, b>-1. Tcheb(n,x) — полином Чебышева первого рода степени n в точке х (рис. 10.13); Ucheb(n,x) — полином Чебышева второго рода степени n в точке х (рис. 10.13); n — порядок (неотрицательное целое число); х — действительный скаляр.

Листинг 10.8. Примеры вычисления некоторых спецфункций

Рис. 10.12. Полиномы Лежандра

Рис. 10.13. Полиномы Чебышева


10.7. Строковые функции (String)

Приведем перечень функций, благодаря которым пользователь может оперировать со строковыми переменными, подобно операциям с числами:

concat(s1,s2,...) — строковая переменная, полученная объединением строковых переменных или констант s1, S2,... (листинг 10.9); error (S) — возвращает строку s как сообщение об ошибке (рис. 10.14); lsString(x) — возвращает 1, если х строковая переменная, и 0 — в остальных случаях (листинг 10.10); num2str(z) — возвращает строку, чьи знаки соответствуют десятичному значению числа z (листинг 10.10);

Функция num2str(z) используется, когда проще манипулировать с числом как со строкой, нежели как с математической переменной.

search(s,Subs,m) — стартовая позиция подстроки subs в строке s при поиске, начиная с позиции m, при неуспешном поиске возвращает -1 (листинг 10.9); str2num(s) — преобразование строкового представления числа s (в любой форме) в число (листинг 10.10); str2vec(s) — преобразование в вектор ASCII-кодов строки s (листинг 10.10); strlen(s) — количество знаков в строке s (листинги 10.9, 10.10); substr <s,m,n) — подстрока, полученная из строки s выделением n знаков, начиная с позиции m в строке s (листинг 10.9); vec2str(v) — строковое представление элементов вектора v ASCII-кодов; s — строка; v — вектор ASCII-кодов (целых чисел, 0<v<255).

Листинг 10.9. Примеры использования строковых функций

Листинг 10.10. Функции взаимных преобразований чисел и строк

Рис. 10.14. Использование функции создания сообщения об ошибке


10.8. Функции сокращения и округления (Truncation and Round-Off)

ceil(z) — наименьшее целое, не меньшее z (листинг 10 11); floor (z) — наибольшее целое число, меньшее или равное z (листинг 10 11); round(z,n) — при n>0 возвращает округленное значение z с точностью до n знаков после десятичной точки, при n<0 — округленное значение z с n цифрами слева от десятичной точки, при n=0 — округленное до ближайшего целого значение z (листинг 10 12); trunc(z) — целая часть числа (листинг 10 11); z — действительный или комплексный скаляр

Начиная с версии Mathcad 11 функции округления и сокращения чисел поддерживают также и комплексные аргументы (последние строки листингов 10.11 и 10.12)

Листинг 10.11. Функции сокращения и округления

Листинг 10.12. Округление чисел

При округлении не забывайте о принципах представления чисел в Mathcad. Чтобы отобразить нужное количество знаков после десятичной точки, воспользуйтесь диалогом Result Format (Формат результата) (см. гл. 4).


10.9. Кусочно-непрерывные функции (Piecewise Continuous)

heaviside step(x) — функция Хевисайда, возвращает 1, если х>0, и 0 — в остальных случаях (рис. 10.15); х — действительный скаляр. if (cond,x,y) — возвращает х, если логическое условие cond верно (не ноль), и у в остальных случаях (листинг 10.13); Kronecker delta (х, у) — дельта-символ Кронекера: возвращает 1, если х=у, и 0 в остальных случаях (рис. 10.15); sign(x) — возвращает 0, если х=0, 1, если х>0, и -1 — в остальных случаях (листинг 10.13); х — действительное число.

В документах символ Кронекера обозначается греческой буквлэи б, а функция Хевисайда — буквой Ф.

Листинг 10.13. Функции уловия и знака

Рис. 10.15. Функции Кронекера и Хевисайда


10.10. Функции преобразования координат (Vector and Matrix)

В Mathcad 2001 появилось семейство новых функций, позволяющих перейти от одних координат к другим, как на плоскости, так и в пространстве:

xy2pol (х,у) — преобразование прямоугольных координат в полярные; роl2ху(r,0) —преобразование полярных координат в прямоугольные; angle (х, у) — угол между точкой (х,у) и осью ох (см. разд. 10.4); atan2(x,y) — угол, отсчитываемый от оси ох до точки (х,у) (см. разд. 10.4); xyz2cyl(x,y,z) — преобразование прямоугольных координат в цилиндрические; cyl2xyz (r,0,z) — преобразование цилиндрических координат в прямоугольные; xyz2sph(x,y,z) — преобразование прямоугольных координат в сферические; sph2xyz(r,0,ф) — преобразование сферических координат в прямоугольные; х,у — прямоугольные координаты на плоскости; х,у,z — прямоугольные координаты в пространстве; r,0 — полярные координаты на плоскости; r,0,z — цилиндрические координаты; r,0,ф — сферические координаты.

Несколько примеров преобразования координат приведены в листингах 10.14 и 10.15. Обратите внимание на возможность ввода аргументов этих функций как в виде списка, так и в виде вектора.

Листинг 10.14. Функции преобразования координат на плоскости

Листинг 10.15. Функции преобразования координат в пространстве


10.11. Финансовые функции (Finance)

Начиная с версии 2000, в Mathcad появились функции, облегчающие финансовый анализ. приведем список этих функций, не вдаваясь в пояснения и надеясь на то, что заинтересованнvй читатель найдет подробное описание и практические примерv их применения в справочной системе Mathcad.

cnper (rate,pv, fv) — отвечает числу составнvх периодов, необходимvх для получения будущего значения вклада при заданнvх текущем значении вклада и проценте начислений; rate — фиксированнvй процент по вкладу; должен бvть действительнvм скаляром, rate>-i; pv — текущее значение вклада, pv>0; fv — будущее значение вклада, fv>0. crate (nper,pv, fv) — отвечает фиксированному проценту начислений по вкладу на период, необходимvй для прироста от текущего значения вклада до будущего значения при заданном числе составнvх периодов; nper — число составнvх периодов; должно бvть целvм числом, nper>1; pv — текущее значение вклада, pv>0; fv — будущее значение вклада, fv>0. cumint (rate, nper,pv, start, end, [type] ) — отвечает совокупному проценту по заему между начальнvм и конечнvм периодами при фиксированном проценте, общем числе составнvх периодов и текущем значении заема; cumprn (rate, nper,pv, start, end, [type]) — отвечает совокупной сумме по заему между начальнvм и конечнvм периодами при фиксированном проценте, общем числе составнvх периодов и текущем значении заема; rate — фиксированнvй процент по вкладу; должен бvть действительнvм скаляром, rate>0; nper — общее число составнvх периодов; должно бvть положительнvм целvм числом; pv — текущее значение заема, pv>0; start — начальнvй период накопления; должен бvть положительнvм целvм числом; end — конечнvй период накопления; должен бvть положительнvм целvм числом; starts end; type=0 для платежа, сделанного в конце периода, или 1 для платежа, сделанного в начале периода. eff (rate,nper) — отвечает эффективной ежегодной процентной ставке при данной номинальной ежегодной процентной ставке и числе составнvх периодов в год; rate — номинальная процентная ставка; должна бvть действительнvм скаляром; nper — общее число составнvх периодов в год, nper >0. fv(rate,nper,pmt, [ [pv], [type] ]) — соответствует будущему значениі вклада или заема через особое число составнvх периодов, установленнvх периодически, при постояннvх платежах и фиксированной процентной ставке; rate — фиксированная процентная ставка за период; должна бvть действительнvм скаляром, rate>0; nper — общее число составнvх периодов в год, nper >0; pv — текущее значение заема; type=0 для платежа, сделанного в конце периода, или 1 для платежа, сделанного в начале периода. fvadj (pnn,v) — соответствует будущему значениі ежегодной общей суммv капитала, на которvй начисляітся процентv, при применении серии составнvх процентнvх ставок; рrin — ежегодная общая сумма; v — вектор процентнvх ставок, каждая из которvх применяется с той же самой основной суммой и процентами с нее за период времени. fvc (rate, v) — соответствует будущему значениі серии денежнvх потоков, происходящих с регулярнvми интервалами, и приносящими специальнуі процентнуі ставку; rate — фиксированная процентная ставка за период; должна бvть действительнvм скаляром; v — вектор регулярнvх денежнvх потоков. ipmt (rate, per, nper,pv, [ [fv] , type] ])— соответствует іроцентному платежу по вкладу или заему за даннvй период, основанному на периодичности, постояннvх платежах через данное число составнvх периодов, используіщих фиксированнуі процентнуі ставку и особое текущее значение; rate — фиксированная процентная ставка за период, rate>0; per — период, за которvй Tv хотите найти ставку; должен бvть положительнvм целvм числом; nрег — общее число составнvх периодов, per< nper; pv - текущее значение; fv — будущее значение; type=0 для платежа, сделанного в конце периода, или i для для платежа, сделанного в начале периода. irr(v, [guess]) — отвечает внутренней ставке возврата для серии денежнvх потоков, происходящих с регулярнvми интервалами; v — вектор денежнvх потоков, определяемvх за регулярнvе интервалv, должен состоять по крайней мере из одного положительного и отрицательного числа; guess — численное значение, которvм Tv предполагаете аппроксимировать ответ, если им пренебрегается, то guess=0.1(10%). mirr (v, fm_rate, rem_rate) — соответствует модифицированной процентной ставке возврата для серии денежнvх потоков с регулярнvми интервалами при условии, что ставка финансирования подлежит оплате в соответствии с суммой заимствования, а ставка реинвестирования приносит доход с суммv, которуі Tv повторно инвестируете; v — вектор денежнvх потоков, определяемvх за регулярнvе интервалv; он должен состоять по крайней мере из одного положительного и отрицательного числа; fin_rate — финансовая ставка платежа по заимствованнvм денежнvм потокам; rem_rate — ставка реинвестирования. nom(rate,nper) — соответствует номинальной процентной ставке, вклічаіщей эффективнуі ежегоднуі процентнуі ставку и число составнvх периодов за год; rate — эффективная ежегодная процентная ставка; должна бvть действительнvм скаляром, rate>-1; nper — общее число составнvх периодов за год, nреr>0. npv(rate,v) — вvчисляет чистое текущее значение вклада, вклічаіщее скидки и регулярнvе денежнvе потоки; rate — фиксированная процентная ставка, с которой вклад зарабатvвает процент за период; должна бvть действительнvм скаляром; v — вектор регулярнvх денежнvх потоков. nper (rate,pmt,pv, [ [fv], [type] ]) — отвечает числу периодов для вклада или заема, основаннvх на периодичности, постояннvх платежах, используіщих фиксированнуі процентнуі ставку и особое текущее значение; pmt (rate,nper,pv, [ [fv], [type] ]) — соответствует платежу по вкладу или заему, основанному на периодичности, постояннvх платежах через данное число составнvх периодов, используіщих фиксированнуі процентнуі ставку и особое текущее значение; ppmt (rate,per,nper,pv, [ [fv], [type] ]) — соответствует платежу по общей сумме вклада или заема, основанному на периодичности, постояннvх платежах через данное число составнvх периодов, используіщих фиксированнуі процентнуі ставку и особое будущее значение; pv(rate,nper,pmt, [ [fv], [type] ]) — соответствует текущему значениі вклада или заема, основанному на периодичности, постояннvх платежах через данное число составнvх периодов, используіщих фиксированнуі процентнуі ставку и особvй взнос; rate(nper,pmt,pv, [ [fv] , [type] , [guess] ] ) — соответствует іроцентной ставке на период вклада или заема при особом числе периодических составнvх периодов, постояннvх платежах и особом текущем значении; rate — фиксированная процентная ставка; per — период; nper — общее число составнvх периодов за год; должно бvть положительнvм целvм числом; pmt — платеж, делаемvй каждvй период; pv — текущее значение вклада; fv — будущее значение вклада; type=0 для платежа, сделанного в конце периода, или i для платежа, сделанного в начале периода; guess — численное значение, которvм Tv предполагаете аппроксимировать ответ; если им пренебрегается, то guess=0.01(10%).