Категории
Самые читаемые
onlinekniga.com » Научные и научно-популярные книги » Математика » Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Читать онлайн Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 52 53 54 55 56 57 58 59 60 ... 125
Перейти на страницу:

> for s from 1 to 8 do

 F := (k, t)->subs({x=k*Pi/(10*s), y=t*Pi/(10*s)}, dA):

 A||s := evalf((Pi/<10*s))^2*sum(sum(F(p, q), p=0..10*s-1), q=0..10*s-1)):

 print(A||s);

end do:

7.408455387 7.429353779 7.429810700 7.429973244 7.430045037 7.430081583 7.430102033

> for s from 1 to 8 do

 F := (k, t)->subs({x=k*Pi/(10*s), y=t*Pi/(10*s)}, dA):

 Alls := evalf((Pi/(10*s))^2*sum(sum(F(p, q), p=1..10*s),

 q=1..10*s)):

 print(A||s)

end do:

7.408455386 7.427471278 7.429353778 7.429810700 7.429973260 7.430045062 7.430081587 7.430102036

Поскольку эти суммы явно сходятся, то можно считать применение сумм Римана приемлемым и принять, что площадь данной поверхности приближенно равна:

> Area := 4*7.43;

Area:= 29.72

4.11.9. Вычисление поверхностных интегралов

Приведенный выше пример иллюстрирует трудности вычислений поверхностных интегралов. Разумеется, далеко не всегда Maple требует специальных подходов к вычислению подобных интегралов и многие из них благополучно вычисляются.

Для этого используется функция:

SurfaceInt(f, dom, inert)

где f — алгебраическое выражение, задающее интегрируемую зависимость, dom — спецификация поверхности в виде list(name)=surface и inert — имя, задаваемое как опция.

Примеры применения данной функции представлены ниже (файл surint):

> with(VectorCalculus):

> SurfaceInt(1, [x,y,z] = Surface(<r,s,t>, s=0..Pi/2, t=0..Pi, coords=spherical)) assuming r>0;

π r²

>SurfaceInt(x+y+z, [x,y,z] = Surface(<s,t,4-2*s-t>, [s,t] = Triangle(<0.0>,<1,0>,<1,1>)));

> SurfaceInt(2*y^2, [x,y,z] = Sphere(<0,0,0>, r));

Глава 5

Анализ функциональных зависимостей и обработка данных

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

5.1. Анализ функциональных зависимостей

5.1.1. Понятие о функциональных зависимостях

Говорят, что y(x) есть функция, если известно правило, согласно которому каждому значению аргумента x соответствует некоторое значение у. Мы уже сталкивались с элементарными и специальными математическими функциями, которые имеют свои уникальные имена. Возможны и функции двух и более переменных, например функции Бесселя разного порядка.

Здесь мы под функциональной зависимостью будем понимать не только зависимости, заданные отдельными элементарными или специальными функциями, но и любые зависимости какой либо величины от ряда других величин — переменных. Такие выражения могут содержать ряд элементарных или специальных математических функций. Например, sin(x) и cos(x) это просто элементарные функции, а f(х)=2*sin(x)*cos(x) это уже функциональная зависимость f от х. Любое математическое выражение, содержащее переменные х, y, z, … можно рассматривать как функциональную зависимость f(x, y, z, …) от этих переменных.

Функциональная зависимость или функция f(х) даже от одной переменной может быть достаточно сложной, содержать корни (значения x при которых f(х)=0), полюса (значения х при которых f(х)→∞), максимумы и минимумы, разрывы, асимптотические значения, точки перегиба и т.д. Часто эти особенности видны на графике зависимости f(х), но анализ функциональной зависимости предполагает, что эти особенности могут быть точно идентифицированы и определены по математическому выражению, представляющему зависимость. Например, поиск корней сводится к решению уравнения f(х)=0 в заданном интервале, поиск экстремумов полагает нахождение значений x в точках экстремумов и значений f(х) в них и т.д.

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

5.1.2. Поиск экстремумов функций по нулям первой производной

С помощью функции fsolve системы Maple легко находятся значения независимой переменной x функций вида f(x), при которых f(х)=0 (корни этого уравнения). При этом данная функция позволяет (в отличие от функции solve) изолировать корни функции f(х) указанием примерного интервала их существования.

