Реферат по предмету "Информатика, программирование"


Решение уравнений, неравенств и их систем

Кафедра:Информационные Технологии
ЛабораторнаяРабота
Натему: РЕШЕНИЕ УРАВНЕНИЙ, НЕРАВЕНСТВ И ИХ СИСТЕМ.
 
Москва,2008 год

РЕШЕНИЕУРАВНЕНИЙ, НЕРАВЕНСТВ И ИХ СИСТЕМ
Целиработы:
·знать команды, используемые при решении уравнений и их систем, неравенств и ихсистем в системе аналитических вычислений 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
/>
> whattype(%);
/>
> d:=a>b;
/>
> whattype(d);
/>
> d-(h>4);
/>
> d-(h
/>
При проверке типа объекта, представляющего неравенство,в области вывода отображается либо , либо
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~:
 isassumed to be: integer
> about(_B1);
Originally_B1, renamed _B1~:
 isassumed to be: OrProp(0,1)
Как видно, в случае _EnvAllSolutions:=trueMaple действительно строит все решениятригонометрического уравнения с использованием целочисленной системнойпеременной _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. Говорухин В.Н.,Цибулин В.Г. Введение в Maple.Математический пакет для всех. – М.: Мир, 1997. – 208 с.
2. Дьяконов В.П.Математическая система MapleV. – М.: Издательство “Солон”,1998.
3. Двайт Г.Б. Таблицыинтегралов и другие математические формулы. – М.: Наука. Главная редакцияфизико-математической литературы, 1983. – 176 с.
4. Матросов А.В. Maple6. Решение задач высшей математики и механики. – СПб.: БХВ — Петербург, 2001.–528 с.
5. Манзон Б.М. MapleV PowerEdition – М.:Информационно-издательский дом “Филинъ”,1998г.


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :