Методические указания

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

по дисциплине

“Инструментальные программные средства”

1. Решение систем линейных алгебраических уравнений (СЛАУ). 2

2. Построение графиков функций. 11

3. Двумерные графики в декартовой системе координат. 17

4. Построение графика функции z=f(x, y) в виде поверхности в декартовой системе координат. 18

5. Численное решение нелинейных уравнений. 22

6. Численное интегрирование. 30

7. SQL запросы.. 38

1.  Решение систем линейных алгебраических уравнений (СЛАУ)

Пусть задана СЛАУ следующего вида:

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula1.gif

Эту систему можно представить в матричном виде: AX = b, где

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula2.gif

- матрица коэффициентов системы уравнений;

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula3.gif

- вектор неизвестных,

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula4.gif

- вектор правых частей.

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

Метод обратной матрицы

Систему линейных алгебраических уравнений AX = b умножим слева на матрицу, обратную к А. Система уравнений примет вид:

A-1AX=A-1b,  EX=A-1b,  (E - единичная матрица)

Таким образом, вектор неизвестных вычисляется по формуле X=A-1b.

Метод Крамера

В этом случае неизвестные x1,x2,…, xn вычисляются по формуле:

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula5.gif

где

дельта

- определитель матрицы A,

дельта

- определитель матрицы, получаемой из матрицы А путем замены i-го столбца вектором b.

Обратите внимание на особенность работы с матричными формулами: необходимо предварительно выделять область, в которой будет храниться результат, а после получения результата преобразовывать его к матричному виду, нажав клавиши F2 и Ctrl+Shift+Enter.

НЕ нашли? Не то? Что вы ищете?

Теперь рассмотрим решение системы линейных уравнений методом обратной матрицы и методом Крамера на следующих примерах.

ПРИМЕР 3.1. Решить систему методом обратной матрицы:

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula6.gif

В этом случае матрица коэффициентов А и вектор свободных коэффициентов b имеют вид:

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula7.gif

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula8.gif

Введём матрицу A и вектор b в рабочий лист MS Excel (рис. 3.1).

Рис. 3.1

Рис. 3.1

В нашем случае матрица А находится в ячейках B1:Е4, а вектор b в диапазоне G1:G4. Для решения системы методом обратной матрицы необходимо вычислить матрицу, обратную к A. Для этого выделим ячейки для хранения обратной матрицы (это нужно сделать обязательно!!!); пусть в нашем случае это будут ячейки B6:E9. Теперь обратимся к мастеру функций, и в категории Математические выберем функцию МОБР, предназначенную для вычисления обратной матрицы (рис. 3.2), щелкнув по кнопке OK, перейдём ко второму шагу мастера функций. В диалоговом окне, появляющемся на втором шаге мастера функций, необходимо заполнить поле ввода Массив (рис. 3.3). Это поле должно содержать диапазон ячеек, в котором хранится исходная матрица - в нашем случае B1:E4. Данные в поле ввода Массив можно ввести, используя клавиатуру или выделив их на рабочем листе, удерживая левую кнопку мыши.

Рис. 3.2

Рис. 3.2

Рис. 3.3

Рис. 3.3

Если поле Массив заполнено, можно нажать кнопку OK. В первой ячейке, выделенного под обратную матрицу диапазона, появится некое число. Для того чтобы получить всю обратную матрицу, необходимо нажать клавишу F2 для перехода в режим редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В нашем случае рабочая книга MS Excel примет вид изображенный на рис. 3.4.

Рис. 3.4

Рис. 3.4

Теперь необходимо умножить полученную обратную матрицу на вектор b. Выделим ячейки для хранения результирующего вектора, например H6:H9. Обратимся к мастеру функций, и в категории Математические выберем функцию МУМНОЖ, которая предназначена для умножения матриц. Напомним, что умножение матриц происходит по правилу строка на столбец и матрицу А можно умножить на матрицу В только в том случае, если количество столбцов матрицы А равно количеству строк матрицы В. Кроме того, при умножении матриц важен порядок сомножителей, т. е. АВ≠ВА

Перейдём ко второму шагу мастера функций. Появившееся диалоговое окно (рис. 3.5) содержит два поля ввода Массив1 и Массив2. В поле Массив1 необходимо ввести диапазон ячеек, в котором содержится первая из перемножаемых матриц, в нашем случае B6:E9 (обратная матрица), а в поле Массив2 ячейки, содержащие вторую матрицу, в нашем случае G1:G4 (вектор b).

Рис. 3.5

Рис. 3.5

Если поля ввода заполнены, можно нажать кнопку OK. В первой ячейке выделенного диапазона появится соответствующее число результирующего вектора. Для того чтобы получить весь вектор, необходимо нажать клавишу F2, а затем одновременно клавиши Ctrl+Shift+Enter. В нашем случае результаты вычислений (вектор х), находится в ячейках H6:H9.

Для того чтобы проверить, правильно ли решена система уравнений, необходимо умножить матрицу A на вектор x и получить в результате вектор b. Умножение матрицы A на вектор x осуществляется при помощи функции МУМНОЖ(В1:Е4;Н6:Н9), так как было описанной выше.

