Записи с меткой «преобразований»

Выбор и пересчет координат трехмерных графиков

Выбор и пересчет координат трехмерных графиков
Для трехмерных графиков возможно задание 31 типа координатных систем с помощью параметра сооrds= Тип _ координатной _ системы. Поскольку на экране монитора поверхность отображается только в прямоугольной системе координат и характеризуется координатами х, у и z, то для представления поверхности, заданной в иной системе координат с координатами u, v и w, используются известные [46, 47] формулы для преобразования (u, v, w) —> (х, у, z). Ниже перечислены типы трехмерных координатных систем и соответствующие формулы преобразования.
bipolar-cylindrical:
х = a*sinh(v)/(cosh(v)-cos'(u))
у = a*sin(u)/(cosh(v)-cos(u))
z = w 
bispherical:
x = sin(u)*cos(w)/d
у = sin(u)*sin(w)/d
z = sinh(v)/d где d — cosh(v) — cos(u) 
cardioidal:
x = u*v*cos(w)/(u^2+v^2)^2
у -=u*v*sin(w)/(u^2+v^2)^2
z = (u^2-v^2)/2/(u^2+v^2)^2 
cardioidcylindrical:
x = (u^2-v^2)/2/(u^2+v^2)^2
у — u*v/(u^2+v^2)^2
z =w
 casscylindhcal:
x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)+exp(u)*cos(v)+l)^(l/2)
у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)-exp(u)*cos(v)-l)^(l/2)
z =w 
 confocalellip:
x = ((a^2-u)*(a^2-v)*(a^2-w)/(a^2-b^2)/(a^2-c^2))^(l/2)
у = ((b^2-u)*(b^2-v)*(b^2-w)/(b^2-a^2)/(b^2-c^2))^(l/2)
z = ((c^2-u)*(c^2-v)*(c^2-w)/(c^2-a^2)/(c^2-b^2))^(l/2)
 confocalparab:
x = ((a^2-u)*(a^2-v)*(a^2-w)/(b^2-a^2)^(l/2)
у = ((b^2-u)*(b^2-v)*(b^2-w)/(b^2-a^2))^(l/2)
z = (a^2+b^2-u-v-w)/2 
 conical:
x = u*v*w/(a*b)
у = u/b*((v^2 — b^2)*(b^2-w^2)/(a^2-b^2))^(l/2)
z= u/a*((a^2 — v^2)*(a^2 — w^2)/(a^2-b^2))6(l/2) 
cylindrical:
x = u*cos(y)
у = u*sin(y)
z = w 
ellcylindrical:
x =a*cosh(u)*cos(v)
у = a*sinh(u)*sin(v)
z = w 
ellipsoidal:
x = u*v*w/a/b
у = ((u^2-b^2)*(u^2-b^2)*(b^2-w^2)/(а^2-b^2)^(1/2)/b
z = ((u^2-a^2)*(a^2-v^2)*(a^2-w^2)/(a^2-b^2)^(l/2)/a 
hypercylindrical:
x = ((u^2+v^2)^(l/2)-ni)^(l/2)
у = ((u^2+v^2)^(l/2)-u)^(l/2)
z = w 
invcasscylindrical:
x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2) +
exp(u)*cos(v)+1)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)+1)^(l/2)
у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(l/2) —
exp(u)*cos(v)-1)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)-1)^(l/2)
z = w
 invellcylindrical:
x = a*cosh(u)*cos(v)/(cosh(u)^2-sin(v)^2)
у = a*sinh(u)*sin(v)/(cosh(u)^2-sin(v)^2)
z = w 
invoblspheroidal:
x = a*cosh(u)*sin(v)*cos(w)/(cosh(u)^2-cos(v)^2)
у = a*cosh(u)*sin(v)*sin(w)/(cosh(u)^2-cos(v)^2)
z = a*sinh(u)*cos(v)/(cosh(u)^2-cos(v)^2)
  invprospheroldal:
x = a*s1nh(u)*sin(v)*cos(w)/(cosh(u)^2-sin(v)^2)
у = a*sinh(u)*sin(v)*sin(w)/(cosh(u)^2-sin(v)^2)
z = a*cosh(u)*cos(v)/(cosh(u)^2-s1n(v)^2)
 logcyllndrical:
x = a/Pi*ln(u^2+v^2)
у = 2*a/Pi*arctan(v/u)
z = w
logcoshcylindrical:
x = a/Pi*ln(cosh(u^2-sin(v)^2)
у = 2*a/Pi*arctan(tanh(u)*tan(v))
z = w
maxwell cylindrical:
x = a/P1*(u+l+exp(u)*cos(v))
у = a/Pi*(v+exp(u)*sin(v))
z = w 
oblatespheroidal:
x = a*cosh(u)*s1n(v)*cos(w)
у = a*cosh(u)*sin(v)*sin(w)
z = a*s1nh(u)*cos(v)
  parabololdal:
x = u*v*cos(w)
у = u*v*sin(w)
z = (u^2 — v^2)/2 
paraboloidal2:
x = 2*((u-a)*(a-v)*(a-w)/(a-b)^(l/2)
у = 2*((u-b)*(b-v)*(b-w)/(a-b))^(l/2)
z = u+v+w-a-b
  paracylindrical:
x = (iT2 — v*2)/2
у =u*v
z = w 
prolatespheroidal:
x = a*sinh(u)*sin(v)*cos(w)
y=a*s1nh(u)*sin(v)*sin(w)
z=a*cosh(u)*cos(v)
  rectangular:
x = u
у = v
z = w
 rosecylindrlcal:
х =((u^2+v^2)^(l/2)-Hi)^(l/2)/(u^2+v^2)^(l/2)
 у = ((u^2+v^2)^(l/2)-u)^(l/2)/(u^2+v^2)^(l/2)
z =w
  sixsphere:
x = u/(u^2+v^2+w^2)
у = v/(u^2+v^2+w^2)
z = w/(u^2+v^2+w^2)
 spherical:
x = u*cos(v)*sin(w)
у = u*sin(v)*sin(w)
z = u*cos(w) 
tangentcylindrical:
x = u/(u^2+v^2) ‘
у = v/(u^2+v^2)
z = w
  tangentsphere:
x = u*cos(w)/(u^2+v^2)
у = u*sin(w)/(u^2+v^2)
z = v/(u^2+v^2) 
toroidal:
x = a*sinh(v)*cos(w)/d
у = a*sinh(v)*sin(w)/d
z = a*sin(u)/d где d = cosh(v) — cos(u)
Эти формулы полезно знать, поскольку в литературе встречаются несколько отличные формулы пересчета. Вид графиков трехмерных поверхностей очень сильно различается в разных координатных системах. По умолчанию трехмерные графики строятся в прямоугольной системе координат — rectangular.

Построение поверхностей
Построение поверхностей с разными стилями
показано два примера простейших построений графиков трехмерной поверхности. По умолчанию в Maple 15 строится поверхность с функциональной окраской и стилем style=patch. Функциональная окраска делает рисунки более информативными, но, увы, на рисунках в книге она превращается в окраску оттенками серого цвета.
Параметр style=hidden строит каркасную поверхность с функциональной окраской тонких линий каркаса и удалением невидимых линий. далее…

Задание координатных систем двумерных графиков

Задание координатных систем двумерных графиков
В версии Maple 15 параметр coords задает 15 типов координатных систем для двумерных графиков. По умолчанию используется прямоугольная (декартова) система координат (coords=cartesian). При использовании других координатных систем координаты точек для них(и, v) преобразуются в координаты (х, у) как (n, v) —> (х, у). Ниже приведены наименования систем координат (значений параметра coords) и соответствующие формулы преобразования.

bipolar:

x = sinh(v)/(cosh(v)-cos(u)) у — sin(u)/(cosh(v)-cos(u))

cardioid:

x = l/2*(u^2-v^2)/(u^2+v^2)^2 
у = u*v/(u^2+v^2)^2

cartesian:

x = u
У = v

cassinian:

x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(1/2) + exp(u)*cos(v)+1^(l/2)
 у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+1)^(1/2) -exp(u)*cos(v)-1)^(l/2)]

elliptic:

x = cosh(u)*cos(v) у = sinh(u)*sin(v)

hyperbolic:

x = ((u^2+v^2)^(l/2)+u)^(l/2) 
у = ((u^2+v~2)^(l/2)-u)^(l/2)

invcassinian:

x = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2) + exp(u)*cos(v)+1)^(1/2)/(exp(2*u)+2*exp(u)*cos(v)+1)^(l/2)
 у = a*2^(l/2)/2*((exp(2*u)+2*exp(u)*cos(v)+l)^(l/2) -exp(u)*cos(v)-l)^(l/2)/(exp(2*u)+2*exp(u)*cos(v)+l)^(l/2)

