Smath studio решение системы нелинейных уравнений

Пример выполнения задания 2

Модуль 2

Решение иженерных задач средствами

Компьютерной математики

Лабораторная работа № 2

Нахождение корней нелинейных уравнений. Решение систем нелинейных уравнений

Цель: изучить основные возможности приложения Smath Studio для решения нелинейных уравнений и систем.

Вопросы для самоконтроля

1. Что является корнем уравнения?

2. Правило записи функции для использования команды solve.

3. В чем разница между численным и аналитическим нахождением корней уравнения?

4. Чем отличаются команды solve(2) и solve(4).

5. Для чего используется функция polyroots?

6. Правило записи вектора коэффициентов для polyroots.

7. Что является решение системы уравнений?

8. Правило записи уравнений для использования команды roots.

9. В чем разница между численным и аналитическим решениями системы уравнений?

10. Чем отличаются команды roots (2) и roots (3).

Индивидуальные задания 1

Найти корень уравнения численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

№ вариантаУравнение№ вариантаУравнение

Индивидуальные задания 2

Найти численно корни полинома. Выполнить проверку.

ВариантПолиномВариантПолином
x 2 -12x-4=0x 3 -3x 2 -4x+1=0
x 3 -24x+11=0x 3 -34x 2 +4x+1=0
x 3 +2x-7=0x 3 -27x-17=0
x 3 -21x+7=0x 4 -2x 3 +2x 2 -2x+1=0
x 3 -5x+1=0x 4 -3x 3 +3x 2 -3x+2=0
x 3 -12x+5=0x 4 -3x 3 +5x 2 -3x+8=0
x 3 +3x 2 -4x-1=0x 4 -4x 3 +8x 2 -4x+16=0
x 3 -9x 2 +20x-11=0x 4 -4x 3 +4x 2 -4x+3=0
x 3 -12x+5=0x 4 -4x 3 +12x 2 -4x+27=0
x 3 +6x 2 +6x-7=0x 4 -6x 3 +18x 2 -6x+81=0
x 3 -3x 2 -x+2=0x 4 -5x 3 +10x 2 -5x+24=0
x 3 -10x 2 +4x+9=0x 4 -5x 3 +15x 2 -5x+54=0
x 4 +x-1=0

Индивидуальные задания 3

Найти численное решение системы. Выполнить проверку.

№ вариантаСистема уравненийНачальная точка
(-0,9;1,4)
(1;1)
(1;1)
(0;0)
(0;0)
(0;0)
(0;0)
(0,9;1,4)
(0;0)
№ вариантаСистема уравненийНачальная точка
(1;1)
(-0,5;0,5)
(-1;1)
(0;0)
(0;0)
(0;0)
(0;0)
(0;0)
(-1;1)
(-0,9;-1,4)
(0,5;-1,5)
(0,5;1,5)
(2;2)
(1,5;0,5)
(-2;2)
(0;1)

Пример выполнения задания 1

Найти корень уравнения численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

Методические рекомендации

1. Запишите функцию (предварительно приведя уравнение к виду f(x)=0): .

2. Постройте график функции. График пересекает ось абсцисс в одной точке, значит, уравнение имеет один корень.

3. Запишите стандартную команду:

Справа от знака равенства увидим результат: 0,7391.

2 Выполните проверку, найдя значение функции в полученной точке:

.

Если бы решение было точным, то при проверке получили бы 0. Значение означает, что результат получен с точностью до 4-го знака.

Конечный вид документа SMathStudio:

1. Запишите функцию в виде: .

2 Выделите курсором переменную х.

3. В меню выбрать Вычисление ® Найти корни.

4. Выполните проверку.

1. Конечный вид документа SMathStudio:

1. Запишите функцию: .

2. Для получения аналитического решения запишите стандартную команду:

solve(f(x) ; x), после которой на ПИ «Арифметика» выберите →.

3. Выполните проверку, найдя значение функции в полученной точке.

Конечный вид документа SMathStudio:

Если бы решение было точным, то при проверке получили бы 0. Значение означает, что результат получен с точностью до 4-го знака. Делаем вывод, что SMathStudio не может найти точные корни данного уравнения.

Если уравнение имеет несколько корней (как, например, уравнение ), то применение стандартной процедуры решения даст ответ в виде вектора:

Корни выдаются в диапазоне «по умолчанию» [-20; 20]. Изменить диапазон можно в меню Сервис – Опции – Вычисление.

Можно использовать второй вариант этой процедуры для выбора решения на заданном промежутке. Для этого при наборе solve во всплывающей подсказке выбираем solve(4) и в шаблон вписываем:

Solve( ; ; левая граница интервала; правая граница интервала). Получим:

Если функция f(x) в уравнении f(x)=0 представляет собой полином степени n, то процедура solve может выдать только один корень. Чтобы получить все корни полинома (их количество совпадает со степенью полинома), стоит использовать встроенную функцию polyroots(v). Например, найдем численно корни полинома x 3 +2x-1=0.

1) задаем функцию (левую часть уравнения f(x)=0).

2) задаем вектор коэффициентов (кнопка на ПИ «Матрица»), в появившемся диалоговом окне указываем количество строк (равно степени полинома +1) и столбцов (количество уравнений).

3) записываем функцию polyroots(v)=.

4) делаем проверку, подставив найденные значения в функцию.

Конечный вид документа Smath Studio:

Пример выполнения задания 2

Решить систему уравнений численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

Методические рекомендации

1. Записываем функцию roots( ; ).

2. Для получения численного решения ставим знак «=». Получим результат с заданным количеством знаков после запятой.

3. Выполняем проверку, подставив полученные значения в исходную систему уравнений. В данном примере 1-ое уравнение решено точно, 2-ое – с точностью до 3-го знака.

4. Вид документа SMathStudio:

Можно каждое уравнение системы привести к виду f(x)=0. Тогда запись решения будет выглядеть следующим образом:

Если нужно получить одно из нескольких возможных решений, можно задать начальное приближение (координаты ближайшей известной к ответу точки) для переменных следующим образом:

МЕТОДИЧЕСКОЕ ПОСОБИЕ по программе SMath Studio

Обращаем Ваше внимание, что в соответствии с Федеральным законом N 273-ФЗ «Об образовании в Российской Федерации» в организациях, осуществляющих образовательную деятельность, организовывается обучение и воспитание обучающихся с ОВЗ как совместно с другими обучающимися, так и в отдельных классах или группах.

ФЕДЕРАЛЬНОЕ АГЕНТСТВО МОРСКОГО И РЕЧНОГО ТРАНСПОРТА

КРАСНОЯРСКИЙ ИНСТИТУТ ВОДНОГО ТРАНСПОРТА – ФИЛИАЛ

ФГБОУ ВО «СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

SMath Studio – бесплатный математический пакет с графическим интерфейсом для вычисления математических выражений и построения двумерных и трёхмерных графиков. Поддерживает работу с матрицами, векторами, комплексными числами, дробями и алгебраическими системами, единицами измерений. Удобный, графический (как на бумаге) интерфейс и богатые вычислительные возможности программы хорошо сочетаются с достойным количеством настроек и автоматических режимов. В дистрибутив программы также встроен информативный математический справочник. Пакет мультиязычен – поддерживает 35 языков. Программу разрабатывает петербургский программист Андрей Ивашов. В развитии пакета принимают участие пользователи, ведущие активное обсуждение на форуме проекта. Доступны версии для Windows и Linux, в разработке версия для Android. Для устройств с другими системами или с компьютеров, где по каким-то причинам нет возможности установить пакет, но есть браузер и доступ к интернету, есть возможность пользоваться сетевой версией пакета по адресу http://smath.info/live. Веб-сервис позволяет загружать и сохранять документы, получать ссылку на документ для публикации. Документы, созданные в пакетах для всех платформ совместимы и используют текстовый формат XML (легко сжимается, читается текстовыми редакторами, доступен для сторонних программ).

SMath Studio является математическим редактором, позволяющим производить разнообразные научные и инженерные расчеты.

SMath Studio очень прост в использовании из-за отсутствия необходимости сначала писать программу, а потом запускать ее на исполнение. Вместо этого достаточно вводить математические выражения с помощью встроенного редактора формул в виде, максимально приближенном к общепринятому, и тут же получать результат.