В результате проведенных вычислений рабочий лист примет вид изображенный на рис. 3.6.

Рис. 3.6

Рис. 3.6

ПРИМЕР 3.2. Решить систему из ПРИМЕРА 3.1 методом Крамера.

Введём матрицу А и вектор b на рабочий лист. Кроме того, сформируем четыре вспомогательные матрицы, заменяя последовательно столбцы матрицы A на столбец вектора b (рис. 3.7).

Для дальнейшего решения необходимо вычислить определитель матрицы A. Установим курсор в ячейку I10 и обратимся к мастеру функций. В категории Математические выберем функцию МОПРЕД, предназначенную для вычисления определителя матрицы, и перейдём ко второму шагу мастера функций. Диалоговое окно, появляющееся на втором шаге содержит поле ввода Массив. В этом поле указывают диапазон матрицы, определитель которой вычисляют. В нашем случае это ячейки B1:E4.

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

I11=МОПРЕД(B6:E9), I12=МОПРЕД(B11:E14),
I13=МОПРЕД(B16:E19), I14=МОПРЕД(B21:E24).

В результате в ячейке I10 хранится главный определитель, а в ячейках I11:I14 - вспомогательные.

Воспользуемся формулами Крамера и разделим последовательно вспомогательные определители на главный. В ячейку K11 введём формулу =I11/$I$10. Затем скопируем её содержимое в ячейки K12, K13 и K14. Система решена.


Рис. 3.7

Рис. 3.7

ПРИМЕР 3.3. Вычислить матрицу С по формуле: C=A2+2AB, где

http://teacher.dn-ua.com/old_version/excel/Laba3/ris/formula9.gif

Введем исходные данные на рабочий лист (рис. 3.8).

Для умножения матрицы А на матрицу В, выделим диапазон B5:D7 и воспользуемся функцией МУМНОЖ(B1:D3;G1:I3).

Результат вычисления A2=A*A поместим в ячейки G5:I7, воспользовавшись формулой МУМНОЖ(B1:D3;B1:D3).

Умножение (деление) матрицы на число можно выполнить при помощи элементарных операций. В нашем случае необходимо умножить матрицу из диапазона B5:D7 на число 2. Выделим ячейки B9:D11 и введем формулу =2*B5:D7.

Сложение (вычитание) матриц выполняется аналогично. Например, выделим диапазон G9:I11 и введем формул =B9:D11+ G5:I7.

Для получения результата в обоих случаях необходимо нажать комбинацию клавиш Ctrl+Shift+Enter.

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

Рис. 3.8


Для того чтобы решить систему уравнений в Mathcad, нужно выполнить следующие действия:

Ввести в поле ввода матрицу системы, для чего в поле ввода ввести A:=, затем на панели инструментов выбрать вкладку «векторные и матричные операции», на панели «Матрицы» выбрать кнопку «Создать матрицу или вектор»:

Изобажение панели 'Матицы',

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

Изобажение введенной матрицы

Ввести в поле ввода вектор – столбец свободных членов:

Изобажение вектора – столбца свободных членов

На панели инструментов выбрать кнопку «Векторные и матричные операции», в окне «Матрицы» выбрать «Вычисление определителя», в черном прямоугольнике набрать A, за определителем нажать знак равенства: |A|=-374.497 . Вычислить определители матриц, полученных заменой соответствующего столбца исходной матрицы столбцом свободных членов:
    В поле ввода ввести D1:= (условно обозначает определитель первого порядка), в окне «Матрицы» выбрать «Вычисление определителя», затем «Создать матрицу или вектор», размерность:

Изображение окна ввода размерности матрицы

    Заполнить матрицу следующим образом:

Изображение заполнения матрицы D1

    Ниже вывести значение определителя матрицы: D1=-1.248 × 103. Подобным образом вычислить определитель второго и третьего порядка:

Изображение заполнения матрицы D2

,

D2=-1.334 × 103,

Изображение заполнения матрицы D3

,

D3=-1.416 × 103.

    Ниже ввести следующие выражения, вычисляющие x1, x2, x3:

Изображение вывода заначения x1

,

Изображение вывода заначения x2

,

Изображение вывода заначения x3

,

    затем вывести соответствующие значения: x1=3.333 , x2=3.561 , x3=3.782 .

Таким образом, получаем следующее:

Изображение итогового результата решения задачи

Ответ: x1=3.333 , x2=3.561 , x3=3.782 .

2.  Построение графиков функций

Построить график функции (см. рис. 4.1):

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for1.gif

Определим функцию f(x). Для этого в ячейки А1:А21 необходимо ввести значение аргумента при помощи автозаполнения, в данном случае с шагом 0,5. В ячейку В1 вводится значение функции, вычисляемое по формуле =(A1^2*(A1+3))^(1/3). Ячейки В2:В21 заполняются копированием формулы из ячейки В1. Далее выделим диапазон А1:В21 и воспользуемся "Мастером диаграмм". Для построения графика функции лучше выбрать точечную диаграмму, со значениями, соединенными сглаживающими линиями без маркеров. Чтобы график получился выразительным, можно определить промежуток изменения аргумента, увеличить толщину линий, выделить оси координат, нанести на них соответствующие деления, сделать подписи на осях и вывести заголовок.

