Гурский Д., Турбина Е. - Вычисления в MathCad 12 (1077322), страница 88
Текст из файла (страница 88)
Во-первых, значение полярного угла для обеих точек должно быть одинаковым. В ответе же для v получены разные значения. Очевидно, что в дальнейших расчетах следует использовать только значение v=arctg(3/2),так как оно соответствует точке (2, 3), в то время как v=arctg(3/2)-p описывает точку (-2, -3).Во-вторых, нужно учесть, что отсчет азимутального угла и ведется не с 0, а с -я/2. Для этого я/2нужно отнять от полученных значений и.Введем переменные ul, vl, zl и u2, v2, z2, в которых будут храниться значения координат, соответствующих точкам, через которые должны быть проведены касательные плоскости и нормали:Uu2:=R, n - 1,0 2zl:=z(ul,vl)z2:=z(u2,v2)zl =-3.606z2= 3.606vl:=]:=Rv2:=o,Координаты по z для точек сферы с одинаковыми координатами по х и у оказались, как и положено, равными по модулю и противоположными по знаку.
Следовательно, и и v для этих точекбыли найдены верно.Уравнение касательной плоскости для параметрически заданной поверхности можно найти, раскрыв следующий определитель и выделив Z в левую часть равенства:Х-х О*0У„= 03 8 6 •:• Глава 11. Вычисление производныхЗдесь X, Y, Z — переменные уравнения плоскости; х0, у0, z0 — координаты точки, в которой поверхность и плоскость соприкасаются; xu, yu, zu — значения частных производных параметрическихуравнений по переменной и в точке соприкосновения; xv, yv, zv — значения частных производныхпараметрических уравнений no v.Рассчитать приведенный определитель в Mathcad несложно. Но тут есть одна тонкость.
Мы должны использовать в нем значения частных производных параметрических уравнений в точкесоприкосновения касательной плоскости и поверхности, а не их аналитические выражения. Имеется несколько способов решить эту проблему. Мы будем действовать следующим образом: вычислим определитель с символьными выражениями для частных производных, а затем подставим вместо переменных и и v их значения с помощью оператора substitute. Далее мы выразим Zпосредством оператора solve и пересчитаем полученное громоздкое аналитическое выражениев более простую приблизительную форму, применив оператор float.Х-2Y-3substitute ,u = u l , v = v l—z(u,v)= 0 solve,Z-• .533-X-7.06+.800-YЭй— x(u,v) — y ( u , v )Suди9 ,Э ,. 9 ,,— x ( u , v )N — y ( u , v ) — z ( u , v )9v9vfloat, 39vНа основании полученного выражения создаем функцию:Z1(X, Y) := .533-Х - 7.06+ .800 YОбратите внимание, что в уравнении касательной плоскости мы использовали переменные X, Y, Z.Ввиду наличия для идентификаторов в Mathcad чувствительности к регистру, это позволяет избежать конфликта с определенными выше параметрическими функциями x(t), y(t), z(t).Аналогичным образом находим уравнение касательной плоскости и для второй точки:Х-2Y-3Z-z2Э ,\ 9 ,.
9 , .— x(u,v) — y(u,v) — z ( u , v ч)9uЭйЭй=0substitutes = u2, v=v2-»-.533-X+7.06-.800Ysolve, Z9float, 3,ч Э ,,9ч,—x(u,v) — y(u,v) —z(u,v)9v9v9vZ2(X, Y) := -.533-X + 7.06 - .800YУравнения касательных найдены. Осталось вычислить уравнения для нормалей. В справочнойлитературе можно найти следующую формулу для нормали к параметрически заданной поверхности:Х-х 0(у* ЛиУУ-Ус(zиzх\иZУ vихXvJи1иу\11.2. Задачи, связанные с вычислением производной* 387Здесь X, Y, Z — переменные уравнения; х0, у0, z0 — координаты общей точки поверхности и нормали; хи, уц, zu и xv, yv, zv — значения частных производных параметрических уравнений по и и vв точке пересечения нормалью поверхности.От данной формулы очень просто перейти к системе параметрических уравнений X(t), Y(t), Z(t),задающих нормаль (это нужно сделать, так как только линии, описанные в такой форме, можнопостроить в Mathcad).
Для этого выражение для каждой переменной нужно приравнять к параметру t и выразить затем через него саму переменную.Чтобы не оперировать громоздкими выражениями, сначала рассчитаем входящие в формулуопределители:яя—y(u,v) —z(u,v)Эй9uDlx:=Яsubstitute,u= u l , v = vl_24simplifyЯ213— y(u,v) —z(u,v)Dly:=SvSv-z(u,v)9u-*U,v)da9,ч дjsubstitute,u = u l , v = vl_3simplifyis— z(u,v) —x(u,v)9v9vDlz:=—x(u,v)9u— y(u,v)9u— x(u,v) —y(u,v)9v9v1 1substitute^ = ul,v = vlT -,• ,*->2-132-32simplifyФункция CreateSpace, служащая в Mathcad для построения пространственных параметрическизаданных кривых (подробно она описана в гл. 6), принимает систему уравнений, описывающихлинию, в виде вектора. Поэтому имеет смысл получить этот вектор сразу, для чего объединимуравнения в систему и решим их одновременно:X-2Dlx• = tY-3solve, X,Y,ZDl yfloat, 3Z-zlDl.(2.01-6.67-t 3.01- 10.0-t -3.60+ 12.5-t)•= tJТранспонируем выданную solve матрицу-строку и создаем на основании нее функцию:norml(t) : = ( 2 .
0 1 - 6.67t 3.01- 10.0-t -3.60+ 1 2 . 5 t ) T388 •Глава 11. Вычисление производныхАналогично получаются уравнения нормали для второй точки. В целях экономии места приводить соответствующие формулы не будем.Строим шар, касательные плоскости и нормаль (рис. 11.4) (чтобы понять, как была нарисованалиния нормали, перечитайте раздел гл. 6, посвященный функции CreateSpace).(x,y,z),Zl,Z2,CreateSpace(notml ,-0.-5,0.3,100)Рис. 11.4. Шар, касательные плоскости и нормаль к нему11.2.3. Дифференцирование сложной функцииДифференцируемая функция U(vv v2, v3... v j называется сложной, если ее аргументы в свою очередь являются функциями некоторых независимых переменных:vl=f(x17 x2 х3... х т ). Очень часто на практике возникает задача нахождения частных производных сложной функции по переменным, от которых зависят ее аргументы.
Например, перед вами может стать задача дифференцирования функции, заданной в сферической системе координат, по переменным х, у, z. В любом задачнике есть примерына перевод оператора Лапласа или оператора градиента из декартовой системы координат в цилиндрическую и сферическую системы. Подобного рода задачи требуютвесьма объемных математических выкладок и хорошей техники вычислений — поэтомустоит использовать Mathcad для их решения.Рассмотрим функцию, заданную в сферической системе координат.
Она зависитот трех переменных, каждая из которых в свою очередь является функцией декартовых координат:U=flp(x,y,z),e(x,y,z),<|>(x,y,z))Частные производные U по х, у, z можно найти по следующим формулам:-u=Sx— u •- ф+ — u • —Р+ —u N -11.2. Задачи, связанные с вычислением производной* 389То есть чтобы найти частную производную сложной функции по одной из независимых переменных, нужно вычислить произведения частных производных этой функциипо промежуточным аргументам и частных производных промежуточных аргументовпо независимым переменным, а затем сложить их.Решение неэлементарных задач на дифференцирование сложной функции требует активного использования возможностей символьного процессора.
Однако нужно помнить,что они весьма ограничены, поэтому, к примеру, найти в пару действий лапласиан длясферической системы координат вряд ли получится. Запомните несколько советов, которые позволят вам проводить аналитические расчеты в Mathcad более эффективно.• Не обращайте внимания на сообщения об ошибках. Если формула стала красной,это не значит, что она не будет вычислена. Просто среда разработки настроена насинтаксис численных расчетов, поэтому ее «смущает», если, например, функциязадается без скобок с аргументами после имени. Также сообщение об ошибке появляется, если в выражении присутствуют не заданные численно переменные, хотяаналитический процессор «умеет» отлично работать с такими выражениями.•Можно работать лишь с реальными, а не абстрактными объектами.
К примеру,нельзя проводить аналитические преобразования, оперируя некоей гипотетической, обобщенной функцией, как это обычно делается при выводах на бумаге. Функция должна быть задана как конкретная зависимость, иначе символьный процессорс ней работать не будет. Аналогично, нельзя оперировать «пустыми» операторамидифференцирования или отдельными дифференциалами.• Применяйте уникальные идентификаторы, если одна и та же величина выступаетв разных ипостасях.
Поясним этот принцип на примере. В приведенные выше выражения для частных производных сложных функций по независимым переменным входят произведения, в которых промежуточный аргумент сначала фигурирует, как переменная, а затем как функция. Для человека разница ролей, которыеисполняет в данном случае промежуточный аргумент, очевидна.
Однако машиналишена интеллекта! Для нее величина — это или переменная, или функция. Поэтому, чтобы использовать данные формулы в Mathcad, промежуточный аргумент какпеременная и как функция должен иметь различные идентификаторы (например,х и X или у и у').Для примера мы решим довольно сложную с вычислительной точки зрения задачу:найдем лапласиан для функции, заданной в сферической системе координат, при условии, что известна лишь формула оператора Лапласа для декартовых координат:.в22дд2Аи = — х и + — = и + — = иЭхдуdzОператор Лапласа довольно активно используется в физике. В частности, он входитв гамильтониан — оператор полной энергии, поэтому задачи, подобные решаемойниже, не редкость в классической и особенно квантовой механике.