SMath Studio имеет основное рабочее поле, в котором производятся все вычисления. При стандартных настройках оно выглядит как тетрадный лист в клетку, и в нем, как на тетрадном листе, пользователь вводит математические выражения. Для этого надо установить курсор (красный крестик) в понравившееся место и начать ввод с клавиатуры (рис. 1.1). Как видно, окно программы стандартно содержит заголовок, главное меню, панель инструментов и само рабочее поле:

После того, как выражение введено, можно его посчитать, нажав «=». Похожим способом объявляется переменная: пишется имя, ставится знак присваивания «:=» с помощью кнопки на панели «Арифметика» или двоеточием на клавиатуре, вводится значение. Объявленную переменную можно использовать в выражениях, ее значение будет подставлено автоматически при вычислениях. Если навести курсор мыши на невыделенное выражение, то появится его результат в символьной форме.

Реакция программы на нажатие некоторых клавиш зависит от контекста. В таблице 1.1 приведены наиболее частые варианты.

Таблица 1.1 — Изменение реакции на клавиши

Вставка «#» в рабочем поле листа, выделение большей части выражения при уже выделенной угловым курсором части, пробел для текстового поля.

Вставка пустого промежутка на листе, выход из поля выражения.

Переход к следующему или предыдущему выражению, движение по элементам выражения с изменением углового курсора.

Корень квадратный в рабочем поле листа или обратный слэш в тексте.

Дробь в рабочем поле листа или прямой слэш в тексте.

В текстовом поле это так и останется двоеточием, а в рабочем поле листа превратится в знак присваивания.

Знак равно в тексте и команда численного вычисления в поле формулы. Для попытки вычисления необъявленной переменной буде произведена замена на «:=».

Shift+2. «Собака» в тексте на английской раскладке или двумерный график в рабочем поле листа.

В тексте это будет выглядеть так же, а при вводе формулы станет местом для нижнего индекса.

Внешний вид запущенной программы с объявленными переменными показан на рисунке 1.2.

Задание. Изучите назначение кнопок панели инструментов:

Составьте отчет в виде таблицы.

Кнопка панели инструментов

У SMath Studio есть некоторые правила записи выражений :

Используемая переменная или функция должна быть объявлена заранее. Заранее – значит левее или выше того выражения, где она используется в вычислении.

Если переменная переобъявлялась, то будет использовано то значение, которое встретилось самым последним перед использованием в вычислениях.

При объявлении переменной в выражении можно использовать встроенные и ранее объявленные функции, ранее объявленные переменные и их сочетания. Если используемые в выражении переменные ранее не объявлялись, то результат можно будет получить только в символьном виде (или объявить недостающие переменные и разместить выражение ниже или правее объявленных переменных для численного результата).

Переменная не обязательно должна вычисляться как числовое значение, допускается присваивать имена выражениям, дающим при вычислении матрицу.

Для символьных вычислений объявлять переменные заранее не требуется, если не надо, чтобы при преобразовании выражений были подставлены их значения.

Справа в окне программы расположена Боковая панель инструментов , она может быть убрана нажатием на крайнюю правую кнопку главной панели инструментов. Боковая панель состоит из отдельных панелей, содержащих наборы команд в виде кнопок. Каждая такая панель может быть свернута с помощью кнопки , расположенной в правом углу заголовка панели. Рассмотрим назначение панелей.

Панель «Арифметика» (рис. 1.3) содержит цифры 0 . 9, разделитель десятичной дроби (в зависимости от настроек операционной системы, это может быть и точка и запятая), букву π для одноименного числа, знак факториала «!», операции возведения в степень «^», взятия квадратного корня «\» или корня n-ой степени Ctrl+«\». Еще на панели есть графический вариант клавиши Backspace и знаки присваивания «:», символьного вычисления Ctrl+«.» и знак равенства для вычисления в численной форме.

Панель «Матрицы» (рис. 1.4) позволяет задать матрицу (Ctrl+«M»), вычислить ее определитель, транспонировать матрицу, получить алгебраическое дополнение, минор, вычислить векторное произведение. Вектор задается как вектор-столбец (т.е. матрица) с размером в 3 элемента, по одному на каждой строке.

Панель «Булева» (рис. 1.5) содержит операции отношения, отрицание, «и», «или», «исключающее или». Булево «равно» используется еще и в задании условий для функции if и в цикле for.