Рис. 4.1

Рис. 4.1

Построить график функции:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for2.gif

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

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for3.gif

Следовательно, при определении значений аргумента следует помнить, что при функция не определена. На рис. 4.2. видно, что значение аргумента задано в два этапа, не включая (-2) с шагом 0,2.

Рис. 4.2

Рис. 4.2

Построить график функции:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for4.gif

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for5.gif

Определение значения аргумента следует провести в два этапа. Например, от -5 до -1, а затем от 1 до 5,с шагом 0,1.

Построить график функции:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for6.gif

При построении этого графика следует использовать функцию ЕСЛИ. Например, в ячейке А7 (см. рис. 4.3) находится начальное значение аргумента, тогда в ячейку В7 необходимо ввести формулу:

=ЕСЛИ(A7<0;1+A7;ЕСЛИ(A7>=1;A7^2;EXP(A7))).

Рис. 4.3

Рис. 4.3

Изобразите линию, заданную неявно уравнением:

4y2 +5x2 - 20=0.

Заметим, что заданная уравнением f(x, y)=0 функция описывает кривую линию под названием эллипс. Это можно доказать, если произвести элементарные математические операции:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for7.gif

В связи с тем, что линия задана неявно, для ее построения необходимо разрешить заданное уравнение относительно переменной y:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for8.gif

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

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for9.gif

  и  

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for10.gif

Перед построением определим ОДЗ функций f1(x) и f2(x).

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

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for11.gif

Теперь перейдем к построению графика.

Для этого в диапазон А3:А43 введем значения аргумента (от -2 до 2 с шагом 0,1).

В ячейку В3 введем формулу для вычисления значений функции f1(x) :

=КОРЕНЬ(20-5*$A3^2)/2.

А в ячейку С3 для вычисления значений функции f2(x):

= - КОРЕНЬ(20-5*$A3^2)/2.

Далее скопируем эти формулы до В43 и С43 соответственно (см. рис. 4.4).

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/4.4.gif

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/4.5.gif

Рис. 4.4

Затем выделим диапазон А3:С43 и воспользовавшись "Мастером диаграмм", построим графики функций f1(x) и f2(x) в одной графической области (см. рис. 4.5).

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/4.6.gif

Рис. 4.5

ПРИМЕР 4.6. Изобразите линию заданную неявно:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for12.gif

Данное уравнение описывает линию под названием гипербола. Разрешим его относительно переменной y:

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for13.gif

Найдем ОДЗ функций f1(x) и f2(x):

http://teacher.dn-ua.com/old_version/excel/Laba4/ris/for14.gif

Проведенные исследования показывают, что для построения графика необходимо значения аргумента задавать в два этапа, т. к. в диапазоне от -2 до 2 функция не определена (см. ПРИМЕР 4.2 и 4.3).

Задание значений функций f1(x), f2(x) и построение графика выполняется так же, как в ПРИМЕРЕ 4.5. Результаты представлены на рис. 4.6. и 4.7.

Рис. 4.6

Рис. 4.6

Рис. 4.4

Рис. 4.7.

3.  Двумерные графики в декартовой системе координат.

График функции y=f(x).

При выполнении команды Inset -> Graph -> Plot в документ помещается рамка-шаблон с двумя незаполненными ячейками для построения графика. (Клавиша [@]).

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

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

После ввода x и f(x) в графической области появятся еще четыре ячейки, которые не обязательно заполнять. MathCAD автоматически находит подходящие значения для xmin, xmax, ymin, ymax. Если же предлагаемые MathCAD значения вас не устраивают, вы можете задать свои.

В MathCAD существует возможность строить график функции, не задавая предварительно промежуток изменения независимой переменной. По умолчанию этот промежуток принимается равным [-10, 10].

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

Кривые на плоскости, заданные параметрически.

Уравнения x=f(t), y=y(t) , где f(t) и y(t) непрерывны при t из (a, b), устанавливающие зависимость декартовых координат (x, y) точки плоскости от значения параметра t , определяют на плоскости кривую, заданную в параметрической форме.

В случае построения параметрически заданной кривой, вместо независимой переменной x под осью абсцисс необходимо задать индексированую переменную xi. А рядом с осью ординат необходимо соответственно указать yi.

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


4.  Построение графика функции z=f(x, y) в виде поверхности в декартовой системе координат.

Для построения графика поверхности можно воспользоваться двумя способами:

1. Если вам надо только посмотреть общий вид поверхности, то MathCAD предоставляет возможность быстрого построения подобных графиков. Для этого достаточно определить функцию f(x, y) и выполнить команду Insert -> Graph -> Surface Plot или нажать соответствующую кнопку наборной панели Graph (соченание клавиш [Ctrl+7]). В появившейся графической области под осями на месте шаблона для ввода надо указать имя (без аргументов) функции. MathCAD автоматически построит график поверхности. Независимые переменные x и y принимают значения из промежутка [-5,5].

