АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

РЕШЕНИЕ УРАВНЕНИЙ, НЕРАВЕНСТВ И ИХ СИСТЕМ

Читайте также:
  1. VIII. Дополнения из самого раннего детства. Разрешение
  2. А теперь мое решение проблемы
  3. А ты? Кому ты доверяешь и что надо, чтобы ты доверял? Кому не доверяешь и почему? На каких критериях основано твое собственное решение о доверии и недоверии? Перечисли их.
  4. А) Решение задачи Коши для ОДУ
  5. автентическое разрешение плагальное разрешение
  6. Алгоритм решения дробно-рациональных неравенств.
  7. Аналитическое решение дифференциальных уравнений
  8. Аналогично доказывается и правое неравенство.
  9. АРБИТРАЖНОЕ РЕШЕНИЕ
  10. Архитектурно-конструктивное решение здания.
  11. Аутопоэз естественных систем.
  12. Б) Решение краевой задачи для ОДУ

Цели работы:

· знать команды, используемые при решении уравнений и их систем, неравенств и их систем в системе аналитических вычислений Maple;

· уметь применять указанные команды для решения математических задач.

 

ТЕОРЕТИЧЕСКИЕ СВЕДЕНИЯ.

 

1. Введение.

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

Два выражения, соединенные знаком равенства (=), представляют само­стоятельный тип данных Maple - уравнение (equation). Уравнения можно при­сваивать обычным переменным Maple, с уравнениями можно осуществлять преобразования, используя обычные арифметические действия, которые вы­полняются отдельно для левой и правой частей уравнений. Эти действия позволяют преобразовать уравнения к виду, удобному для использования, а иногда и облегчающему Maple поиск решения. Некоторые преобразования, которые можно осуществлять с уравнениями в системе Maple, приведены в примере 1.

Пример 1. Допустимые операции с уравнениями.

> 3*x^3+7=2*x+x^5;

> whattype(%);

> d:=3*x^3+7=2*x+x^5;

> whattype(d);

> d-(x^4=x^4);

> d+(x^4=x^4);

При проверке типа переменной, значением которой является уравне­ние, с помощью команды whattype () результатом является равенство =, означающее, что тип проверяемой переменной является уравнением.

Как и при задании уравнений два выражения, соединенные знаками >= (больше или равно), <= (меньше или равно), > (больше) или (меньше), представляют новый тип - неравенство (inequation).

Пример 2. Неравенства.

> a<b;

> whattype(%);

> d:=a>b;

> whattype(d);

> d-(h>4);

> d-(h<4);

При проверке типа объекта, представляющего неравенство, в области вывода отображается либо <>, либо <, либо <=. Дело в том, что Maple “понимает” только эти три типа. Неравенства противоположного знака приводятся к ним перестановкой левой и правой частей с заменой знаков на противоположные.

 

2. Команда: solve ().

Команда solve() позволяет решать уравнения и системы уравнений, неравенства и системы неравенств. Эта команда всегда пытается найти замкнутое решение в аналитической форме. Ее синтаксис достаточно прост:

solve (ypaвнение, переменная);

solve ({уравнение l, уравнение 2,... },{переменная l, переменная 2, …});

Первая форма команды предназначена для решения одного уравнения относительно заданной переменной. Вторая форма позволяет решать системы уравнений относительно переменных, заданных вторым параметром. Заметим, что система уравнений и ее неизвестные переменные задаются в виде множеств, результатом в этом случае является также множество значений неизвестных в виде уравнений. В случае задания одного уравнения результатом будет выражение (в случае одного корня уравнения) или последовательность выражений (в случае нескольких корней). Если не задана переменная/переменные, относительно которых следует решать уравнение/систему уравнений, то Maple выдаст все решения относительно всех неопределенных переменных в исходных уравнениях. Если вместо уравнения задано выражение с неизвестными, то оно рассматривается как левая часть уравнения, тогда как правая часть предполагается равной 0. Некоторые из перечисленных ситуаций иллюстрирует пример 3.

 

Пример 3. Решение уравнений и систем уравнений.

 

> a:=x^2+7*x+y^3=0;

> solve(a,x);

> solve({a},x);

> a1:=2*x+y=0;

> solve({a,a1},{x,y});

> solve(a1);

В некоторых случаях команда solve() возвращает пустую последователь­ность NULL. Это означает, что решения или не существует, или Maple не удалось его найти. Если не удалось найти все решения, то глобальная пере­менная _SolutionsMayBeLost устанавливается равной true.