Панель «Функции» (рис.1.6) содержит подборку основных тригонометрических функций, определенный интеграл, производную, сумму элементов и их произведение. Еще есть логарифм по произвольному основанию, натуральный логарифм, проценты, выбор элемента по индексу («el» или квадратные скобки на клавиатуре), знак системы.

Например, результат работы функции дифференцирования (кнопка ) зависит от того, выбрано ли вычисление значения производной в точке при помощи «=» или использовано символьное вычисление «→» (рис. 1.7).

Панель «График». Здесь можно вращать, масштабировать и сдвигать графики, задавать отображение точками или линиями, перерисовывать графики заново в случае необходимости. Операция вращения доступна только для трехмерных графиков. Графики рисуются в декартовой системе координат (рис.1.8).

Графики строятся для функций от переменной «x» (2D) или «x» и «y» (3D). Вообще, функции могут быть от любых аргументов, но при построении графика должны быть указаны в качестве аргументов именно эти переменные (рис.1.9).

Помимо аналитического задания графика, можно задать его в виде матрицы (рис. 1.10), где каждый столбец будет содержать координаты точек для осей X и Y соответственно (или еще для оси Z).

Кроме того, вместо функции или матрицы можно поставить знак системы, а уже в систему вписать имена функций или матриц или выражения для построения графиков. Это позволит отобразить несколько графиков на одном рисунке (рис. 1.11).

Панель «Программирование» (рис. 1.12) содержит средства, позволяющие организовать циклические вычисления (циклы «for» и «while») или задать условную функцию «if». Вместо операторных скобок используется линия (line). Линия по умолчанию содержит два места для последовательных вычислений, но ее можно растянуть. Для этого выделите линию угловым курсором (надо кликнуть по месту, отмеченному квадратиком и нажать пробел, чтобы выделились оба места). Должна появиться специальная квадратная метка, зацепив которую мышкой, можно растянуть линию до необходимого количества мест. Аналогичный способ растягивания работает и для знака системы.

Панели «Символы» (рис. 1.13) нужны для вставки букв греческого алфавита.

SMath Studio может использоваться в качестве инженерного калькулятора (рис. 1.14). Как калькулятор SMath Studio сможет оперировать переменными, делать символьные вычисления, искать корни уравнения по переменной, упрощать выражения и т.д. Примеры использования SMath Studio можно найти на сайте http://smath.info .

Набор функций на одноименной панели SMath Studio весьма ограничен. Меню «Вставка» позволяет использовать и другие встроенные функции, причем их достаточно много (рис. 1.15). Функции сгруппированы по разделам. Щелчок мышью в списке «Имя функции» и нажатие буквенной клавиши покажут функцию, начинающуюся с этой буквы.

В поле «Описание» дается синтаксис функции и ее описание, что является своеобразной заменой меню «Помощь» Знание синтаксиса позволяет не использовать вставку функций, а набирать непосредственно имя функции. Некоторые из функций в процессе набора меняют свой вид, например, функция модуля abs(x) превращается в |x| .

Поле «Пример» показывает пример использования с учетом того, как функция будет выглядеть. Это существенно помогает разобраться с тем, какие аргументы какая функция требует, и как это будет выглядеть после их задания.

Кроме того, можно объявлять свои функции, в том числе с использованием встроенных и ранее объявленных.

Главное меню SMath Studio похоже на главное меню любой другой прикладной программы. Тем не менее, здесь есть некоторые особенности. Рассмотрим их.

«Файл» . SMath Studio может читать файлы ПО Mathcad (*.xmcd) и сохранять листы в таком формате, помимо собственного. Также возможна генерация отчета в HTML. Для этого достаточно при сохранении файла выбрать соответствующее расширение. Отчет будет представлять собой html-страницу и папку с рисунками в формате PNG. Такой отчет можно просмотреть в браузере или открыть в текстовом редакторе, поддерживающем HTML. Необходимо обратить внимание на то, что рисунки и файл отчета имеют имена, сформированные из имени листа. Поэтому обычно рекомендуют использовать только латиницу и цифры в именах листов.

«Вставка» предназначена для внедрения в лист матриц, операторов, графиков, рисунков, текстовых областей и разделителей для оформления документа. Вставка операторов и функций выступает в качестве своеобразного справочника.

Рисунки можно вставить из файла в формате BMP или нарисовать самостоятельно (рис. 1.16).