При необходимости этот промежуток может быть уменьшен или увеличен. Для этого необходимо выделить график и воспользоваться командой Format -> Graph -> 3D Plot или щелкнуть ПРАВОЙ кнопкой мыши по выделенному графику и в контекстном меню выбрать команду Format. В появившемся окне 3-D Plot Format на вкладке QuickPlot Data можно установить другие параметры изменения независимых переменных x и y.

Для построения графика поверхности в определенной области изменения независимых переменных или с конкретным шагом их изменения необходимо сначала задать узловые точки xi и yj, в которых будут определяться значения функции. После (а можно и до) этого надо определить функцию f(x, y), график которой хотите построить. После этого необходимо сформировать матрицу значений функции в виде: Ai, j=f(xi, yj).

Теперь после выполнения команды Insert -> Graph -> Surface Plot в появившейся графической области достаточно ввести имя матрицы (без индексов).

Если вы хотите, чтобы узловые точки были расположены через равные промежутки, воспользуйтесь формулами, изображенными на рисунке.

Для построения графика линий уровня данной функции необходимо поступать также как это было описано выше, только вместо команды (Поверхности) следует выбрать команду Contour Plot (Контурный). Аналогично, при помощи команды 3D Bar Plot (3D Диаграммы) можно построить трехмерный столбчатый график данной функции, при помощи команды 3D Scatter Plot (3D Точечный) - трехмерный точечный график, а при помощи команды 3D Patch Plot (3D Лоскутный) - трехмерный график поверхности в виде несвязанных квадратных площадок - плоскостей уровня для каждой точки данных, параллельных плоскости X-Y

Начало раздела

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

Если поверхность задана параметрически, это означает, что все три координаты - x и y и z - заданы как функции от двух параметров u и v. Сначала необходимо задать векторы значений параметров ui и vj. Затем необходимо определить матрицы значений функций координат x(u, v), y(u, v) и y(u, v).

После выбора команды Surface Plot в MathCAD документе появится графическая область. В свободной ячейке внизу области надо указать В СКОБКАХ имена (без аргументов и индексов) трех матриц - x, y,z.

5.  Численное решение нелинейных уравнений

Метод половинного деления

Пусть корень уравнения отделен на отрезке [a;b]. Требуется найти значение корня с точностью ε.

Изображение гафика функции y=F(x)

"Процедура уточнения положения корня заключается в построении последовательности вложенных друг в друга отрезков, каждый из которых содержит корень уравнения. Для этого находится середина текущего интервала неопределенности (6):

Изображение формулы нахождения середины текущего интервала

В в качестве следующего интервала неопределенности из двух возможных выбирается тот, на концах которых функция F(x)=0 имеет разные знаки"[8]. "Точность будет достигнута, если:

Изображение формулы достижения точности

Корень уравнения вычисляется по формуле x=(an+bn)/2 (7)"[1].

Пусть дана задача следующего характера: Уточнить корни уравнения cos(2x)+x-5=0 методом половинного деления с точностью до 0,00001, используя:

Для того чтобы уточнить корни уравнения cos(2x)+x-5=0 методом половинного деления, используя Mathcad, необходимо выполнить следующие действия:

Запустить Mathcad. Ввести в позиции ввода рабочего аргумента выражение, описывающее функцию f(x): f(x):=cos(2·x)+x-5. Вести граничные значения отрезка изоляции: a:=5 и b:=6. Ввести значение данной погрешности: e:=0,00001. Выбрать на панели инструментов кнопку "инструменты программирования". Ввести в позиции поля ввода имя новой функции и знак присвоить значение: pol(f, a,b, e):= На панели «Программирование» выбрать «Add Line» - добавить строку программы. В первый темный прямоугольник добавить запись «while», находящуюся на панели «Программирование»:

Изображение панели 'Программирование'

Условие циклы в темном прямоугольнике, стоящем после while: |b-a|>e. В следующем темном прямоугольнике, расположенным под while, задать тело цикла: добавить строку программы, в первом темном прямоугольнике ввести:

Изображение ввода выражения в первом прямоугольнике

Для ввода использовать кнопку "Локальное присвоение" на панели "Программирование": Изображение кнопки

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

Изображение ввода выражения

(функцию if выбрать на панели «Программирование» перед тем как вводить выражение).

Затем строкой ниже ввести:

Изображение ввода выражения

(данную функцию выбрать на панели «Программирование» перед тем как вводить выражение).

В самом нижнем темном прямоугольнике ввести переменную вывода: c. В поле ввода, под программой, набрать pol(f, a,b, e), затем нажать знак равенства.

В итоге получаем следующее:

Изображение

Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32977.

Для того чтобы уточнить корни уравнения cos(2x)+x-5=0 методом половинного деления, используя Excel, необходимо выполнить следующие действия:

Заполнить ячейки A1:H1 последовательно следующим образом: a, b, c=(a+b)/2, f(a), f(b), f(c), |b-a|<=2*e, e. Ввести в ячейку A2 число 5, в ячейку B2 - число 6. В ячейку B2 ввести формулу: =(A2+B2)/2. В ячейку D2 ввести формулу: =cos(2*A2)+A2-5, скопировать эту формулу в ячейки E2:F2. Ввести в ячейку G2 формулу: =ЕСЛИ(ABS(B2-A2)<=2*$H$2;C2;"-"). Ввести в ячейку H2 число 0,00001. В ячейку A3 ввести формулу: =ЕСЛИ(D2*F2<0;A2;C2). В ячейку B3 ввести формулу: =ЕСЛИ(D2*F2<0;C2;B2). Диапазон ячеек C2:G2 скопировать в диапазон ячеек C3:G3. Выделить диапазон ячеек A3:G3 и с помощью маркера заполнения заполнить все нижестоящие ячейки до получения результата в одной из ячеек столбца G (это ячейки A3:G53).

В итоге получаем следующее:

Изображение

Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32977.

Метод касательных (Ньютона)

" В отличие от метода хорд, в методе касательных вместо хорды на каждом шаге проводится касательная к кривой y=F(x) при x=xn и ищется точка пересечения касательной с осью абсцисс:

Изображение графика

Формула для (n+1) приближения имеет вид (10):

Изображение формулы для (n+1) приближения

Если F(a)*F"(a)>0, x0=a, в противном случае x0=b.

Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что:"[1]

Изображение формулы условия сходимости.

Например, требуется уточнить корни уравнения cos(2x)+x-5=0 методом касательных с точностью до 0,00001, используя:

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

Запустить Mathcad. Ввести в позиции ввода рабочего аргумента выражение, описывающее функцию f(x):
f(x):=cos(2·x)+x-5. Ввести выражение:

Изображение выражения производной второго порядка

(описывающее производную второго порядка от функции f(x)).

Вывести ниже значение этой производной:

Изображение выражения значения производной второго порядка

Ввести выражение:

Изображение выражения производной первого порядка

(описывающее производную первого порядка от функции f(x)).

Вывести ниже значение этой производной:

Изображение выражения значения производной первого порядка

Вести граничные значения отрезка изоляции: a:=5 и b:=6. Ввести значение данной погрешности: e:=0,00001. Описать функцию casat(f, a,b, e) с помощью программы, используя панель «Программирования», для этого выполнить следующие действия:
    Добавить строку программы. В первом темном прямоугольнике задать условие: if f(a)·f(b)>0 , вернуться в темный прямоугольник перед условием и в нем добавить строку программы. В первом темном прямоугольнике ввести присваивание переменных x1 и a , а в следующем - c и a ( для присваивания использовать кнопку "Локальное присвоение" на панели "Программирование": Изображение кнопки ). Встать в нижний темный прямоугольник и добавить строку программы, ввести otherwise и в темном прямоугольнике, стоящем перед otherwise добавить строку программы. В первом темном прямоугольнике присвоить x1 значение b, а в следующем - c и b. В следующем темном прямоугольнике добавить строку программы и ввести while |f(x1)|>e. В следующем темном прямоугольнике добавить строку программы и в двух полученных темных прямоугольниках последовательно ввести следующие выражения:

Изображение ввода выражения

и x1 присвоить x2.

    В последнем темном прямоугольнике ввести x1.
В поле ввода вывести значение функции casat(f, a,b, e)=5,32976.

В итоге получаем следующее:

Изображение

Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.

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

Изначально необходимо определиться с тем, чему равно x0: либо a, либо b. Для этого необходимо выполнить следующие действия:
    Найти производную первого порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f1(x)=-2sin(2x)+1. Найти производную второго порядка от функции f(x)=cos(2x)+x-5. Она будет выглядеть следующим образом: f2(x)=-4cos(2x). Заполнить ячейки следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

Изображение заполненных ячеек

    В итоге получается следующее:

Изображение итогового результата заполнения ячеек

Так как x0=b, то необходимо выполнить следующие действия:
    Заполнить ячейки следующим образом (обратить внимание на названия и номера столбцов при заполнении - они должны быть такими же, как на рисунке):

Изображение заполненных ячеек

    В ячейку A6 ввести формулу =D5. Выделить диапазон ячеек B5:E5 и методом протягивания заполнить диапазон ячеек B6:E6. Выделить диапазон ячеек A6:E5 и методом протягивания заполнить диапазон нижерасположенных ячеек до получения в одной из ячеек столбца E результата (диапазон ячеек A6:E9).

В итоге получаем следующее:

Изображение

Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.

6.  Численное интегрирование

Формула трапеций

"В общем виде формула трапеций на отрезке [x0;xn] выглядит следующим образом (17):

Изображение формулы трапеций

В данной формуле x0=a, xn=b, так как любой интеграл в общем виде выглядит (18):

Изображение интеграла

h можно вычислить по следующей формуле: h=(b-a)/n (19).

y0, y1,..., yn - это значения соответствующей функции f(x) в точках x0, x1,..., xn (xi=xi-1+h)" [3].