Последнее уравнение из примера 3. решалось без указания переменной, относительно которой следовало бы решать уравнение. Maple решил их относительно всех неизвестных величин, входящих в уравнение. Причем он выбрал неизвестную х в качестве параметра (х = х), а неизвестную перемен­ную у выразил через введенный параметр х. Чтобы получить решение, следу­ет параметру х присвоить произвольное значение, тогда значение неизвест­ной у будет определено однозначно.

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

> eq:=x^5+x^4+x^3+8=0;

> d:=solve(eq,x);

> evalf(d[1]);

> solve(x=-2*cos(x));

В этом примере функция RootOf (_ Z + 2 cos(_ Z)) представляет любое решение уравнения _ Z + 2 cos(_ Z)=0. Переменная _ Z –это системная переменная, сгенерированная Maple, которая всего лишь заменяет переменную х нашего уравнения. Опция index со значением, равным целому числу, служит для нумерации и упорядочивания корней уравнения. Заметим, что с помощью функции evalf () можно получить приближенные числовые значения функции RootOf.

С помощью команды solve() можно решать и тригонометрические

уравнения. По умолчанию Maple решает их на промежутке [–p, p]. Для получения всех решений тригонометрических уравнений следует задать значение глобальной переменной _EnvAllSolutions равным true. Использование глобальной переменной _EnvAllSolutions показано на следующем примере:

> b:=sin(x)^2-2*sin(x)-1=0;

> s:=solve(b,x);

> _EnvAllSolutions:=true;

> s:=solve(b,x);

> about(_Z1);

Originally _Z1, renamed _Z1~:

is assumed to be: integer

 

> about(_B1);

Originally _B1, renamed _B1~:

is assumed to be: OrProp(0,1)

Как видно, в случае _EnvAllSolutions:=true Maple действительно строит все решения тригонометрического уравнения с использованием целочисленной системной переменной _Z1~. Знак тильда (~) означает, что на значения пере­менной наложены некоторые ограничения. В данном случае эта переменная может принимать только целочисленные значения. (В этом можно убедиться, выполнив команду about(_Z1).) Подобные переменные используются Maple для представления всех решений тригонометрических уравнений. Префикс _Z в имени переменной, сгенерированной Марlе, служит указанием того, что эта переменная может принимать только целые значения. Кроме указанных переменных также используются переменные с префиксом _NN, прини­мающие неотрицательные целые значения, и префиксом _B, для представле­ния переменных с двоичной областью значении (0 или 1).

Для систем аналитических вычислений решение любого трансцендент­ного уравнения, в том числе и тригонометрического, достаточно сложная и серьезная проблема. Бывает, что простое трансцендентное уравнение может и не решаться в Maple. Здесь следует помнить о том, что Maple использует алгоритмический подход для решения уравнений, и, возможно, ему следует помочь, сделав кое-какие не стандартные преобразования уравнения, приведя его к другому виду.

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

> fs:={x+2*y=3,y+1/x=2};

> answ:=solve(fs,{x,y});

> eval(fs,answ[1]);

> eval(fs,answ[2]);

Из примера видно, что последовательность множеств, представляющих два полученных решения, сохранена в переменной answ. Для проверки правиль­ности полученных решений, подставляем эти решения в исходную систему и вычисляем полученные выражения с помощью команды eval(). В результате вычисления системы уравнений на двух полученныхрешенияхмыполучили тождества, что говорит о правильности наших решений. Если для дальней­ших вычислений необходимо иметь значения первого решения в виде от­дельных переменных, то той же самой командой eval () можно извлечь их, вычислив, соответственно, неизвестную х и у на первом решении:

> x1:=eval(x,answ[1]);

> y1:=eval(y,answ[1]);

Для проверки решения можно использовать функцию mар() вместе с функцией subs(), которая за одну операцию проверит все решения. Это удобно, когда решений очень много и для каждого из них пришлось бы выполнять команду eval(), если использовать предыдущий подход. Для решения нашей системы вызов команды mар() выглядит так:

> map(subs,[answ],fs);

Команда solve () может решать неопределенные системы уравнений, в ко­торых количество уравнений меньше числа неизвестных. В этом случае сис­тема Maple сама решает, какие из неизвестных принять за параметры, а ка­кие за неизвестные, относительно которых следует строить решение:

> fs1:=x+3*y+4*z+5*t=50;

> fs2:=3*x+3*y+2*z+t=30;

> answ1:=solve({fs1,fs1});

Здесь решение получено в параметрической форме относительно неизвест­ных y, t и z, которые выбраны системой. Можно явно указать, относительно каких неизвестных следует решать систему уравнений, тогда оставшиеся бу­дут рассматриваться как параметры:

> answ2:=solve({fs1,fs1},{y,z});

В этом решении явно указаны неизвестные у и z, и полученное решение зависит от двух параметров х и t.

С помощью функции eval () можно вычислить значения решения при кон­кретных значениях параметров:

> eval(answ2,{x=1,z=1,t=1});

Бывает, что при решении систем уравнений ответ получается в виде множес­тва уравнений, в которых левая часть является неизвестной переменной. Чтобы присвоить найденные значения переменным, относительно которых решалась система, следует применять команду assign(). Эта команда присваи­вает переменным, стоящим в левой части уравнений из множества решений, значения, равные правым частям. Можно сказать, что эта команда заменяет знак равенства (=) на знак операции присваивания (:=) во множестве, состоя­щем из уравнений, в которых левые части представлены неизвестными:

> {q=a+b,w=g+p};

> assign(%);q;w;

> eq:=x*a+y*b=c;

> s:=solve({eq,x+y=1},{x,y});

> assign(s);x;y;

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

> fs:=y^4+2*y^2+2=0;

> d:=solve(fs);

> y1:=d[1];y1;

Напомним, что в приведенном примере I означает комплексную мнимую единицу, равную .

 

3. Команда: fsolve ().

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

fsolve (уравнения, переменные, опция);

Задание первых двух параметров соответствует заданию аналогичных параметров в команде solve(), а параметр опция может принимать значения из таблицы 1.

Таблица 1. Значения параметра опцuя команды fsolve ()

Значение Смысл
complex Разыскиваются комплексные корни (только для полиномов)
Fulldigits Используется арифметика с максимальной мантиссой
Maxsols=n Разыскивается n решений (только для полиномов)
а.. b или x=a..b Задан промежуток [а, b ], на котором разыскивается решение (во второй форме задания этой опции х обозначает имя неизвестной переменной в уравнении)

Для произвольного уравнения по умолчанию эта функция находит одно решение, но для полиномов определяются все действительные корни. Для нахождения всех корней полинома, включая комплексные, следует задать опцию complex. В примере 4 показано использование команды числен­ного решения уравнений.

Пример 4. Численное решение уравнений.

> eq:=x^4+2*x^2-2=0;

> s:=fsolve(eq,x);

> s:=fsolve(eq,x,complex);

> fsolve(ln(sin(x))=0,x);

> fsolve(ln(sin(x))=0,x,x=2..infinity);

> fsolve(ln(sin(x))=0,x,x=15..infinity);

Здесь также показано, как можно последовательно находить корни про­извольного уравнения, задавая интервал изменения неизвестной величины с учетом полученного решения на предыдущем шаге нахождения корня (последние три команды).

 

4. Другие команды решения уравнений.

Кроме универсальных команд solve () и fsolve () решения уравнений и систем уравнений, система Maple содержит специализированные команды, предназначенные либо для решения определенного класса уравнений, либо нахождения решений в заданном числовом поле. Здесь эти команды описаны предельно кратко для того, чтобы читатель знал об их существовании. Более подробно об этих командах можно узнать в справочной системе Maple, выполнив команду?имя_команды, где вместо параметра имя_команды следует подставить ее действительное имя.

Команда isolve () ищет все целые решения уравнений. Если в уравнении задано несколько неизвестных, то строится решение относительно всех за­данных неизвестных.

Пример 5. Целочисленное решение уравнений.

> isolve({(x+1)*(x-1/2)*(x-2)=0});

> isolve({5*x+6*y=1});

Врешении последнего уравнения примера 5 использована целочисленная переменная _Z1 сгенерированная Maple.

Команда msolve () также ищет целочисленные решения уравнения, но только по модулю, заданному вторым параметром.

Пример 6. Целочисленное решение уравнений по заданному целому модулю.

> solve({3*x-4*y=1,7*x+y=2});

> msolve({3*x-4*y=1,7*x+y=2},11);

> msolve({3^n=4},11);

Команда rsolve () строит общее решение рекуррентного уравнения, используя начальные значения, если они заданы, или через их символьные обозначения, если они не заданы.