«Вычисление» содержит целый набор возможных действий (рис. 1.17). Выделив выражение или его часть, можно найти вещественные корни уравнения, произвести вычисления с учетом подстановок и сокращений, упростить выражение, получить обратное значение в символьном или числовом виде, получить производную по выделенной заранее переменной и определитель матрицы.

«Сервис» содержит такой пункт, как «Опции» (рис. 1.18). Он служит для задания точности представления результата, диапазона поиска корней уравнений, а также для настройки внешнего вида программы, включая цвета и язык и т.п.

«Помощь» открывает доступ к справочнику, сообщает сведения о программе (сборка, авторы, контактная информация, используемые библиотеки), проверяет наличие обновлений программы через Интернет и сообщает о способах финансовой поддержки проекта.

Отдельно следует упомянуть пункт «Примеры» (рисунок 1.19). В нем показано как можно, используя программирование, выполнять вычисления, для которых нет встроенных функций.

После нажатия кнопки Открыть появляется пример, не только иллюстрирующий возможности SMath Studio, но и содержащий необходимые комментарии (рис. 1.20).

Задание. Изучите подпункт «Справочник» пункта главного меню «Помощь». Составьте подробный отчет.

Как и у всякой сложной программы, у SMath Studio есть особенности :

Выделение кликом мышки служит для редактирования формулы, текста или вида графика, а выделение рамкой – для перетаскивания, копирования и удаления объектов на листе.

Знак равенства служит для вычисления, а знак «жирное равно» – для задания условия равенства в уравнениях, циклах и в условной функции.

Для поиска корней уравнений задается определенный диапазон.

Интеграл берется по действительным (вещественным) пределам интегрирования.

Построение графиков функций одной переменной. Нахождение значений функций одной переменной

Цель : изучить основные возможности программы SMath Studio для построения графиков функций одной переменной.

Вопросы для самоконтроля

Как записывается выражение для функции одной переменной?

Можно ли построить график без предварительной записи функции?

Как изменить масштаб построения графика?

Правила записи функций в Smath Studio.

Как рассчитать знамение функции в точке.

Чем отличаются шаблоны range(2) и range(3) .

Как записать нижний индекс?

Построить график функции (табл.) на произвольном отрезке. Найти значения функции в произвольных точках, протабулировать (получить таблицу значений) этой функции на отрезке , шаг изменения переменной произвольный.

Пример выполнения задания

Построить график функции на произвольном отрезке. Найти значения функции в точках и , протабулировать (получить таблицу значений) этой функции на отрезке с шагом 0,5.

1. Запишите функцию в виде . Обратите внимание, что после имени функции обязательно нужно указать имя переменной. Стандартную функцию можно набрать на клавиатуре, а можно выбрать шаблон на панели инструментов Функции .

2. В меню Вставка выбираем График – Двумерный (2D) . Появится шаблон:

В нижнем левом углу в «квадратик» впишите имя функции или саму формулу и щелкните мышкой вне области графика. Получим график вида:

Размеры окна графика можно изменять так же, как размеры любого окна Windows. Размеры и масштаб самого графика можно менять с помощью панели инструментов График или, удерживая клавишу Ctrl / Shift, прокручивать колесико мышки. Результат работы получим в виде:

3.Присвойте переменной значение 2 следующим образом: .

4.Запишите имя функции и поставьте знак «=»: . После знака равенства появится ответ: .

5. Второе значение функции в точке можно найти таким же образом, а можно после имени функции сразу указать значение переменной. Получим .

6. Прежде, чем табулировать функцию, нужно посчитать количество значений переменной на заданном отрезке с шагом 0,5: .

7. Запишите полученное количество в виде диапазона: . Цифры 1 и 7 необходимо вписать в шаблон. Для этого после пишем range и в появившейся всплывающей подсказке выбираем range(2). Затем запишите диапазон изменения переменной , используя range(3) : .

8.На панели инструментов Программирование выбираем шаблон for :

В шаблон вписываем переменные:

Чтобы переменная k записалась как нижний индекс, набирают так: y[k.

9. Ниже набираем и получаем столбец значений переменной , затем набираем и получаем столбец значений переменной .

Конечный вид документа SMathStudio :

2. Нахождение корней нелинейных уравнений. Решение систем нелинейных уравнений

Цель: изучить основные возможности приложения Smath Studio для решения нелинейных уравнений и систем.

Вопросы для самоконтроля

Что является корнем уравнения?

Правило записи функции для использования команды solve .

В чем разница между численным и аналитическим нахождением корней уравнения?

Чем отличаются команды solve(2) и solve(4).

Для чего используется функция polyroots ?

Правило записи вектора коэффициентов для polyroots.

Что является решение системы уравнений?

Правило записи уравнений для использования команды roots .

В чем разница между численным и аналитическим решениями системы уравнений?

Чем отличаются команды roots (2) и roots (3).

Индивидуальные задания 1

Найти корень уравнения численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

Индивидуальные задания 2

Найти численное решение системы. Выполнить проверку.

Пример выполнения задания 1

Найти корень уравнения численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

1. Запишите функцию (предварительно приведя уравнение к виду f(x)=0): .

2. Постройте график функции. График пересекает ось абсцисс в одной точке, значит, уравнение имеет один корень.

3. Запишите стандартную команду:

Справа от знака равенства увидим результат: 0,7391.

Выполните проверку, найдя значение функции в полученной точке:

.

Если бы решение было точным, то при проверке получили бы 0. Значение означает, что результат получен с точностью до 4-го знака.

Конечный вид документа SMathStudio :

1. Запишите функцию в виде: .

2 Выделите курсором переменную х.

3. В меню выбрать Вычисление → Найти корни.

4. Выполните проверку.

Конечный вид документа SMathStudio :

1. Запишите функцию: .

2. Для получения аналитического решения запишите стандартную команду:

solve(f(x) ; x), после которой на ПИ «Арифметика» выберите →.

3. Выполните проверку, найдя значение функции в полученной точке.

Конечный вид документа SMathStudio :

Если бы решение было точным, то при проверке получили бы 0. Значение означает, что результат получен с точностью до 4-го знака. Делаем вывод, что SMathStudio не может найти точные корни данного уравнения.

Если уравнение имеет несколько корней (как, например, уравнение ), то применение стандартной процедуры решения даст ответ в виде вектора:

Корни выдаются в диапазоне «по умолчанию» [-20; 20]. Изменить диапазон можно в меню Сервис – Опции – Вычисление .

Можно использовать второй вариант этой процедуры для выбора решения на заданном промежутке. Для этого при наборе solve во всплывающей подсказке выбираем solve(4) и в шаблон вписываем:

Solve( ; ; левая граница интервала; правая граница интервала). Получим:

Если функция f(x) в уравнении f(x)=0 представляет собой полином степени n, то процедура solve может выдать только один корень. Чтобы получить все корни полинома (их количество совпадает со степенью полинома), стоит использовать встроенную функцию polyroots(v). Например, найдем численно корни полинома x 3 +2x-1=0.

1) задаем функцию (левую часть уравнения f(x)=0).

2) задаем вектор коэффициентов (кнопка на ПИ «Матрица»), в появившемся диалоговом окне указываем количество строк (равно степени полинома +1) и столбцов (количество уравнений).

3) записываем функцию polyroots(v)=.

4) делаем проверку, подставив найденные значения в функцию.

Конечный вид документа Smath Studio :

Пример выполнения задания 2

Решить систему уравнений численно и, если это возможно, аналитически. Результаты сравнить. Выполнить проверку.

Записываем функцию roots( ; ).

Для получения численного решения ставим знак «=». Получим результат с заданным количеством знаков после запятой.

Выполняем проверку, подставив полученные значения в исходную систему уравнений. В данном примере 1-ое уравнение решено точно, 2-ое – с точностью до 3-го знака.

Вид документа SMathStudio :

Можно каждое уравнение системы привести к виду f(x)=0. Тогда запись решения будет выглядеть следующим образом:

Если нужно получить одно из нескольких возможных решений, можно задать начальное приближение (координаты ближайшей известной к ответу точки) для переменных следующим образом:

Методы обработки числовых данных

Данные, с которыми приходится иметь дело инженеру, часто представляются в виде таблиц. Таким образом, функция у = f(x) задается не аналитическим выражением, а в виде пар чисел , . Обычно так представляются результаты экспериментов, обработка статистических наблюдений и т.д. Поэтому встает задача аппроксимации дискретной зависимости