На практике данный способ реализуется следующим образом:

Вычислить интеграл

Изображение интеграла, который нужно вычислить

по формуле трапеций при n=10, используя:

Для того, чтобы вычислить интеграл по формуле трапеций в Mathcad, необходимо выполнить следующие действия:

Ввести в поле ввода в одной строчке через какое-либо расстояние следующие выражения: a:=0, b:=3.2, n:=10. В следующей строчке ввести формулу с клавиатуры h:=(b-a)/n (обратить внимание на то, что в поле ввода данное выражение сразу преобразуется к стандартному виду). Рядом вывести значение данного выражения, для этого набрать с клавиатуры: h=. Ниже ввести формулу для вычисления подинтегральной функции, для этого с клавиатуры набрать f(x):=, затем открыть панель инструментов "Арифметика", либо воспользовавшись значком Изображение значка , либо следующим способом:

Изображение пути открытия панели инструментов

После этого, на панели инструментов "Арифметика" выбрать "Квадратный корень": Изображение значка , затем в появившемся темном квадрате ввести выражение с клавиатуры x^4-x^3+8, перемещение курсора осуществляется стрелками на клавиатуре (обратить внимание на то, что в поле ввода данное выражение сразу преобразуется к стандартному виду).

Ниже ввести выражение I1:=(f(a)+f(b))/2. Ниже ввести выражение trap(a, b,n, h,I1):=. Затем выбрать панель инструментов "Программирование" (либо: "Вид"-"Панели инструментов"-"Программирование", либо: значок Изображение панели инструментов ). На панели инструментов "Программирование" добавить строку программы: Изображение кнопки для добавления строки программы, затем поставить курсор в первый темный прямоугольник и на панели инструментов "Программирование" выбрать "for":

Изображение промежуточного результата решения задачи

В полученной строке, после слова for, встать курсором в первый из прямоугольников и набрать i. Затем выбрать панель инструментов "Матрицы" (либо: "Вид"-"Панели инструментов"-"Матрицы", либо: значок Изображение панели инструментов ). Поставить курсор в следующий темный прямоугольник и на панели инструментов "Матрицы" нажать: Изображение кнопки , где набрать в двух появившихся прямоугольниках соответственно: 1 и n-1. Поставить курсор в нижестоящий темный прямоугольник и дважды добавить строку программы. После этого вернуть курсор в первый из появившихся прямоугольников и набрать x1, затем нажать "Локальное присвоение" на панели "Программирование": Изображение кнопки и после этого набрать a+h. Поставить курсор в следующий темный прямоугольник, где набрать I1 присвоить (кнопка "Локальное присвоение") I1+f(x1). Поставить курсор в следующий темный прямоугольник, где набрать a присвоить (кнопка "Локальное присвоение") x1. В следующем темном прямоугольнике добавить строку программы, где в первом из полученных прямоугольников набрать I1 присвоить (кнопка "Локальное присвоение") I1*h (обратить внимание, что знак умножения в поле ввода автоматически превращается в стандартный). В последнем темном прямоугольнике набрать I1. Ниже ввести trap(a, b,n, h,I1) и нажать знак =. Для того, чтобы отформатировать ответ, нужно дважды щелкнуть по полученному числу и указать число десятичный мест - 5.

В итоге получаем:

Изображение итогового результата

Ответ: значение заданного интеграла равно 13,47971.

ля того, чтобы вычислить интеграл по формуле трапеций в Excel, необходимо выполнить следующие действия:

Ввести в ячейку A1 текст n=. Ввести в ячейку B1 число 10. Ввести в ячейку A2 текст a=. Ввести в ячейку B2 число 0. Ввести в ячейку A3 текст b=. Ввести в ячейку B3 число 3,2. Ввести в ячейку A4 текст h=(b-a)/n. Ввести в ячейку B4 формулу =(B3-B2)/B1. Заполнить диапазон ячеек A6:D6 следующим образом:

Изображение заполненных ячеек

Ввести в ячейку A7 число 0. Ввести в ячейку A8 формулу =A7+1, скопировать эту формулу методом протягивания в диапазон ячеек A8:A17. Ввести в ячейку B7 число 0. Ввести в ячейку B8 формулу =B7+$B$4, скопировать эту формулу методом протягивания в диапазон ячеек B8:B17. Ввести в ячейку C7 формулу =КОРЕНЬ(B7^4-B7^3+8), а в ячейку C17 формулу =КОРЕНЬ(B17^4-B17^3+8). Ввести в ячейку D8 формулу =КОРЕНЬ(B8^4-B8^3+8), скопировать эту формулу методом протягивания в диапазон ячеек D8:B16. Ввести в ячейку B18 текст суммы:. Ввести в ячейку C18 формулу =СУММ(C7;C17). Ввести в ячейку D18 формулу =СУММ(D8:D16). Ввести в ячейку A19 текст интеграл=. Ввести в ячейку B19 формулу =B4*(C18/2+D18).

В итоге получаем:

Изображение итогового результата