invelliptic:

x = a*cosh(u)*cos(v)/(cosh(u)*2-sin(v)*2)
 у = a*sinh(u)*sin(v)/(cosh(u)^2-sin(vr2)

logarithmic:

x = a/Pi*ln(u^2+v^2)
 у = 2*a/Pi*arctan(v/u)

logcosh:

x = a/Pi*ln(cosh(ur2-sin(vr2)
у =2*a/Pi*arctan(tanh(u)*tan(v))

maxwell :

x — a/Pi*(u+l+exp(u)*cos(v))
 у = a/Pi*(v+exp(u)*sin(v))

parabolic:

x = (u^2-v^2)/2 •
у — u*v

polar:

x = u*cos(v) у = u*sin(v)

rose:

x = ((u^2+v^2)^(l/2)+u)^(l/2)/(u^2+v^2)^(l/2)
 у — ((u^2+v^(1/2)+u)^(1/2)/(u^2+v^2)^(1/2)

tangent:

x = u/(u^2+v^2) 
у =v/(u^2+v^2)

Управление стилем и цветом линий двумерных графиков
Maple 15 позволяет воспроизводить на одном графике множество кривых. При этом возникает необходимость как-то идентифицировать их. Для этого можно использовать построение линий разными стилями, разными цветами и с разной толщиной. Набор средств выделения кривых позволяет уверенно различать их как на экране цветного дисплея и в распечатках, сделанных цветным струйным принтером, так и при печати монохромными принтерами. Параметр style — позволяет задавать следующие стили для линий графиков:

  •  POINT или point — график выводится по точкам; 
  •  LINE или line — график выводится линией.

Если задано построение графика точками, то параметр symbol позволяет представить точки в виде различных символов, например прямоугольников, крестов, окружностей или ромбов.
Другой параметр — color — позволяет использовать обширный набор цветов линий графиков:

aquamarine

black

blue

navy

coral

cyan

brown

gold

green

gray

grey

khaki

magenta

maroon

orange

pink

plum

red

sienna

tan

turquoise

violet

wheat

white

yellow

Различные цветовые оттенки получаются благодаря использованию RGB-комбинаций базовых цветов: red — красный, gray — зеленый, bluе — синий. Приведем перевод ряда других составных цветов: black — черный, white — белый, khaki — цвет «хаки», gold — золотистый, orange — оранжевый, violet — фиолетовый, yellow — желтый и т. д. Перевод цветов некоторых оттенков на русский язык не всегда однозначен и потому не приводится. Средства управления стилем графиков дают возможность легко выделять различные кривые на одном рисунке, даже если для выделения не используются цвета.

Упрощение выражений

Упрощение выражений
Функция simplify — одна из самых мощных в системах символьной математики. Она предназначена для упрощения математических выражений. «Все гениальное просто», — любим мы повторять, хотя это далеко не всегда так. Тем не менее стремление представить многие математические выражения в наиболее простом виде поощряется в большинстве вычислений и нередко составляет их цель. В системе Maple 15 функция упрощения используется в следующем виде:

  •  simplify(expr) — возвращает упрощенное выражение ехрr или повторяет его, если упрощение в рамках правил Maple 15 невозможно;
  •  simplify(expr, nl, n2, …) —возвращает упрощенное выражение ехрr с учетом параметров с именами nl, n2, … (в том числе заданных списком или множеством);
  •  simplify(ехрг,assume=prop) — возвращает упрощенное выражение ехpr с учетом всех условий.

Функция simplify — многоцелевая. Она обеспечивает упрощение математических выражений, выполняя следующие типовые действия (для простоты обозначим их как ->):

  •  комбинируя цифровые подвыражения (3*х*5->15*х, 10*х/5->2*х);
  •   приводя подобные множители в произведениях (х^3*а*х->а*х^4); 
  •  приводя подобные члены в суммах (5*х+2+3*х->8*х+2); 
  •  используя тождества, содержащие ноль (а+0->а, х-0->х);
  •  используя тождества, содержащие единицу (1*х->х);
  •  распределяя целочисленные показатели степени в произведениях ((3*x*y^3)^2 ->9*х^2*у^6);
  •  сокращая ехрr на наибольший общий полиномиальный или иной множитель;
  •  понижая степень полиномов там, где это возможно;
  •  используя преобразования, способные упростить выражения.

Несмотря на свою гибкость, функция simplify не всегда способна выполнить возможные упрощения. В этом случае ей надо подсказать, в какой области ищутся упрощения и где можно найти соответствующие упрощающие преобразования. далее…

Преобразование выражений

Преобразование выражений
Еще одним мощным средством преобразования выражений является функция combine. Она обеспечивает объединение показателей степенных функций и преобразование тригонометрических и некоторых иных функций. Эта функция -может записываться в трех формах:
combine(f)
combinef(, n)
combine(f. n. optl. opt2. …)
Здесь f — любое выражение, множество или список выражений; n — имя, список или множество имен; optl, opt2, … — имена параметров. Во втором аргументе можно использовать следующие функции:

@@

abs

arctan

conjugate

exp

In

piecewise

polylog

power

product

Ps

radical

range

signum

trig

Примеры применения функции combine представлены ниже:

Эти примеры далеко не исчерпывают возможностей функции combine в преобразовании выражений. далее…

Символьные операции

Символьные (аналитические) операции

Основные операции с выражениями
Работа с частями выражений
Выражения (ехрr) или уравнения (eqn) обычно используются как сами по себе, так и в виде равенств или неравенств. В последнем случае объекты с выражениями имеют левую и правую части. Для простейших манипуляций с выражениями полезны следующие функции:

  •  cost (а) — возвращает число сложений и умножений в выражении а (функция пакета codegen);
  •  Ihs(eqn) — выделяет левую часть eqn;
  •  rhs(eqn) — выделяет правую часть eqn;
  •  normal (ехрr) — дает нормализацию (сокращение) ехрr в виде дроби;
  •  numer(expr) — выделяет числитель ехрr;
  • Оdenom(expr) — выделяет знаменатель ехрr.

Ввиду очевидности действия этих функций ограничимся наглядными примерами их применения:

ПРИМЕЧАНИЕ
 Обратите внимание на то, что в предшествующих версиях Maple загрузка библиотеч ной функции cost выполнялась иначе — командой readlib(cost). Это обстоятельство может служить причиной неверной работы документов, созданных в старых версиях Maple, в среде описываемой версии Maple 15.
Работа с уровнями вложенности выражений
В общем случае выражения могут быть многоуровневыми и содержать объекты, расположенные на разных уровнях вложенности. Приведем две функции для оценки уровней выражений и списков:

  •  nops(expr) — возвращает число объектов первого уровня (операндов) в выражении ехрr;
  •  ор(ехрr) — возвращает список объектов первого уровня в выражении ехрr; 
  •  ор(n.ехрr) — возвращает n-й объект первого уровня в выражении ехрr. 

Ниже представлены примеры применения этих функций:

Рекомендуется просмотреть и более сложные примеры на применение этих функций в справке.

Преобразование выражений в тождественные формы
Многие математические выражения имеют различные тождественные формы. Порою преобразование выражения из одной формы в другую позволяет получить результат, более удобный для последующих вычислений. Кроме того, различные функции Maple 15 работают с разными формами выражений и разными типами данных. Поэтому большое значение имеет целенаправленное преобразование выражений и данных. далее…

Функции из отдельных кусков

Функции из отдельных кусков
Создание функций из отдельных кусков
Для создания функций, составленных из отдельных кусков, Maple 15 располагает интересной функцией:
piecewise(cond_l,f_l. cond_2,f_2. …. cond_n,f_n. f_otherwise)
где f_i — выражение, cond_i — логическое выражение, f_otherwise — необязательное дополнительное выражение. В зависимости от того или иного условия эта функция позволяет формировать соответствующую аналитическую зависимость. К кусочным функциям (подчас в скрытой форме) приводят функции с элементами сравнения аргумента, например abs, signum, max и др. Поэтому в Maple 15 введен достаточно мощный аппарат обработки и преобразований таких функций по частям.
Простые примеры применения функции piecewise
Рисунок 9.3 показывает задание функции f(x), содержащей три характерных участка. По определенной через функцию пользователя зависимости f(x) можно, как обычно, построить ее график.
Важно отметить, что созданная с помощью функции piecewise зависимость может участвовать в различных преобразованиях. Например, показано, что она легко дифференцируется и можно построить график производной этой функции. При этом каждая часть функции обрабатывается отдельно.

далее…