непрерывной функцией

,
т.е. задача построения математической модели функции по ее известным значениям.

В зависимости от специфики задачи функция f(х) может отвечать различным требованиям (рис. 4):

1. Функция должна проходить через точки т.е.

.

В этом случае говорят об интерполяции данных функции во внутренних точках между и об экстраполяции ее за пределами интервала, содержащего все .

2. Функция должна приближать , не обязательно проходя через точки , сглаживая экспериментальную зависимость. Это задача регрессии.

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

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

1. установить вид зависимости , т.е. решить, является ли она линейной, квадратичной, логарифмической и т.п.;

2. определить неизвестные параметры функции . Чаще всего параметры функции определяют по методу наименьших квадратов.

, .

Величины называют невязками или отклонениями теоретических значений от соответствующих эксперимен­тальных значений (рис. 5).

В методе наименьших квадратов в качестве неизвестных параметров функции выбирают такие, чтобы сумма квадратов невязок была минимальной, т.е.

.

Возьмем, например, в качестве функции линейную функцию

.

Задача сводится к отысканию значений параметров а и дающих минимум функции

.

Такая функция является функцией двух переменных а и b, т.к. значения и – постоянные числа.

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

или (20)

Преобразуем систему (20):

(21)

Эта система называется системой нормальных уравнений.

После ее решения определяются параметры а и b. Можно доказать, что в точках а и b функция S имеет минимум.

Аналогичным образом можно получить уравнения для определения коэффициентов при других типах функций.

Пример 2.5. Методом наименьших квадратов найти эмпирическую формулу для функции, заданной таблицей (табл. 8).

x-2
y0,51,5

Решение

Сведем все вычисления, необходимые для составления
нормальной системы уравнений (21), в таблицу (табл. 9).

–20,5–1
1,51,5
Σ16,5

Тогда система нормальных уравнений (21) имеет вид


или

; .

Для сравнения полученной зависимости и исходных данных

можно составить таблицу

x–2
y0,51,5
0,425x+1,1750,3251,1751,62,0252,875
δ–0,1750,1750,10,025–0,125

Таким образом, разность полученных на основе прямой значений и заданных в табл. 8 составляет менее 10 %.

Реализация численных методов в среде MathCad или SMath Studio

Решение нелинейных уравнений

MathCAD

Для решения одного нелинейного уравнения с одной неизвестной система MathCAD имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или четыре аргумента и, соответственно, работает несколько по-разному: root(f(x),x); root(f(x),x,a,b), где f(x) — скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а, b – границы интервала, внутри которопй происходит поиск корня.

Первый тип функции root требует предварительного задания начального приближения х0 переменной х. Поиск корня будет производиться вблизи этого значения методом секущих. Если уравнение неразрешимо, то при попытке найти его корень будет выдано сообщение об ошибке. Кроме того, к ошибке или выдаче неправильного корня может привести и попытка применить метод секущих в области локального максимума или минимума функции f(x). В этом случае секущая будет иметь направление, близкое к горизонтальному, выводя точку следующего приближения далеко от предполагаемого корня. Аналогичные проблемы могут возникнуть, если начальное приближение выбрано слишком далеко от настоящего решения, или f(x) имеет особенность типа бесконечности.

Иногда удобнее задавать не начальное приближение к корню, а интервал [а, b], внутри которого заведомо находится корень. В этом случае следует использовать функцию root с четырьмя аргументами; присваивать начальное значение переменной х в этом случае не нужно. Поиск корня будет осуществлен в промежутке между а и b альтернативным численным методом (Риддера или Брента).

SMath Studio

Для решения одного нелинейного уравнения с одной неизвестной система SMath Studio имеет встроенную функцию, которая в зависимости от типа задачи может иметь или два или три аргумента: roots(f(x); x); roots(f(x); x; a), где f(x) – скалярная функция, определяющая исходное нелинейное уравнение (4.1); х – скалярная переменная, относительно которой решается уравнение; а – начальное приближение переменной х.

Пример 3.1. Найти корень уравнения x–sinx–0,25 = 0 на отрезке [0,2] с точностью 0,0001.


источники:

http://infourok.ru/metodicheskoe-posobie-po-programme-smath-studio-4658859.html

http://lektsia.com/6xdb4f.html