Ответ: значение заданного интеграла равно 13,47971.

Формула Симпсона (парабол)

"В общем виде формула парабол на отрезке [x0;xn] выглядит следующим образом (20):

Изображение формулы Симпсона (парабол)

В данной формуле x0=a, xn=b, так как любой интеграл в общем виде выглядит: (см. формулу 18).

h можно вычислить по формуле 19.

y0, y1,..., yn - это значения соответствующей функции f(x) в точках x0, x1,..., xn (xi=xi-1+h)" [3].

На практике данный способ реализуется следующим образом:

Вычислить интеграл

Изображение интеграла, который нужно вычислить

по формуле парабол при n=10, используя:

Для того, чтобы вычислить интеграл по формуле Симпсона в Mathcad, необходимо выполнить следующие действия:

Ввести в поле ввода в одной строчке через какое-либо расстояние следующие выражения: a:=0, b:=3.2, n:=10. В следующей строчке ввести формулу с клавиатуры h:=(b-a)/n (обратить внимание на то, что в поле ввода данное выражение сразу преобразуется к стандартному виду). Рядом вывести значение данного выражения, для этого набрать с клавиатуры: h=. Ниже ввести формулу для вычисления подинтегральной функции, для этого с клавиатуры набрать f(x):=, затем открыть панель инструментов "Арифметика", либо воспользовавшись значком Изображение значка , либо следующим способом:

Изображение пути открытия панели инструментов

После этого, на панели инструментов "Арифметика" выбрать "Квадратный корень": Изображение значка , затем в появившемся темном квадрате ввести выражение с клавиатуры x^4-x^3+8, перемещение курсора осуществляется стрелками на клавиатуре (обратить внимание на то, что в поле ввода данное выражение сразу преобразуется к стандартному виду).

Ниже ввести выражение s1:=(f(a)-f(b))/2. Ниже ввести выражение simps(a, b,n, h,s1):=. Затем выбрать панель инструментов "Программирование" (либо: "Вид"-"Панели инструментов"-"Программирование", либо: значок Изображение панели инструментов ). На панели инструментов "Программирование" добавить две строки программы: Изображение кнопки для добавления строки программы, затем поставить курсор в первый темный прямоугольник и ввести s2 присвоить 0 (присвоение осуществлять кнопкой "Локальное присвоение" на панели "Программирование": Изображение кнопки ), а в следующем темном прямоугольнике ввести s3 присвоить 0. Затем поставить курсор в следующий темный прямоугольник и добавить еще одну строку программы, после этого вернуть курсор в этот же прямоугольник и на панели инструментов "Программирование" выбрать "for": В полученной строке, после слова for, встать курсором в первый из прямоугольников и набрать i. Затем выбрать панель инструментов "Матрицы" (либо: "Вид"-"Панели инструментов"-"Матрицы", либо: значок Изображение панели инструментов ). Поставить курсор в следующий темный прямоугольник и на панели инструментов "Матрицы" нажать: Изображение кнопки , где набрать в двух появившихся прямоугольниках соответственно: 1 и n. Поставить курсор в нижестоящий темный прямоугольник и дважды добавить строку программы. После этого вернуть курсор в первый из появившихся прямоугольников и нажать на панели "Программирование" кнопку Изображение кнопки , в темном прямоугольнике перед if набрать с клавиатуры s2 присвоить s2+f(a+i*h), а в прямоугольнике после if вставить функцию mod ("Вставить"-"Функция"-"mod"), где в появившихся темных квадратах набрать соответственно i, 2, а после первых скобок на панели инструментов "Булево" Изображение кнопки ("Вид"-"Панели инструментов"-"Булево") нажать Изображение кнопки , а затем после этого набрать 0. Поставить курсор в следующий темный прямоугольник и нажать на панели "Программтрование" Изображение кнопки , затем набрать в появившемся прямоугольнике с клавиатуры s3 присвоить s3+f(a+i*h). Поставить курсор в следующий темный прямоугольник, где набрать a присвоить (кнопка "Локальное присвоение") x1. В следующем темном прямоугольнике добавить строку программы, где в первом из полученных прямоугольников набрать с клавиатуры I1 присвоить 2*h*(s1+2*s2+s3)/3. В последнем темном прямоугольнике набрать I1. Ниже ввести simps(a, b,n, h,s1) и нажать знак =. Для того, чтобы отформатировать ответ, нужно дважды щелкнуть по полученному числу и указать число десятичный мест - 5.

В итоге получаем:

Изображение итогового результата

Ответ: значение заданного интеграла равно 13,43192.

Для того, чтобы вычислить интеграл по формуле Симпсона в Excel, необходимо выполнить следующие действия:

Ввести в ячейку A1 текст n=. Ввести в ячейку B1 число 10. Ввести в ячейку A2 текст a=. Ввести в ячейку B2 число 0. Ввести в ячейку A3 текст b=. Ввести в ячейку B3 число 3,2. Ввести в ячейку A4 текст h=. Ввести в ячейку B4 формулу =(B3-B2)/B1. Заполнить диапазон ячеек A6:D6 следующим образом:

Изображение заполненных ячеек

Ввести в ячейку A7 число 0. Ввести в ячейку A8 формулу =A7+1, скопировать эту формулу методом протягивания в диапазон ячеек A8:A17. Ввести в ячейку B7 число 0. Ввести в ячейку B8 формулу =B7+$B$4, скопировать эту формулу методом протягивания в диапазон ячеек B8:B17. Ввести в ячейку C7 формулу =КОРЕНЬ(B7^4-B7^3+8), а в ячейку C17 формулу =КОРЕНЬ(B17^4-B17^3+8). Заполнить нижеприведенные ячейки:

Изображение заполненных ячеек

Ввести в ячейку C18 формулу =(C7-C17)/2. Ввести в ячейку D18 формулу =2*D8+2*D10+2*D12+2*D14+2*D16. Ввести в ячейку E18 формулу =E9+E11+E13+E15+E17. Ввести в ячейку A19 текст интеграл=. Ввести в ячейку B19 формулу =(2*B4/3)*(C18+D18+E18).

В итоге получаем следующее:

Изобажение итогового результата

Ответ: значение заданного интеграла равно 13,43192.

7.  SQL запросы

Есть четыре основных типа запросов данных в SQL, которые относятся к так называемому языку манипулирования данными (Data Manipulation Language или DML):

    SELECT – выбрать строки из таблиц; INSERT – добавить строки в таблицу; UPDATE – изменить строки в таблице; DELETE – удалить строки в таблице;

Каждый из этих запросов имеет различные операторы и функции, которые используются для того, чтобы произвести какие-то действия с данными. Запрос SELECT имеет самое большое количество опций. Существуют также дополнительные типы запросов, используемых вместе с SELECT, типа JOIN и UNION. Но пока, мы сосредоточимся только на основных запросах.

Использование запроса SELECT для выборки нужных данных

Чтобы получить информацию, хранящуюся в базе данных используется запрос SELECT. Базовое действие этого запроса ограничено одной таблицей, хотя существуют конструкции, обеспечивающие выборку с нескольких таблиц одновременно. Для того, чтобы получить все строки данных для специфических столбцов, используется запрос такого вида:

SELECT column1, column2 FROM table_name;

Также, можно получить все столбцы из таблицы, используя подстановочный знак «*»:

SELECT * FROM table_name;

Это может быть полезно в том случае, когда вы собираетесь выбрать данные с определенным условием WHERE. Следующий запрос возвратит все столбцы со всех строк, где «column1» содержит значение «3»:

SELECT * FROM table_name WHERE column1=3;

Кроме «=» (равно), существуют следующие условные операторы:

Условные операторы

=

Равно

<> 

Не равно

Больше

Меньше

>=

Больше или равно

<=

Меньше или равно

Дополнительно можно использовать условия BITWEEN и LIKE для сравнения с условием WHERE, а так же комбинации операторов AND и OR.

SELECT * FROM table_name WHERE ((Age >= 18) AND (LastName BETWEEN ‘Иванов’ AND ‘Сидоров’)) OR Company LIKE ‘%Motorola%’;

Что в переводе на русский язык означает: выбрать все столбцы из таблицы table_name, где значение столбца age больше или равно 18, а также значение столбца LastName находится в алфавитном промежутке от Иванов до Сидоров включительно, или же значением столбца Company является Motorola.

Использование запроса INSERT для вставки новых данных

Запрос INSERT используется для создания новой строки данных. Для обновления уже существующих данных или пустых полей строки нужно использовать запрос UPDATE.

Примерный синтаксис запроса INSERT:

INSERT INTO table_name (column1, column2, column3) VALUES (‘data1’, ‘data2’, ‘data3’);

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

Изменяется уже существующая информация в базе данных очень похожим образом.

Запрос UPDATE и условие WHERE

UPDATE используется для того, чтобы изменить существующие значения или освободить поле в строке, поэтому новые значения должны соответствовать существующему типу данных и обеспечивать приемлемые значения. Если вы не хотите изменить значения во всех строках, то нужно использовать условие WHERE.

UPDATE table_name SET column1 = ‘data1’, column2 = ‘data2’ WHERE column3 = ‘data3’;

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

UPDATE table_name SET FirstName = ‘Василий’ WHERE FirstName = ‘Василий’ AND LastName = ‘Пупкин’;

Будьте осторожны! Запрос DELETE удаляет целые строки

Запрос DELETE полность удаляет строку из базы данных. Если вы хотите удалить одно единственное поле, то нужно использовать запрос UPDATE и установить для этого поля значение, которое будет являться аналогом NULL в вашей программе. Будьте внимательны, и ограничивайте ваш запрос DELETE условием WHERE, иначе вы можете потерять все содержимое таблицы.

DELETE FROM table_name WHERE column1 = ‘data1’;

Как только строка была удалена из вашей базы данных, она не подлежит восстановлению, поэтому желательно иметь столбец по имени «IsActive», или что-то типа того, который вы можете изменить на ноль, что будет указывать на блокировку представления данных из этой строки.