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

2016-07-28СтудИзба

Описание файла

Документ из архива "Решение уравнений, неравенств и их систем", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "лабораторные работы", в предмете "информатика, программирование" в общих файлах.

Онлайн просмотр документа "49815"

Текст из документа "49815"

Кафедра: Информационные Технологии

Лабораторная Работа

На тему: РЕШЕНИЕ УРАВНЕНИЙ, НЕРАВЕНСТВ И ИХ СИСТЕМ.

Москва, 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<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 решает их на промежутке [–, ]. Для получения всех решений тригонометрических уравнений следует задать значение глобальной переменной _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;

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5173
Авторов
на СтудИзбе
437
Средний доход
с одного платного файла
Обучение Подробнее