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

advertisement
Методические указания
для выполнения курсовой работы
по дисциплине
“Инструментальные программные средства”
1.
Решение систем линейных алгебраических уравнений (СЛАУ) ...................................................... 2
2.
Построение графиков функций ........................................................................................................11
3.
Двумерные графики в декартовой системе координат. ................................................................17
4.
Построение графика функции z=f(x,y) в виде поверхности в декартовой системе координат. .18
5.
Численное решение нелинейных уравнений ................................................................................22
6.
Численное интегрирование ..............................................................................................................30
7.
SQL запросы .......................................................................................................................................38
1. Решение систем линейных алгебраических уравнений
(СЛАУ)
Пусть задана СЛАУ следующего вида:
Эту систему можно представить в матричном виде: AX = b, где
- матрица
коэффициентов
системы
уравнений;
- вектор
неизвестных,
- вектор
правых частей.
При выполнении лабораторной работы систему линейных алгебраических уравнений
необходимо будет решать методом обратной матрицы и методом Крамера. Вспомним
основные формулы, используемые в этих методах.
Метод обратной матрицы
Систему линейных алгебраических уравнений AX = b умножим слева на матрицу,
обратную к А. Система уравнений примет вид:
A-1AX=A-1b, EX=A-1b, (E - единичная матрица)
Таким образом, вектор неизвестных вычисляется по формуле X=A-1b.
Метод Крамера
В этом случае неизвестные x1,x2,…, xn вычисляются по формуле:
где
- определитель
матрицы A,
- определитель матрицы, получаемой из матрицы А путем
замены i-го столбца вектором b.
Обратите внимание на особенность работы с матричными формулами: необходимо
предварительно выделять область, в которой будет храниться результат, а после
получения результата преобразовывать его к матричному виду, нажав клавиши F2 и
Ctrl+Shift+Enter.
Теперь рассмотрим решение системы линейных уравнений методом обратной матрицы и
методом Крамера на следующих примерах.
ПРИМЕР 3.1. Решить систему методом обратной матрицы:
В этом случае матрица коэффициентов А и вектор свободных коэффициентов b имеют
вид:
Введём матрицу A и вектор b в рабочий лист MS Excel (рис. 3.1).
Рис. 3.1
В нашем случае матрица А находится в ячейках B1:Е4, а вектор b в диапазоне G1:G4. Для
решения системы методом обратной матрицы необходимо вычислить матрицу, обратную
к A. Для этого выделим ячейки для хранения обратной матрицы (это нужно сделать
обязательно!!!); пусть в нашем случае это будут ячейки B6:E9. Теперь обратимся к
мастеру функций, и в категории Математические выберем функцию МОБР,
предназначенную для вычисления обратной матрицы (рис. 3.2), щелкнув по кнопке OK,
перейдём ко второму шагу мастера функций. В диалоговом окне, появляющемся на
втором шаге мастера функций, необходимо заполнить поле ввода Массив (рис. 3.3). Это
поле должно содержать диапазон ячеек, в котором хранится исходная матрица - в нашем
случае B1:E4. Данные в поле ввода Массив можно ввести, используя клавиатуру или
выделив их на рабочем листе, удерживая левую кнопку мыши.
Рис. 3.2
Рис. 3.3
Если поле Массив заполнено, можно нажать кнопку OK. В первой ячейке, выделенного
под обратную матрицу диапазона, появится некое число. Для того чтобы получить всю
обратную матрицу, необходимо нажать клавишу F2 для перехода в режим
редактирования, а затем одновременно клавиши Ctrl+Shift+Enter. В нашем случае
рабочая книга MS Excel примет вид изображенный на рис. 3.4.
Рис. 3.4
Теперь необходимо умножить полученную обратную матрицу на вектор b. Выделим
ячейки для хранения результирующего вектора, например H6:H9. Обратимся к мастеру
функций, и в категории Математические выберем функцию МУМНОЖ, которая
предназначена для умножения матриц. Напомним, что умножение матриц происходит по
правилу строка на столбец и матрицу А можно умножить на матрицу В только в том
случае, если количество столбцов матрицы А равно количеству строк матрицы В. Кроме
того, при умножении матриц важен порядок сомножителей, т.е. АВ≠ВА
Перейдём ко второму шагу мастера функций. Появившееся диалоговое окно (рис. 3.5)
содержит два поля ввода Массив1 и Массив2. В поле Массив1 необходимо ввести
диапазон ячеек, в котором содержится первая из перемножаемых матриц, в нашем случае
B6:E9 (обратная матрица), а в поле Массив2 ячейки, содержащие вторую матрицу, в
нашем случае G1:G4 (вектор b).
Рис. 3.5
Если поля ввода заполнены, можно нажать кнопку OK. В первой ячейке выделенного
диапазона появится соответствующее число результирующего вектора. Для того чтобы
получить весь вектор, необходимо нажать клавишу F2, а затем одновременно клавиши
Ctrl+Shift+Enter. В нашем случае результаты вычислений (вектор х), находится в ячейках
H6:H9.
Для того чтобы проверить, правильно ли решена система уравнений, необходимо
умножить матрицу A на вектор x и получить в результате вектор b. Умножение матрицы
A на вектор x осуществляется при помощи функции МУМНОЖ(В1:Е4;Н6:Н9), так как
было описанной выше.
В результате проведенных вычислений рабочий лист примет вид изображенный на рис.
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.3. Вычислить матрицу С по формуле: C=A2+2AB, где
Введем исходные данные на рабочий лист (рис. 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, показано как
можно вычислить матрицу С одним выражением.
Для того чтобы решить систему уравнений в Mathcad, нужно выполнить следующие
действия:
1. Ввести в поле ввода матрицу системы, для чего в поле ввода ввести A:=, затем на
панели инструментов выбрать вкладку «векторные и матричные операции», на
панели «Матрицы» выбрать кнопку «Создать матрицу или вектор»:
,
задать необходимое число строк и столбцов для формирования матрицы (по 3), в
каждый темный квадрат ввести соответствующее значение из системы:
2. Ввести в поле ввода вектор – столбец свободных членов:
3. На панели инструментов выбрать кнопку «Векторные и матричные операции», в
окне «Матрицы» выбрать «Вычисление определителя», в черном
прямоугольнике набрать A, за определителем нажать знак равенства: |A|=-374.497 .
4. Вычислить определители матриц, полученных заменой соответствующего
столбца исходной матрицы столбцом свободных членов:
o В поле ввода ввести D1:= (условно обозначает определитель первого
порядка), в окне «Матрицы» выбрать «Вычисление определителя», затем
«Создать матрицу или вектор», размерность:
o
Заполнить матрицу следующим образом:
o
Ниже вывести значение определителя матрицы: D1=-1.248 × 103.
o
Подобным образом вычислить определитель второго и третьего порядка:
, D2=-1.334 × 103,
, D3=-1.416 × 103.
o
Ниже ввести следующие выражения, вычисляющие x1, x2, x3:
,
o
,
,
затем вывести соответствующие значения: x1=3.333 , x2=3.561 , x3=3.782 .
Таким образом, получаем следующее:
Ответ: x1=3.333 , x2=3.561 , x3=3.782 .
2. Построение графиков функций
Построить график функции (см. рис. 4.1):
3. Определим функцию f(x). Для этого в ячейки А1:А21 необходимо ввести значение
аргумента при помощи автозаполнения, в данном случае с шагом 0,5. В ячейку В1
вводится значение функции, вычисляемое по формуле =(A1^2*(A1+3))^(1/3).
Ячейки В2:В21 заполняются копированием формулы из ячейки В1.
4. Далее выделим диапазон А1:В21 и воспользуемся "Мастером диаграмм". Для
построения графика функции лучше выбрать точечную диаграмму, со значениями,
соединенными сглаживающими линиями без маркеров. Чтобы график получился
выразительным, можно определить промежуток изменения аргумента, увеличить
толщину линий, выделить оси координат, нанести на них соответствующие
деления, сделать подписи на осях и вывести заголовок.
Рис. 4.1
Построить график функции:
При построении этого графика следует обратить внимание на область определения
функции. В данном случае функция не существует при обращении знаменателя в ноль.
Следовательно, при определении значений аргумента следует помнить, что при функция
не определена. На рис. 4.2. видно, что значение аргумента задано в два этапа, не включая
(-2) с шагом 0,2.
Рис. 4.2
Построить график функции:
Определение значения аргумента следует провести в два этапа. Например, от -5 до -1, а
затем от 1 до 5,с шагом 0,1.
Построить график функции:
При построении этого графика следует использовать функцию ЕСЛИ. Например, в ячейке
А7 (см. рис. 4.3) находится начальное значение аргумента, тогда в ячейку В7 необходимо
ввести формулу:
=ЕСЛИ(A7<0;1+A7;ЕСЛИ(A7>=1;A7^2;EXP(A7))).
Рис. 4.3
Изобразите линию, заданную неявно уравнением:
4y2 +5x2 - 20=0.
Заметим, что заданная уравнением f(x,y)=0 функция описывает кривую линию под
названием эллипс. Это можно доказать, если произвести элементарные математические
операции:
В связи с тем, что линия задана неявно, для ее построения необходимо разрешить
заданное уравнение относительно переменной y:
После проведенных преобразований можно увидеть, что линию f(x,y) можно изобразить,
построив графики двух функций в одной графической области.
и
Перед построением определим ОДЗ функций f1(x) и f2(x).
Поскольку эти функции содержат в числителе выражение под знаком квадратного корня,
то обязательным условием их существования будет выполнение следующего неравенства:
Теперь перейдем к построению графика.
Для этого в диапазон А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).
Рис. 4.4
Затем выделим диапазон А3:С43 и воспользовавшись "Мастером диаграмм", построим
графики функций f1(x) и f2(x) в одной графической области (см. рис. 4.5).
Рис. 4.5
ПРИМЕР 4.6. Изобразите линию заданную неявно:
Данное уравнение описывает линию под названием гипербола. Разрешим его
относительно переменной y:
Найдем
ОДЗ
функций
f1(x) и
f2(x):
Проведенные исследования показывают, что для построения графика необходимо
значения аргумента задавать в два этапа, т.к. в диапазоне от -2 до 2 функция не
определена (см. ПРИМЕР 4.2 и 4.3).
Задание значений функций f1(x), f2(x) и построение графика выполняется так же, как в
ПРИМЕРЕ 4.5. Результаты представлены на рис. 4.6. и 4.7.
Рис. 4.4
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]. Требуется найти значение корня с
точностью ε.
"Процедура уточнения положения корня заключается в построении последовательности
вложенных друг в друга отрезков, каждый из которых содержит корень уравнения. Для
этого находится середина текущего интервала неопределенности (6):
В в качестве следующего интервала неопределенности из двух возможных выбирается
тот, на концах которых функция F(x)=0 имеет разные знаки"[8]. "Точность будет
достигнута, если:
Корень уравнения вычисляется по формуле x=(an+bn)/2 (7)"[1].
Пусть дана задача следующего характера: Уточнить корни уравнения cos(2x)+x-5=0
методом половинного деления с точностью до 0,00001, используя:
Для того чтобы уточнить корни уравнения cos(2x)+x-5=0 методом половинного
деления, используя Mathcad, необходимо выполнить следующие действия:
1. Запустить Mathcad.
2. Ввести в позиции ввода рабочего аргумента выражение, описывающее функцию
f(x): f(x):=cos(2·x)+x-5.
3. Вести граничные значения отрезка изоляции: a:=5 и b:=6.
4. Ввести значение данной погрешности: e:=0,00001.
5. Выбрать на панели инструментов кнопку "инструменты программирования".
6. Ввести в позиции поля ввода имя новой функции и знак присвоить значение:
pol(f,a,b,e):=
7. На панели «Программирование» выбрать «Add Line» - добавить строку программы.
8. В первый темный прямоугольник добавить запись «while», находящуюся на панели
«Программирование»:
9. Условие циклы в темном прямоугольнике, стоящем после while: |b-a|>e.
10. В следующем темном прямоугольнике, расположенным под while, задать тело
цикла: добавить строку программы, в первом темном прямоугольнике ввести:
Для ввода использовать кнопку "Локальное присвоение" на панели
"Программирование":
11. В следующем темном прямоугольнике, прежде чем вводить выражение, добавить
строку программы, а затем в нем же ввести выражение:
(функцию if выбрать на панели «Программирование» перед тем как вводить
выражение).
12. Затем строкой ниже ввести:
(данную функцию выбрать на панели «Программирование» перед тем как вводить
выражение).
13. В самом нижнем темном прямоугольнике ввести переменную вывода: c.
14. В поле ввода, под программой, набрать pol(f,a,b,e), затем нажать знак равенства.
В итоге получаем следующее:
Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32977.
Для того чтобы уточнить корни уравнения cos(2x)+x-5=0 методом половинного
деления, используя Excel, необходимо выполнить следующие действия:
1. Заполнить ячейки A1:H1 последовательно следующим образом: a, b, c=(a+b)/2, f(a),
f(b), f(c), |b-a|<=2*e, e.
2. Ввести в ячейку A2 число 5, в ячейку B2 - число 6.
3. В ячейку B2 ввести формулу: =(A2+B2)/2.
4. В ячейку D2 ввести формулу: =cos(2*A2)+A2-5, скопировать эту формулу в ячейки
E2:F2.
5. Ввести в ячейку G2 формулу: =ЕСЛИ(ABS(B2-A2)<=2*$H$2;C2;"-").
6. Ввести в ячейку H2 число 0,00001.
7. В ячейку A3 ввести формулу: =ЕСЛИ(D2*F2<0;A2;C2).
8. В ячейку B3 ввести формулу: =ЕСЛИ(D2*F2<0;C2;B2).
9. Диапазон ячеек C2:G2 скопировать в диапазон ячеек C3:G3.
10. Выделить диапазон ячеек A3:G3 и с помощью маркера заполнения заполнить все
нижестоящие ячейки до получения результата в одной из ячеек столбца G (это
ячейки A3:G53).
В итоге получаем следующее:
Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32977.
Метод касательных (Ньютона)
" В отличие от метода хорд, в методе касательных вместо хорды на каждом шаге
проводится касательная к кривой y=F(x) при x=xn и ищется точка пересечения
касательной с осью абсцисс:
Формула для (n+1) приближения имеет вид (10):
Если F(a)*F"(a)>0, x0=a, в противном случае x0=b.
Итерационный процесс продолжается до тех пор, пока не будет обнаружено, что:"[1]
.
Например, требуется уточнить корни уравнения cos(2x)+x-5=0 методом касательных с
точностью до 0,00001, используя:
Для решения такой задачи, используя Mathcad, необходимо выполнить следующие
действия:
1. Запустить Mathcad.
2. Ввести в позиции ввода рабочего аргумента выражение, описывающее функцию
f(x):
f(x):=cos(2·x)+x-5.
3. Ввести выражение:
(описывающее производную второго порядка от функции f(x)).
4. Вывести ниже значение этой производной:
5. Ввести выражение:
(описывающее производную первого порядка от функции f(x)).
6. Вывести ниже значение этой производной:
7. Вести граничные значения отрезка изоляции: a:=5 и b:=6.
8. Ввести значение данной погрешности: e:=0,00001.
9. Описать функцию casat(f,a,b,e) с помощью программы, используя панель
«Программирования», для этого выполнить следующие действия:
o Добавить строку программы.
o В первом темном прямоугольнике задать условие: if f(a)·f(b)>0 , вернуться в
темный прямоугольник перед условием и в нем добавить строку программы.
o В первом темном прямоугольнике ввести присваивание переменных x1 и a ,
а в следующем - c и a ( для присваивания использовать кнопку "Локальное
присвоение" на панели "Программирование":
).
o Встать в нижний темный прямоугольник и добавить строку программы,
ввести otherwise и в темном прямоугольнике, стоящем перед otherwise
добавить строку программы.
o В первом темном прямоугольнике присвоить x1 значение b, а в следующем c и b.
o В следующем темном прямоугольнике добавить строку программы и ввести
while |f(x1)|>e.
o В следующем темном прямоугольнике добавить строку программы и в двух
полученных темных прямоугольниках последовательно ввести следующие
выражения:
и x1 присвоить x2.
В последнем темном прямоугольнике ввести x1.
10. В поле ввода вывести значение функции casat(f,a,b,e)=5,32976.
o
В итоге получаем следующее:
Ответ: Корень уравнения cos(2x)+x-5=0 равен 5,32976.
Для решения такой задачи, используя Excel, необходимо выполнить следующие
действия:
1. Изначально необходимо определиться с тем, чему равно x0: либо a, либо b. Для
этого необходимо выполнить следующие действия:
o Найти производную первого порядка от функции f(x)=cos(2x)+x-5. Она
будет выглядеть следующим образом: f1(x)=-2sin(2x)+1.
o Найти производную второго порядка от функции f(x)=cos(2x)+x-5. Она
будет выглядеть следующим образом: f2(x)=-4cos(2x).
o Заполнить ячейки следующим образом (обратить внимание на названия и
номера столбцов при заполнении - они должны быть такими же, как на
рисунке):
o
В итоге получается следующее:
2. Так как x0=b, то необходимо выполнить следующие действия:
o Заполнить ячейки следующим образом (обратить внимание на названия и
номера столбцов при заполнении - они должны быть такими же, как на
рисунке):
o
o
o
В ячейку 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, необходимо
выполнить следующие действия:
1. Ввести в поле ввода в одной строчке через какое-либо расстояние следующие
выражения: a:=0, b:=3.2, n:=10.
2. В следующей строчке ввести формулу с клавиатуры h:=(b-a)/n (обратить внимание
на то, что в поле ввода данное выражение сразу преобразуется к стандартному
виду).
3. Рядом вывести значение данного выражения, для этого набрать с клавиатуры: h=.
4. Ниже ввести формулу для вычисления подинтегральной функции, для этого с
клавиатуры набрать f(x):=, затем открыть панель инструментов "Арифметика",
либо воспользовавшись значком , либо следующим способом:
После этого, на панели инструментов "Арифметика" выбрать "Квадратный
корень": , затем в появившемся темном квадрате ввести выражение с клавиатуры
x^4-x^3+8, перемещение курсора осуществляется стрелками на клавиатуре
(обратить внимание на то, что в поле ввода данное выражение сразу
преобразуется к стандартному виду).
5. Ниже ввести выражение I1:=(f(a)+f(b))/2.
6. Ниже ввести выражение trap(a,b,n,h,I1):=.
7. Затем выбрать панель инструментов "Программирование" (либо: "Вид"-"Панели
инструментов"-"Программирование", либо: значок ).
8. На панели инструментов "Программирование" добавить строку программы:
, затем поставить курсор в первый темный прямоугольник и на панели
инструментов "Программирование" выбрать "for":
9. В полученной строке, после слова for, встать курсором в первый из
прямоугольников и набрать i.
10. Затем выбрать панель инструментов "Матрицы" (либо: "Вид"-"Панели
инструментов"-"Матрицы", либо: значок ).
11. Поставить курсор в следующий темный прямоугольник и на панели инструментов
"Матрицы" нажать:
, где набрать в двух появившихся прямоугольниках
соответственно: 1 и n-1.
12. Поставить курсор в нижестоящий темный прямоугольник и дважды добавить
строку программы.
13. После этого вернуть курсор в первый из появившихся прямоугольников и набрать
x1, затем нажать "Локальное присвоение" на панели "Программирование":
и
после этого набрать a+h.
14. Поставить курсор в следующий темный прямоугольник, где набрать I1 присвоить
(кнопка "Локальное присвоение") I1+f(x1).
15. Поставить курсор в следующий темный прямоугольник, где набрать a присвоить
(кнопка "Локальное присвоение") x1.
16. В следующем темном прямоугольнике добавить строку программы, где в первом
из полученных прямоугольников набрать I1 присвоить (кнопка "Локальное
присвоение") I1*h (обратить внимание, что знак умножения в поле ввода
автоматически превращается в стандартный).
17. В последнем темном прямоугольнике набрать I1.
18. Ниже ввести trap(a,b,n,h,I1) и нажать знак =.
19. Для того, чтобы отформатировать ответ, нужно дважды щелкнуть по полученному
числу и указать число десятичный мест - 5.
В итоге получаем:
Ответ: значение заданного интеграла равно 13,47971.
ля того, чтобы вычислить интеграл по формуле трапеций в Excel, необходимо
выполнить следующие действия:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Ввести в ячейку A1 текст n=.
Ввести в ячейку B1 число 10.
Ввести в ячейку A2 текст a=.
Ввести в ячейку B2 число 0.
Ввести в ячейку A3 текст b=.
Ввести в ячейку B3 число 3,2.
Ввести в ячейку A4 текст h=(b-a)/n.
Ввести в ячейку B4 формулу =(B3-B2)/B1.
Заполнить диапазон ячеек A6:D6 следующим образом:
10. Ввести в ячейку A7 число 0.
11. Ввести в ячейку A8 формулу =A7+1, скопировать эту формулу методом
протягивания в диапазон ячеек A8:A17.
12. Ввести в ячейку B7 число 0.
13. Ввести в ячейку B8 формулу =B7+$B$4, скопировать эту формулу методом
протягивания в диапазон ячеек B8:B17.
14. Ввести в ячейку C7 формулу =КОРЕНЬ(B7^4-B7^3+8), а в ячейку C17 формулу
=КОРЕНЬ(B17^4-B17^3+8).
15. Ввести в ячейку D8 формулу =КОРЕНЬ(B8^4-B8^3+8), скопировать эту формулу
методом протягивания в диапазон ячеек D8:B16.
16. Ввести в ячейку B18 текст суммы:.
17. Ввести в ячейку C18 формулу =СУММ(C7;C17).
18. Ввести в ячейку D18 формулу =СУММ(D8:D16).
19. Ввести в ячейку A19 текст интеграл=.
20. Ввести в ячейку 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, необходимо
выполнить следующие действия:
1. Ввести в поле ввода в одной строчке через какое-либо расстояние следующие
выражения: a:=0, b:=3.2, n:=10.
2. В следующей строчке ввести формулу с клавиатуры h:=(b-a)/n (обратить внимание
на то, что в поле ввода данное выражение сразу преобразуется к стандартному
виду).
3. Рядом вывести значение данного выражения, для этого набрать с клавиатуры: h=.
4. Ниже ввести формулу для вычисления подинтегральной функции, для этого с
клавиатуры набрать f(x):=, затем открыть панель инструментов "Арифметика",
либо воспользовавшись значком , либо следующим способом:
После этого, на панели инструментов "Арифметика" выбрать "Квадратный
корень": , затем в появившемся темном квадрате ввести выражение с клавиатуры
x^4-x^3+8, перемещение курсора осуществляется стрелками на клавиатуре
(обратить внимание на то, что в поле ввода данное выражение сразу
преобразуется к стандартному виду).
5. Ниже ввести выражение s1:=(f(a)-f(b))/2.
6. Ниже ввести выражение simps(a,b,n,h,s1):=.
7. Затем выбрать панель инструментов "Программирование" (либо: "Вид"-"Панели
инструментов"-"Программирование", либо: значок ).
8. На панели инструментов "Программирование" добавить две строки программы:
, затем поставить курсор в первый темный прямоугольник и ввести s2
присвоить 0 (присвоение осуществлять кнопкой "Локальное присвоение" на панели
"Программирование":
), а в следующем темном прямоугольнике ввести s3
присвоить 0.
9. Затем поставить курсор в следующий темный прямоугольник и добавить еще одну
строку программы, после этого вернуть курсор в этот же прямоугольник и на
панели инструментов "Программирование" выбрать "for":
10. В полученной строке, после слова for, встать курсором в первый из
прямоугольников и набрать i.
11. Затем выбрать панель инструментов "Матрицы" (либо: "Вид"-"Панели
инструментов"-"Матрицы", либо: значок ).
12. Поставить курсор в следующий темный прямоугольник и на панели инструментов
"Матрицы" нажать:
, где набрать в двух появившихся прямоугольниках
соответственно: 1 и n.
13. Поставить курсор в нижестоящий темный прямоугольник и дважды добавить
строку программы.
14. После этого вернуть курсор в первый из появившихся прямоугольников и нажать
на панели "Программирование" кнопку
, в темном прямоугольнике перед if
набрать с клавиатуры s2 присвоить s2+f(a+i*h), а в прямоугольнике после if
вставить функцию mod ("Вставить"-"Функция"-"mod"), где в появившихся темных
квадратах набрать соответственно i, 2, а после первых скобок на панели
инструментов "Булево" ("Вид"-"Панели инструментов"-"Булево") нажать , а
затем после этого набрать 0.
15. Поставить курсор в следующий темный прямоугольник и нажать на панели
"Программтрование"
, затем набрать в появившемся прямоугольнике с
клавиатуры s3 присвоить s3+f(a+i*h).
16. Поставить курсор в следующий темный прямоугольник, где набрать a присвоить
(кнопка "Локальное присвоение") x1.
17. В следующем темном прямоугольнике добавить строку программы, где в первом
из полученных прямоугольников набрать с клавиатуры I1 присвоить
2*h*(s1+2*s2+s3)/3.
18. В последнем темном прямоугольнике набрать I1.
19. Ниже ввести simps(a,b,n,h,s1) и нажать знак =.
20. Для того, чтобы отформатировать ответ, нужно дважды щелкнуть по полученному
числу и указать число десятичный мест - 5.
В итоге получаем:
Ответ: значение заданного интеграла равно 13,43192.
Для того, чтобы вычислить интеграл по формуле Симпсона в Excel, необходимо
выполнить следующие действия:
1.
2.
3.
4.
5.
6.
7.
8.
9.
Ввести в ячейку A1 текст n=.
Ввести в ячейку B1 число 10.
Ввести в ячейку A2 текст a=.
Ввести в ячейку B2 число 0.
Ввести в ячейку A3 текст b=.
Ввести в ячейку B3 число 3,2.
Ввести в ячейку A4 текст h=.
Ввести в ячейку B4 формулу =(B3-B2)/B1.
Заполнить диапазон ячеек A6:D6 следующим образом:
10. Ввести в ячейку A7 число 0.
11. Ввести в ячейку A8 формулу =A7+1, скопировать эту формулу методом
протягивания в диапазон ячеек A8:A17.
12. Ввести в ячейку B7 число 0.
13. Ввести в ячейку B8 формулу =B7+$B$4, скопировать эту формулу методом
протягивания в диапазон ячеек B8:B17.
14. Ввести в ячейку C7 формулу =КОРЕНЬ(B7^4-B7^3+8), а в ячейку C17 формулу
=КОРЕНЬ(B17^4-B17^3+8).
15. Заполнить нижеприведенные ячейки:
16. Ввести в ячейку C18 формулу =(C7-C17)/2.
17. Ввести в ячейку D18 формулу =2*D8+2*D10+2*D12+2*D14+2*D16.
18. Ввести в ячейку E18 формулу =E9+E11+E13+E15+E17.
19. Ввести в ячейку A19 текст интеграл=.
20. Ввести в ячейку 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», или что-то типа того, который вы
можете изменить на ноль, что будет указывать на блокировку представления данных из
этой строки.
Download