Пример 7. Решение рекуррентных уравнений.

> rsolve({F(n+2)=F(n+1)+F(n)},F(n)); # Без начальных условий

> rsolve({F(n+2)=F(n+1)+F(n),F(0)=1,F(1)=1},{F(n)});

# Используя заданные начальные условия

 

5. Решение неравенств.

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

Пример 8. Решение неравенств.

> solve((x+3)/(4-x)>4,x);

> solve((x+3)/(4-x)>4,{x});

> solve(log[1/2](log[2](x^2-8))>=-1);

> solve({log[1/2](log[2](x^2-8))>=-1});

Впримере 8решены два неравенства, для каждого из которых построено решение в виде множества и в форме действительных интервалов.

 

Задачи для самостоятельного решения.

1. Решить уравнение и проверить правильность полученных решений:

1.1. 1.28.

1.2. 1.29.

1.3. 1.30.

1.4. 1.31.

1.5. 1.32.

1.6. 1.33.

1.7. 1.34.

1.8. 1.35.

1.9. 1.36.

1.10. 1.37.

1.11. 1.38.

1.12. 1.39.

1.13. 1.40.

1.14. 1.41.

1.15. 1.42.

1.16. 1.43.

1.17. 1.44.

1.18. 1.45.

1.19. 1.46.

1.20. 1.47.

1.21. 1.48.

1.22. 1.49.

1.23. 1.50.

1.24. 1.51.

1.25. 1.52.

1.26. 1.53.

1.27. 1.54.

1.55.

 

2. Решить систему уравнений:

 

2.1. 2.7.

2.2. 2.8.

2.3. 2.9.

2.4. 2.10.

2.5. 2.11.

2.6. 2.12.

2.13.

 

3. Решить неравенство:

 

3.1. 3.7.

3.2. 3.8.

3.3. 3.9.

3.4. 3.10.

3.5. 3.11.

3.6. 3.12.

3.13.

 

Варианты заданий.

 

. 1.1; 1.14; 1.27; 1.40; 2.1; 3.1;

. 1.2; 1.15; 1.28; 1.41; 2.2; 3.2;

. 1.3; 1.16; 1.29; 1.42; 2.3; 3.3;

. 1.4; 1.17; 1.30; 1.43; 2.4; 3.4;

. 1.5; 1.18; 1.31; 1.44; 2.5; 3.5;

. 1.6; 1.19; 1.32; 1.45; 2.6; 3.6;

. 1.7; 1.20; 1.33; 1.46; 2.7; 3.7;

. 1.8; 1.21; 1.34; 1.47; 2.8; 3.8;

. 1.9; 1.22; 1.35; 1.48; 2.9; 3.9;

. 1.10; 1.23; 1.36; 1.49; 2.10; 3.10;

. 1.11; 1.24; 1.37; 1.50; 2.11; 3.11;

. 1.12; 1.25; 1.38; 1.51; 2.12; 3.12;

. 1.13; 1.26; 1.39; 1.52; 2.13; 3.13;

. 1.52; 1.53; 1.54; 1.55; 2.1; 3.1;

. 1.53; 1.3; 1.5; 1.35; 2.2; 3.3;

 

Контрольные вопросы.

 

1. Команда solve (), ее предназначение и синтаксис.

2. Команда fsolve (), ее предназначение и синтаксис.

3. Команда isolve (), ее предназначение и синтаксис.

4. Команда assign (), ее предназначение и синтаксис.

5. Какой интервал чисел по умолчанию использует система Maple при решении тригонометрических уравнений с помощью команды solve ()?

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

7. С помощью каких команд осуществляется проверка полученного решения уравнения?

 

 


Литература

 

1. Говорухин В.Н., Цибулин В.Г. Введение в Maple. Математический пакет для всех. – М.: Мир, 1997. – 208 с.

2. Дьяконов В.П. Математическая система Maple V. – М.: Издательство “Солон”,1998.

3. Двайт Г.Б. Таблицы интегралов и другие математические формулы. – М.: Наука. Главная редакция физико-математической литературы, 1983. – 176 с.

4. Матросов А.В. Maple 6. Решение задач высшей математики и механики. – СПб.:БХВ - Петербург, 2001.– 528 с.

5. Манзон Б.М. Maple V Power Edition – М.: Информационно-издательский дом “Филинъ”,1998г.

 


1 | 2 | 3 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.04 сек.)