Графики символьных функций – команды ezplot, ezpolar
Чтобы избавить пользователя от хлопот, связанных с построением графиков функций с помощью стандартных средств (например, команды plot), в пакет Symbolic введены довольно удобные графические команды класса ezplot:
ezplot(f) – строит график символьно заданной функции f(x) независимой переменной x в интервале [- 2*pi;2*pi];
ezplot(f,xmin,xmax) – делает то же, но позволяет задать диапазон изменения независимой переменной x в интервале от xmin до xmax;
ezplot(f, [xmin, xmax, ymin, ymax]) – строит график функции f(x,у) = 0 для xmin < х < xmax, ymin < y < ymax.
Построим график функции sin(t)/t (рис. 7.3 ):
>> ezplot('sin(t)/t'),grid
Рис. 7.3
Следующая команда строит график гиперболы u2 - v2 - 1 = 0 для - 3 < u < 3, - 3 < v < 3 (рис. 7.4):
>> ezplot('u^2-v^2-1',[-3, 3, -3, 3]),grid
Рис. 7.4
Ранее с помощью команды ezplot были построены графики на рис. 6.2 и 7.2.
График функции f(t) в полярной системе координат строит команда ezpolar:
ezpolar(f) – строит график функции f(t) при изменении угла t от 0 до 2π;
ezpolar(f,[a b]) – строит график функции f(t) при изменении угла t от a до b.
Построим график функции cos3t в полярной системе координат (рис. 7.5):
>> ezpolar('cos(3*t)')
Рис.7.5
Помимо команд ezplot и ezpolar,пакет Symbolic поддерживает построение графиков других типов. Так, команда ezcontour служит для построения контурных графиков функций вида f(x,y). Похожая команда ezcontourf строит контурные графики с функциональной окраской областей между линиями равного уровня. Для построения трехмерных графиков параметрически заданных функций служит команда ezplot3. Команды ezsurf, ezsurfc, ezmesh, ezmeshc применяются для построения графиков поверхностей, заданных функциями двух переменных f(x,y). Справку с примерами по применению любой из этих команд можно получить с помощью команды doc <имя команды>.
Прямой доступ к ядру системы Maple – команда maple
Применение возможностей системы Maple совместно с возможностями системы MATLAB придает последней особую гибкость и резко расширяет возможности решения сложных математических задач, где целесообразно объединять аналитические (символьные) методы с численными расчетами.
Доступ к большинству функций и команд системы Maple, ядро которой включено в МАТLAB, осуществляется командой maple.
Пример:
Найти аналитическое решение дифференциального уравнения y''+2xy'+ny = 0.
Решение:
Обращение к dsolve приводит к решению, выраженному через функции Уиттекера:
>> dsolve('D2y+2*x*Dy+n*y=0','x')
ans =
C1/x^(1/2)*WhittakerW(1/4*n-1/4,1/4,x^2)*exp(-1/2*x^2)+C2/x^(1/2)*WhittakerM(1/4*n-1/4,1/4,x^2)*exp(-1/2*x^2)
Непосредственно из МАТLAB функции WhittakerW и WhittakerM недоступны, т.к. их нет в списке команды mfunlist (см. приложение 1).
Определение функций функций Уиттекера, варианты вызова и подробное описание с примерами использования возвращает команда mhelp Whittaker. Вычислим значение одной из них:
>> maple('WhittakerM(1,2,3)')
ans =
WhittakerM(1,2,3)
>> vpa(ans,7)
ans =
10.17605
Ниже приводятся примеры решения в МАТLAB некоторых математических задач с привлечением возможностей системы Maple.
Разложение рациональной дроби на сумму простейших дробей
При нахождении (вручную) неопределенного интеграла
dx
возникает задача разложения подынтегральной дроби
на сумму простейших дробей. Получить такое разложение непосредственно в MATLAB нельзя. Следует использовать команду convert (с формой разложения parfrac) системы Maple:
>> maple('convert((x^2+2)^2*(x^3+3)/(x+1)/(x^2+1)^2,parfrac,x)')
ans =
x^2-x+3+9/2/(x+1)-1/2*(-7+9*x)/(x^2+1)-(-1+2*x)/(x^2+1)^2
>> pretty(sym(ans))
2 1 -7 + 9 x -1 + 2 x
x - x + 3 + 9/2 ----- - 1/2 ---------- - -----------
1 + x 2 2 2
1 + x (1 + x )
т.е.
= x2 - x+3+ - - .
Решение неравенств и систем неравенств
Для решения неравенств и систем неравенств в Maple служит команда solve.
Пример:
Решить неравенство
> 2.
Решение:
>> maple('solve((x-2)/(x+3)>2,{x})')
ans =
{-8 < x, x < -3}
Значит, - 8 < x < - 3 – решение неравенства.
Пример:
Решить систему неравенств
Решение:
>> maple('solve({(x-2)/(x+3)<=51,sqrt(x)*(sqrt(x)-1)<10,10*x^2+4*x>=69},x)')
ans =
{RootOf(-69+10*_Z^2+4*_Z,2.4343879744638981326796776750121) <= x, x < RootOf(-21*_Z+_Z^2+100,13.701562118716424343244108837311)}
>> vpa(ans,4)
ans =
{2.434 <= x, x < 13.70}
Таким образом, 2,434 ≤ x < 13,70 – приближенное решение системы неравенств (с точностью до 4 - х значащих цифр). Точное решение имеет вид
≤ x < .
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|