Для простых функций одной переменной f(х) поиск экстремумом часто сводят к нахождению точек, в которых первая производная f(х) обращается в нуль. Для этого можно использовать также функцию fsolve (иногда и solve, но она дает вывод в более сложной форме). Приведем пару примеров (файл extrem):

> у:=expand((х-3)*(х-1)*х*(х+2));

y := х4 - 2х3 - 5х2 + 6х

> dy:=simplify(diff(y,х));

dy := 4х³ - 6х² - 10х + 6

> plot({y,dy},х=-3..3,-10..10,color=black,thickness=[2,1]);

> extrem:=fsolve(dy=0,х);

extrem := -1.302775638, 0.5000000000, 2.302775638

В этом примере создан полином y с корнями 3, 1, 0 и -2 и найдена его производная dy. На рис. 5.1 построены графики функции и ее производной (жирная кривая). Из него видно, что полином p имеет экстремумы в точках, лежащих в промежутках между корневыми точками. Их значения и найдены как значения переменной extrem, для которых вторая производная равна 0. Рекомендуется проверить вид вывода, если fsolve заметить на solve.

Рис. 5.1. График функциональной зависимости — полинома и ее производной

Возьмем еще один пример для поиска экстремумов выражения sin(x)/x. Это выражение имеет бесконечное число экстремумов слева и справа от х=0 (в этой точке расположен главный максимум со значением 1). Ограничимся поиском трех экстремумов в интервале изменения x от 3 до 12:

> f:=sin(х)/x:df:=diff(f,x);

> plot({ f, df},x=0..12,color=black,thickness=[2,1]):

> [fsolve(df,x=3..6),fsolve(df,x=7..9),fsolve(df,x=9..12)];

[4.493409458, 7.725251837, 10.90412166]

Тут уже приходится искать каждый экстремум поодиночке, задавая поиск в соответствующем интервале изменения х. Для просмотра графика функциональной зависимости и ее производной достаточно в конце второй строки ввода заменить знак «:» на «;».

5.1.3. Поиск экстремумов в аналитическом виде

Функция solve нередко позволяет найти экстремумы в аналитическом виде как нули первой производной. Приведем примеры этого (файл extrem):

> restart:y:=ехр(-а*х)-exp(-b*x);dy:=diff(y,х);

у = e(-ax) - е(-bx) dy := -ae(-ax) + bе(-bх)

> solve(dy,x);

> restart:y:=а*х*ехр(-b*x);dy:=diff(y,х);

y := axe(-bx) dy := ae(-bx) - axbe(-bx)

> solve(dy,x);

Этот метод иногда можно распространить на случай ряда переменных. Ниже представлен такой пример для функции двух переменных:

> restart:

> z:=(х,y)-> а*х^2 + b*х*y + с*y^2 + d*(х-y);

z := (х,у)→aх² + bху + су² + d(x-y)

> xy:=solve({diff(z(x,y),x) = 0, diff(z(x,y),y) = 0},{х,y});

> z(rhs(xy[2]),rhs(xy[1]));

> simplify(%);

Разумеется, подобное решение возможно далеко не всегда, хотя и частные решения данной задачи представляют значительный практический интерес.

5.1.4. Поиск максимума амплитудно-частотной характеристики

Одной из практически важных задач может служить нахождение пика амплитудно-частотной характеристики слабо демпфированной системы с массой m и частотой собственных колебаний ω0. Эту характеристику можно представить следующим известным выражением (файл afc):

> restart;

> A:=A0/sqrt(m^2* (omega0^2-omega^2)^2+gamma^2*omega^2);

Найдя ее производную и, вычислив корни последней, получим:

> dA:=diff(A,omega);

> ss:=solve(dA=0,omega);

Из этих трех частот только одна физически реальна — средняя. Остальные могут быть отброшены. А теперь приведем пример с конкретными числовыми данными:

> AA:=subs(А0=5,omega0=10,m=1, gamma=1, А);

> AAprime :=diff(АА, omega);

> ss1:=solve(AAprime=0,omega);

> evalf(ss1);

1 ... 52 53 54 55 56 57 58 59 60 ... 125
Перейти на страницу:
На этой странице вы можете бесплатно читать книгу Maple 9.5/10 в математике, физике и образовании - Владимир Дьяконов.
Комментарии