Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Краткие теоретические сведения
Среда Maxima – это свободное программное обеспечение (СПО), предназначенное для символьных вычислений (CAS – ComputerAlgebraSystem). С её помощью можно проводить преобразования выражений, решать уравнения и системы, находить производные, интегрировать. Также имеются некоторые возможности для численных расчётов, построения графиков. Графический интерфейс пользователя вызывается через надстройку wxMaxima. Работа с системой. В системе wxMaxima ввод каждой строки необходимо завершать нажатием Ctrl+Enter. Если необходимо обработать сразу несколько команд, то между ними можно поставить знак; (на экран будут выведены результаты каждой команды последовательно), $ (результат команды, находящейся перед этим знаком, выведен не будет. Для удобства строку можно разорвать в любом месте, нажав Enter. На результате такие разрывы строк не отразятся. В конце всего поля ввода знак; можно не ставить, он будет добавлен автоматически. Поля ввода в системе помечаются значком (%i11), где 11 – номер поля; им соответствуют поля вывода (%o11), куда выводятся результаты (по умолчанию они выводятся в форме, близкой к математической, однако при их копировании они преобразуются в форму, пригодную для ввода в систему Maxima). Если необходимо скопировать результаты (например, в отчёт), то выделяют все поля. Копирование рекомендуется осуществлять комбинацией клавиш Ctrl+Shift+C (скопируется весь текст) или выбором в меню правки CopyAsText. При необходимости скопировать как текст, так и картинку, в меню правки выбирают CopyAsImage. Другие варианты следует использовать только в специальных случаях. Обычная комбинация Ctrl+C – Ctrl+V работает для копирования части выражения в пределах программы Maxima. При слишком длительном расчёте в меню Maxima можно использовать команду Прервать или RestartMaxima. В случае сомнений в использовании команды можно установить на неё курсор и вызвать справку (на английском языке) кнопкой F1. В системе Maxima используются выражения, переменные (в т.ч. массивы), функции, команды и флаги. Функции и команды требуют один или несколько аргументов в круглых скобках; аргументы разделяют запятыми. Выражения. Математические выражения в среде Maxima записываются в виде, близком к стандартному математическому. Следует помнить некоторые особенности: знак умножения – *, его нельзя опускать между множителями (например, запись “2a” обязательно привести к виду “2*a” (между тем, в выводе результата этот знак может оказаться опущенным). Знак возведения в степень - ^. Натуральный логарифм lnx записывается как log(x). В среде maxima все аргументы функций необходимо брать в скобки. В десятичных дробях вместо запятой целую часть от дробной отделяют точкой. Maxima умеет работать как с действительными, так и с комплексными числами (при этом i обозначается как %i). Это может слегка смутить пользователя, если ему нужны только действительные решения. Выражение, записанное в строке, после нажатия Ctrl-Enter автоматически вычисляется. Если его вычислить до конца невозможно или нецелесообразно, оно максимально упрощается.
Переменные. В состав любого выражения могут входить переменные. По умолчанию они остаются неизвестными, и в результате окажутся в неизменном виде. Переменной можно присвоить любое значение, причём как числовое, так и выражение (в т.ч. содержащее и другие переменные). В итоге, это выражение будет подставлено вместо переменной в неизменном виде. Знак присваивания – двоеточие (:). Например, a:2.75$ a+1; 3.75 Функции. В отличие от переменных, функции зависят от аргумента (аргументов). Например, можно определить функцию f(x,y), а потом вызывать f(2,3). Для определения функции служит знак:= f(x):=x^2$ f(2); 4 Подстановка. При наличии выражения, не заданного как функция, но содержащего неопределённые переменные, их можно определить, используя команду ev. Например a:x^2+3*x$ ev(a,x=2); 10 Подстановку можно использовать для результата команды solve и других, ей подобных. При желании через подстановку можно определить новую функцию. a:x^2$ f(x):=ev(a,x); f(x):=ev(a,x) f(x); x^2 Переменные-флаги. В системе имеется несколько переменных-флагов, меняющих характер расчётов. Одним из наиболее важных для оптимизации флагов является флаг numer. По умолчанию он равен false, в результате чего Maxima будет пытаться представить результат в виде обыкновенной дроби, не вычислять значения квадратных корней и т.п. Если результаты должны быть представлены десятичными дробями, этот флаг надо установить в true так: numer:true
Массивы, системы уравнений. Массивом является некоторый набор выражений или уравнений. Выражения разделяются запятой, а весь массив заключается в квадратные скобки. Массив можно присвоить переменной; вызвать элемент можно указав после имени переменной-массива индекс в квадратных скобках. Решение уравнений (выражение одной переменной через другие). Универсальной командой для решения уравнений является команда solve. Параметрами этой команды являются уравнение и переменная, по которой надо решить (в итоге эта переменная будет выражена). Результатом команды является массив, который можно присвоить переменной.
s:solve(x^3+3*x^2-3*x+1=0,x); [x=-2^(2/3)*((sqrt(3)*%i)/2-1/2)-2^(1/3)*(-(sqrt(3)*%i)/2-1/2)-1,x=-2^(1/3)*((sqrt(3)*%i)/2-1/2)-2^(2/3)*(-(sqrt(3)*%i)/2-1/2)-1,x=-2^(2/3)-2^(1/3)-1] s[3]; x=-2^(2/3)-2^(1/3)-1 numer:true$ s[3]; x=-2^(2/3)-2^(1/3)-1 Таким же образом можно решать системы уравнений. Систему следует передавать в массиве; список переменных также передаётся в массиве. Более удобный результат может быть получен с помощью команды algsys. Не все уравнения решаются аналитически, некоторые требуют численного решения. Действительный корень одиночного уравнения (выражения) можно найти с помощью команды find_root. Первым её аргументом является уравнение, вторым – переменная, третий и четвёртый составляют интервал, в котором надо искать корень. Например find_root(log(x)=tan(x), x, 0.1, 2); 1.570796326794897 Дифференцирование и интегрирование. Дифференцирование осуществляется функцией diff. Первым аргументом является функция, вторым – переменная, по которой дифференцируют. При необходимости третьей переменной является порядок производной. diff(sin(x),x); cos(x) Неопределённый и определённый интегралы находят командой integrate. Первым параметром всегда служит подынтегральное выражение, а вторым – переменная, по которой интегрируют. В случае неопределённого интеграла результатом будет одна из первообразных, нужно иметь в виду, что к ней надо прибавить постоянную интегрирования. Для определённого интеграла третьим и четвёртым параметрами задают пределы интегрирования. integrate(sin(x),x); -cos(x) integrate(sin(x),x,0,1); rat: replaced[4] -1.0 by -1/1 = -1.0 rat: replaced -0.5403023058681 by -4779840/8846603 = -0.5403023058681 0.45969769413186 Построение графиков. График двумерной функции можно построить с помощью команд plot2d или wxplot2d. Синтаксис команд идентичен, результат отличается только тем, что первая выдаёт график в отдельном окне, а вторая – вставляет непосредственно в окно ввода-вывода. Первым аргументом команды является функция, второй представляет собой массив из трёх элементов: переменной и диапазона построения графика. График трёхмерной функции строят командой plot3d или wxplot3d, в неё (по сравнению с plot2d) вводят дополнительный параметр – массив, состоящий из второй переменной и пределов её изменения. Ход работы Последовательность действий для изучения: 1. Запустите программу wxMaxima и познакомьтесь с интерфейсом. 2. Проделайте все те операции, которые указаны в теоретических сведениях. Подберите по паре своих примеров на каждую разбираемую операцию, обратите особое внимание на случаи, когда наблюдается нестандартное и/или неожиданное поведение системы. 3. Используя уравнение регрессии, полученное с прошлой работы: 3.1Постройте его трёхмерный график и предположите наличие экстремумов;
3.2Найдите точку, подозрительную на экстремум.
ЧАСТЬ 2. ОПТИМИЗАЦИЯ ФУНКЦИИ ДВУХ ПЕРЕМЕННЫХ В СРЕДЕ MAXIMA Цель работы: Изучить возможности оптимизации функции двух переменных. Задачи: 1. Научиться определять точку, подозрительную на экстремум 2. Научиться проверять значения на границах интервала варьирования Ход работы Последовательность действий: 1. Получите задание в виде функции двух переменных. 2. Запустите программу wxMaxima и определите функцию. 3. Присвойте флагу numer значение true. 4. Найдите частные производные функции, приравняйте их к нулю и решите уравнение командой solve. Поскольку необходимо искать только действительные корни, можно присвоить флагу realonlytrue, но уравнения решать командой algsys, а не solve. При невозможности решения командами solve и algsys воспользуйтесь командой to_poly_solve (команда работает ОЧЕНЬ медленно). Если таким способом решение получить не удаётся, то можно попробовать перед решением системы решить одно уравнение, а потом подставить его во второе. 5. Проверьте значения функции в точках, соответствующих всем действительным решениям (и x, и y не должны содержать %i). Для дальнейшего рассмотрения выберите наибольшее (наименьшее) число. Проверяйте, чтобы x и y находились в границах заданного интервала. 6. Найдите и проверьте экстремумы (точки, подозрительные на экстремум) на следующих срезах, приравняв производные полученных функций к 0: 7. 8. Проверяйте, чтобы x и y находились в границах заданного интервала. 9. Определить значения функции в углах диапазона 10. Из найденных в пп. 4, 5, 6 точек найдите точку с наибольшим (наименьшем) значением функции и сделайте вывод. В ответ обязательно запишите значения x и y. 11. Постройте трёхмерный графикфункции. Содержание отчёта Общие требования к содержанию отчёта приведены в рамках практической работы № 1. В данной работе в разделе «ход работы» необходимо представить результаты выполнения работы в среде Maxima, допускается прилагать файл, сохранённый в этой среде (.wxmx). В качестве вывода следует указать найденную точку экстремума. Вопросы для самоконтроля 1. Какие действия необходимо выполнить для проведения безусловной оптимизации аналитическим методом первого порядка в двухфакторной задаче? 2. Что такое системы компьютерной алгебры (символьной математики)? Какие задачи они позволяют решить? 3. Что такое «седловая точка»? Является ли она экстремумом?
Задания для работы 1. , , найти минимум 2. , , найти максимум 3. , , найти минимум 4. , , найти минимум 5. , , найти минимум 6. , , найти минимум 7. , , найти минимум 8. , , найти минимум 9. , , найти минимум 10. , , найти минимум
Практическая работа № 8
|
||||||||
Последнее изменение этой страницы: 2021-01-08; просмотров: 113; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.218.70.93 (0.037 с.) |